How to create a Shopware 6 integration and API key for Zendesk
By Jake Marsh · Updated
To connect Shopware 6 to Zendesk, create a role named "Creelwell" under Settings > System > Users & permissions > Roles with Orders and Customers set to Viewer, then add an integration under Settings > System > Integrations > Add integration with Administrator off and that role selected. Copy the Access key ID (starts with SWIA) and the Secret access key, and paste both into Creelwell's settings in Zendesk.
Steps
- Create the role. In the Shopware Administration, go to Settings > System > Users & permissions > Roles > Create role and name it "Creelwell".
- Tick the permissions in the first table below on the Permissions tab.
- Check the detailed privileges in the second table on the Detailed privileges tab. Viewer and Editor tick most of them already.
- Create the integration. Go to Settings > System > Integrations > Add integration. Name: "Creelwell for Zendesk". Administrator: off. Role: Creelwell.
- Copy both keys. The Access key ID starts with SWIA. Shopware shows the Secret access key only once; if you lose it, generate a new one on the same integration.
- Fill in Creelwell's settings in Zendesk: Shop domain (the Administration's host, lowercase, like
shop.example.com, no https://, no path), Base path only for a sub-folder install like/shop(never/apior/admin), the Integration access key ID and the Integration secret access key. - Open a ticket from a customer. Their orders show in the sidebar.
Permissions tab
| Area | Tick | Why |
|---|---|---|
| Orders | Viewer | Read orders, items, deliveries, payments, refunds |
| Customers | Viewer | Find customer accounts and guest records by email |
| Orders | Editor (only for actions) | State changes, internal comments, tracking codes |
Detailed privileges tab
| Privilege | Needed for |
|---|---|
sales_channel read | Sales channel names in the sidebar |
state_machine_history read | The state history with its comments |
state_machine, state_machine_state read | Offering only the transitions your shop allows |
order_transaction_capture, order_transaction_capture_refund read | Showing what was captured and refunded |
order_transaction_capture_refund create and update | Refunds, only if you allow them |
order_refund.editor | Refunds, only if you allow them |
Don't give the role access to integrations, users or roles. If the integration can read integrations, Creelwell treats it as an administrator and won't use it. For a view-only sidebar, leave out Orders: Editor and the refund privileges, and turn the actions off in Creelwell.
Which key to use
| Key | Starts with | Works with Creelwell? |
|---|---|---|
| Integration access key | SWIA | Yes |
| Sales channel access key | SWSC | No: Store API only |
| A user's own access key | SWUA | No: that user's full rights |
How the secret is protected
The secret access key is a Zendesk secure setting that can travel only in the body of the sign-in request, and Zendesk only sends it to the shop domain you entered. Shopware answers with an access token that lasts 10 minutes (unless you changed shopware.api.access_token_ttl), kept in memory only. To cut access at once, delete the integration in Shopware.
Error messages and fixes
| The sidebar says | Do this |
|---|---|
| "is not an integration access key ID", "belongs to a sales channel" or "to an Administration user" | Use the access key ID of an integration (SWIA...) |
| "did not accept the integration's access key ID and secret access key" | Generate a new secret on the integration and paste it |
| "has administrator rights, so Creelwell will not use it" | Turn Administrator off and pick the Creelwell role |
| "is missing a permission this needs (order:update)" | Add the named privilege to the role. The access key stays the same |
| "has no Shopware Admin API at ..." | Check the shop domain and base path |
| "Zendesk did not send the sign-in request" | The shop domain must be exactly the host, lowercase, no https:// |
| "No answer from ... through Zendesk" | The shop is down or blocks Zendesk's IP ranges (Zendesk's IP list) |
What it costs
Creelwell for Shopware is $9 per agent per month on the Standard plan, billed monthly by Zendesk, with a 14-day trial; Zendesk asks for a card at install. Every setting is in the Creelwell documentation.
Creelwell for Shopware
Shopware 6 orders on the ticket: refunds, state changes, comments and tracking, all logged. $9 a month per agent.
Questions
Do I need to install a Shopware plugin?
No. Creelwell uses Shopware's Admin API with the integration you create. Nothing is installed in Shopware.
I lost the secret access key. Can I see it again?
No. Generate a new secret on the same integration and paste it into Creelwell.
Can I add permissions later without a new key?
Yes. Add privileges to the Creelwell role; the access key stays the same.
Which Shopware versions work?
Shopware 6, with 6.5 or later recommended. Refunds need 6.4.12 or later and internal comments need 6.6 or later.
More Creelwell for Shopware guides
- How to change a Shopware order status from Zendesk
- How to refund a Shopware 6 order from a Zendesk ticket
More Zendesk guides
- How to create a Zendesk ticket every month on a set day (Everytide)
- How to cancel a VTEX order from a Zendesk ticket (Feirawell for VTEX)
- How to change a HubSpot lifecycle stage from Zendesk (Clientwell)
- How to import old emails into Zendesk as tickets (Ferrywell)