Call webhooks: problems and fixes
Last updated: 9 October 2026 · 7 min read
Common situations with call webhooks, and what causes them.
Steps
-
1
No call event arrives at all
Check that the events under “Calls” are ticked on the webhook (“Edit”). The address must be HTTPS and reachable from the internet. If your server answers
4xx, the delivery is not retried: look at your server's logs. On5xxor a timeout Clomni retries up to 5 attempts. -
2
The signature does not match
Compute it over the raw body as it arrived, without re-serialising the JSON. The secret is in the webhook's edit window; another webhook's secret will not match. The signed string is
<X-ChatX-Timestamp>.<body>. -
3
The same event arrives twice
It is a retry: your server did not answer in time the first time. Do not process the same
delivery_idtwice, and answer within 5 seconds. -
4
call_ended arrived, call_answered did not
The call was not answered, or
call_answeredis still on its way. The order of events is not guaranteed; order them by their time fields. -
5
duration_seconds is null
The call was not answered. Or it was answered on the phone and the phone's call log did not arrive within 10 minutes: then
duration_knownisfalse. The log is only sent for numbers linked by QR after 22 September 2026; linking an older number by QR again helps. -
6
No call_recording_ready
Only WhatsApp (QR) calls placed from the dashboard and the app, and WhatsApp Business API calls recorded in the browser, have a recording. A call answered on the phone and a Twilio call have none.
-
7
summary is null or phone_number is empty
A summary is made only for conversations longer than 10 seconds; if it cannot be made it is
null, and thetranscriptstill comes. Ifcontact.phone_numberis empty, the customer does not show their number on WhatsApp: identify them bycontact.id.