Zoho CRM Connector¶
This plugin connects your Shopware 6 store with Zoho CRM and bridges the gap between your online store and your sales team. New customers are automatically created as contacts, business customers additionally as an account, orders are mapped as deals 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 Zoho CRM
- 🏢 B2B customers with a company name are created as a Zoho account
- 💼 Every order automatically creates a deal in your pipeline
- 🔔 Payment, shipping and cancellation are logged as activities
- 🔐 Secure OAuth 2.0 connection without manual API keys
- 📊 Sync dashboard with error log and manual sync button
❓ FAQ¶
What is Zoho CRM?
Zoho CRM is a widely used CRM and sales platform. Its official Zoho CRM REST API lets you create and update contacts, accounts, deals and activities automatically. To use it you need an active Zoho CRM account.
Which data is synchronized with Zoho CRM?
New customers are created as a contact, and for business customers (B2B) additionally as an account. Every order becomes a deal in the configured pipeline. Status changes such as payment, shipping or cancellation are logged as activities on the corresponding deal.
How is the connection to Zoho established?
The connection uses OAuth 2.0 – secure and without manual API keys. In the Zoho API Console you create an OAuth client, store the client ID and secret in the plugin, and authorize access once. The matching Zoho region (EU, COM, IN, AU) can be selected.
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 (e.g. registration, order placement, payment) are sent to Zoho CRM.
What does bidirectional synchronization mean?
Changes in Zoho CRM – such as marking a deal as "won" – can optionally flow back into Shopware and, for example, update the customer group. This reverse direction can be switched off.
What happens if a transfer fails?
Every transfer is logged with its status in the sync dashboard. Failed transfers appear in the error log and can be retried manually.
Is the plugin GDPR compliant?
All transferred data stays in your own Zoho instance. The connection uses only the official Zoho 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 Zoho side you need an active CRM account and an OAuth client (client ID & secret).
🔧 Installation¶
- Requirement: CNK Foundation plugin (version 3.0.4 or later)
- Requirement: active Zoho CRM account with an OAuth client
- Install via the Shopware Plugin Manager or with Composer
- Activate the plugin:
bin/console plugin:install --activate CnkPlatformZohoCrm - Configure it in the Shopware administration
⚙️ Configuration¶
OAuth access¶
| Setting | Description |
|---|---|
| Zoho region | Data center of your Zoho account: EU (.eu), COM (.com), IN (.in), AU (.com.au) |
| Client ID | Client ID of the OAuth client from the Zoho API Console |
| Client secret | Corresponding secret of the OAuth client |
| Connect to Zoho | Button that starts the OAuth 2.0 authorization flow and confirms the connection in the admin |
Create the OAuth client in the Zoho API Console (api-console.zoho.eu) as a "Server-based Application". The redirect URL shown in the plugin must be registered there as an authorized redirect.
Deal & pipeline mapping¶
| Setting | Description | Default |
|---|---|---|
| Target pipeline | Dropdown of the pipelines/layouts available in Zoho | default pipeline |
| Start stage | Stage in which new deals are created | first stage |
| Deal title pattern | Pattern for the deal title (e.g. Order {orderNumber}) | Order {orderNumber} |
| Deal value | Use the order total as the deal value | On |
Event selection¶
| Setting | Description | Default |
|---|---|---|
| Create contact | Transfer new customers as a contact (+ account for B2B) | On |
| Order → deal | Create a deal 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 deal status from Zoho 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 Zoho CRM:
- 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 Zoho ID and updated (no duplicate)
Deal creation¶
Every order creates a deal in the configured pipeline:
- The deal is assigned to the corresponding contact/account
- Title and value are set according to the configuration
- The Zoho deal ID is stored on the Shopware order to prevent duplicates
Status activities¶
Order status changes are logged as activities on the deal – such as "payment received", "shipped" or "cancelled". This gives the sales team the complete history directly in Zoho CRM.
Bidirectional synchronization (optional)¶
When the reverse direction is enabled, regular syncs evaluate changes in Zoho. Example: when a deal is marked as "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, deals, activities)
- Status per transfer (successful / failed)
- Error log with the detailed message from the Zoho API
- Manual sync button to retry individual or failed transfers
🛒 Typical use cases¶
B2B sales¶
Business customers are managed as an account with linked contacts in Zoho. Every order lands as a deal in the pipeline and gives sales immediate insight into purchasing behavior.
Wholesale & mid-market¶
Recurring orders create traceable deals including an activity history. The sales team can run targeted cross- and up-selling.
Lead nurturing¶
New registrations are created as contacts and can be qualified further in Zoho even before the first order is placed.
⭐ Benefits for merchants¶
- No manual transfer of customers and orders into the CRM
- Sales team works consistently in Zoho CRM – with real-time store data
- Secure OAuth 2.0 connection without manual API keys
- Full traceability thanks to Zoho IDs in Shopware
- GDPR compliant: data stays in your own Zoho instance
🧩 Feature set¶
- Create customers as a contact and – for B2B – as an account
- Create deals from orders in the configurable pipeline
- Log payment, shipping and cancellation as activities
- Optional bidirectional synchronization (deal status → customer group)
- Sync dashboard with error log and manual retry
- Secure OAuth 2.0 connection incl. Zoho region selection
- Freely configurable event selection
- Error logging via Shopware logging
📚 Documentation¶
Additional documentation and screenshots will follow with upcoming versions of the plugin.
Technical Zoho CRM API documentation: https://www.zoho.com/crm/developer/docs/api/v6/