Call webhooks: delivery, retries and duplicates
Last updated: 9 October 2026 · 4 min read
Clomni sends each call event to your address and waits for your answer. If a delivery fails, it is sent again a few times.
Steps
-
1
How to answer
Answer with
2xxwithin 5 seconds. Do the slow work (writing to the CRM, downloading the recording) after answering, in your own queue. -
2
When a delivery is retried
Clomni sends the delivery again when:
- your server cannot be reached;
- no answer comes within 5 seconds;
- the answer is
429or5xx.
There are 5 attempts in all, 30 seconds, 1, 2 and 4 minutes apart. A
4xxanswer (for example400,401,404) is taken as final and is not retried. -
3
Spotting a duplicate
A retried delivery keeps its
delivery_id, and theX-ChatX-Deliveryheader carries the same value. Remember it: if the samedelivery_idarrives again, it is a duplicate, do not process it. The pairid+eventis also unique per call and works the same way. -
4
After 5 attempts
If all 5 attempts fail, that event is lost. That is why
call_endedcarries everything about the call again: even withoutcall_startedyou can record the whole call fromcall_ended. Store the call byidand update it on each event.