Salesforce CRM Connector¶
This plugin connects your Shopware 6 store with the world's leading CRM platform Salesforce. New customers are automatically created as contacts and accounts, orders are mapped as opportunities in your sales pipeline, and all status changes are logged as activities – in real time, fully automatically and with no manual effort.
Highlights
- 👤 Automatically create customers as a contact in Salesforce
- 🏢 B2B customers with a company name are created as a Salesforce account
- 💼 Every order automatically creates an opportunity in your pipeline
- 🔔 Payment, shipping and cancellation are logged as activities
- 🔐 Secure OAuth 2.0 connection via a Salesforce Connected App
- 🧪 Sandbox support – test safely before going live
❓ FAQ¶
What is Salesforce?
Salesforce is the world's leading CRM platform. Its Salesforce REST API lets you create and update contacts, accounts, opportunities and activities automatically. To use it you need an active Salesforce account with API access.
Which data is synchronized with Salesforce?
New customers are created as a contact, and for business customers (B2B) additionally as an account. Every order becomes an opportunity in the configured pipeline. Status changes such as payment, shipping or cancellation are logged as activities on the corresponding opportunity.
How is the connection to Salesforce established?
The connection uses OAuth 2.0 with a Salesforce Connected App – secure and without sharing passwords. In Salesforce you create a Connected App, store the consumer key and secret in the plugin, and authorize access once.
Is the Salesforce Sandbox supported?
Yes. You can safely test the integration against your Salesforce Sandbox (test.salesforce.com) first and only switch to production (login.salesforce.com) after a successful check.
Does synchronization run automatically?
Yes. Transfer runs event-based in real time via the Shopware event/flow infrastructure. In the plugin settings you decide which Shopware events are sent to Salesforce.
What does bidirectional synchronization mean?
Changes in Salesforce – such as an opportunity moving to "Closed Won" – can optionally flow back into Shopware and, for example, update the customer group. This reverse direction can be switched off.
Is the plugin GDPR compliant?
All transferred data stays in your own Salesforce instance. The connection uses only the official OAuth access authorized by you.
What are the requirements?
The plugin requires the CNK Foundation plugin (version 3.0.4 or later) and Shopware 6.7. On the Salesforce side you need an active account with API access and a Connected App.
🔧 Installation¶
- Requirement: CNK Foundation plugin (version 3.0.4 or later)
- Requirement: active Salesforce account with a Connected App
- Install via the Shopware Plugin Manager or with Composer
- Activate the plugin:
bin/console plugin:install --activate CnkPlatformSalesForceConnector - Configure it in the Shopware administration
⚙️ Configuration¶
OAuth access (Connected App)¶
| Setting | Description |
|---|---|
| Environment | Production (login.salesforce.com) or Sandbox (test.salesforce.com) |
| Consumer key | Consumer key of the Salesforce Connected App |
| Consumer secret | Corresponding secret of the Connected App |
| Connect to Salesforce | Button that starts the OAuth 2.0 authorization flow and confirms the connection in the admin |
Create the Connected App in Salesforce under Setup → App Manager → New Connected App with OAuth settings enabled. The callback URL shown in the plugin must be registered there as an authorized redirect URL.
Opportunity & pipeline mapping¶
| Setting | Description | Default |
|---|---|---|
| Pipeline / record type | Dropdown of the opportunity pipelines available in Salesforce | default |
| Start stage | Stage in which new opportunities are created | first stage |
| Opportunity name pattern | Pattern for the name (e.g. Order {orderNumber}) | Order {orderNumber} |
| Amount | Use the order total as the opportunity amount | On |
Event selection¶
| Setting | Description | Default |
|---|---|---|
| Create contact | Transfer new customers as a contact (+ account for B2B) | On |
| Order → opportunity | Create an opportunity when an order is placed | On |
| Payment | Log payment as an activity | On |
| Shipping | Log shipping as an activity | On |
| Cancellation | Log cancellation as an activity | On |
| Bidirectional | Mirror the opportunity status from Salesforce back to Shopware | Off |
🔄 Synchronizations in detail¶
Contact & account synchronization¶
On the selected trigger (e.g. registration or first order) the customer is created in Salesforce:
- The customer is created as a contact with name, email and phone number
- If a company is set (B2B), an account is created as well and the contact is linked
- Already transferred customers are recognized by the stored Salesforce ID and updated (no duplicate)
Opportunity creation¶
Every order creates an opportunity in the configured pipeline:
- The opportunity is assigned to the corresponding contact/account
- Name and amount are set according to the configuration
- The Salesforce opportunity ID is stored on the Shopware order to prevent duplicates
Status activities¶
Order status changes are logged as activities on the opportunity – such as "payment received", "shipped" or "cancelled". This gives the sales team the complete history directly in Salesforce.
Bidirectional synchronization (optional)¶
When the reverse direction is enabled, regular syncs evaluate changes in Salesforce. Example: when an opportunity is set to "Closed Won", the customer group of the corresponding Shopware customer can be updated automatically.
📊 Sync dashboard¶
The sync dashboard in the administration provides:
- Overview of all synchronized records (contacts, accounts, opportunities, activities)
- Status per transfer (successful / failed)
- Error log with the detailed message from the Salesforce API
- Manual sync button to retry individual or failed transfers
🛒 Typical use cases¶
Enterprise B2B sales¶
Business customers are managed as an account with linked contacts in Salesforce. Every order lands as an opportunity in the pipeline and gives sales immediate insight into purchasing behavior.
Mid-sized & large companies¶
Recurring orders create traceable opportunities including an activity history. The sales team can run targeted cross- and up-selling.
Safe onboarding via Sandbox¶
Before going live, the entire integration can be tested in the Salesforce Sandbox – with no impact on production data.
⭐ Benefits for merchants¶
- No manual transfer of customers and orders into the CRM
- Sales team works consistently in Salesforce – with real-time store data
- Secure OAuth 2.0 connection via a Connected App
- Risk-free testing thanks to Sandbox support
- GDPR compliant: data stays in your own Salesforce instance
🧩 Feature set¶
- Create customers as a contact and – for B2B – as an account
- Create opportunities from orders in the configurable pipeline
- Log payment, shipping and cancellation as activities
- Optional bidirectional synchronization (opportunity status → customer group)
- Sync dashboard with error log and manual retry
- Sandbox support for risk-free testing
- Secure OAuth 2.0 connection via a Salesforce Connected App
- Freely configurable event selection
📚 Documentation¶
Additional documentation and screenshots will follow with upcoming versions of the plugin.
Technical Salesforce API documentation: https://developer.salesforce.com/docs/apis