Hello Everyone,
Is there anyone here who has worked on integration with Zendesk (SIP Header → X-Zendesk-Ticket-Id)
Currently, I’m struggling with an issue. I have a very simple bot that only transfers customers toa human agent in Zendesk.
Configuration of transfer call using SIP:
sip:support@domain-zendesk.sip.twilio.com
(transfers work, but I have two tickets that are not linked to each other)
Also, I created a ticket in Zendesk on the call_started event.
{
“subject”: “Call from {{ $(‘Webhook’).item.json.body.call.from_number }}”,
“comment”: {
“body”: “A call has started via Retell AI.\nCaller: {{ $(‘Webhook’).item.json.body.call.from_number }}”
},
“tags”: [“retell”, “voice-ai”, “inbound-call”],
“requester_id”: 44999159080347, (test account)
“via_id”: 34
}
Once the ticket is created, I have ticket_id, which then I link to SIP Header → X-Zendesk-Ticket-Id, which should be included during call transfer to Zendesk. Based on the logs in Call History:
2026-01-02 10:31:30.114 call_a10e6d197a63a94e82bf5c1555c info: custom sip headers { ‘X-Zendesk-Ticket-Id’: ‘4607861’ }
2026-01-02 10:31:30.616 call_a10e6d197a63a94e82bf5c1555c info: transfer call result true
2026-01-02 10:31:30.617 call_a10e6d197a63a94e82bf5c1555c info: Received result for tool: 4a00e51d192a8254 transfer_call
Result: {“status”:“transferred successfully”}
It should work fine. But according to the received information from Zendesk, something is wrong.
What they recommend
-
Confirm the canonical ticket ID returned by the API when the AI agent creates the ticket — use that exact numeric value.
-
Ensure the exact numeric ticket ID is added to the SIP header in the SIP request that reaches Zendesk (INVITE/transfer). Example: X‑Zendesk‑Ticket‑Id: 4593001 — no quotes, prefixes, or extra whitespace. (Based on the log above, could you please confirm that such a SIP header is ok: { ‘X-Zendesk-Ticket-Id’: ‘4607861’ } or should it be: { ‘X-Zendesk-Ticket-Id’: 4607861 }
-
Verify the header is applied before/at the transfer and not altered by any intermediate proxy (e.g., Twilio). Capture the SIP INVITE that reaches Zendesk to confirm the header and value. - My number was bought and defined in Retell. Is there any way to check deeper logs than those shared on public S3? I want to be sure that Twilio hasn’t removed Header.
-
Check that the SIP request arrives from an IP in the SIP‑IN allowlist so Zendesk will accept and link the header.
-
If you want, have the AI set the header to the exact create-ticket response immediately after creation (avoid timing/race conditions).
Could you please advise?