Setting the endpoint
In the dashboard: Settings → AI calling → API & webhooks → Webhook. Enter the URL and save. Or with the API:whsec_…). It is shown once: store it with your other secrets. Your server uses it to verify every delivery.
Requirements for the URL:
https://, with a valid certificate;- a public address (private, loopback and link-local addresses are refused);
- no username or password in the URL; redirects are not followed.
Events
Each call produces exactly one of
call.completed or call.not_connected. See Event payloads.
Responding
- Answer with any
2xxstatus within 10 seconds. Do the real work (updating your CRM, sending a message) after you respond, or in a background job. - Any other status, a timeout or a connection error counts as a failure, and the event is retried.
Retries
A failed delivery is retried after 1 minute, 5 minutes, 30 minutes, 2 hours and 6 hours: six attempts over about 9 hours. After that, the event is dropped, but the call is still there:GET /v1/calls/{id} returns the same data.
Because of retries, your endpoint may see the same event more than once. Every attempt carries the same id (also in the Telleo-Event-Id header). Store the ids you have handled and skip repeats.