This integration is available from Integrations > Zendesk Messaging in Agent Studio. For ticketing-only flows (no live messaging), see Zendesk Ticketing.
Prerequisites
- A Zendesk account with Admin Center access.
- Your PolyAI project ID (for example
PROJECT-f07a975e). - Your PolyAI messaging handoff base URLs – ask your PolyAI contact for the right values for your environment (dev or prod).
1. Create the Conversations Integration in Zendesk
The Conversations Integration gives PolyAI a messaging webhook endpoint, so Zendesk can forward new messages and typing events to Agent Studio.- In Zendesk Admin Center, go to Apps and integrations > Integrations > Conversations integrations.
-
Click Create integration and name it (e.g.
PolyAI Handoff). -
On the Details tab, record the auto-generated values – you’ll paste them into Studio:
-
Set the Webhook endpoint to your PolyAI messaging handoff URL. Your PolyAI contact will provide the base domain for your environment. The URL follows this pattern, replacing
<BASE_DOMAIN>and<PROJECT_ID>: - Set Webhook version to v2.
2. Create the Ticket Status Webhook
This standalone webhook lets PolyAI react to ticket status changes (e.g. when a Zendesk agent solves the ticket).- In Admin Center, go to Apps and integrations > Webhooks > Webhooks and click Create webhook > Zendesk events.
-
Configure:
- Under Authentication, select API key and use the secret key shared with PolyAI (or generate one and pass it back to your PolyAI contact).
- On the Event subscription tab, add Status changed.
- Make sure the webhook shows Active.
3. Connect from Studio
In Agent Studio, open Integrations and click Connect on the Zendesk Messaging tile. Paste:- App ID, Integration ID, Webhook ID, Shared secret (from the Conversations Integration).
- Webhook secret key (from the Ticket Status Webhook).
- Zendesk subdomain (the part before
.zendesk.com, e.g.d3v-polyai).
4. Write the handoff function
5. Assign the function to a topic
Open the Knowledge topic that should escalate, add an Action, and selecttransfer_to_zendesk. The same function can be reused from any flow step.
6. Verify
- Conversations Integration: Trigger the topic from your widget. Confirm a new conversation appears for the configured Zendesk routing rule. Then reply from Zendesk and confirm the message lands back in the widget.
- Logs: In Zendesk, go to Apps and integrations > Integrations > Logs to see events delivered to the PolyAI endpoint.
- Ticket Status Webhook: Change a ticket’s status in Zendesk and check the webhook’s Activity tab for a successful
200response.

