Webhooks allow your application to receive real-time notifications about events that occur in your Retell AI account. Instead of continuously polling our API, webhooks push data to your application as events happen, making your integrations more efficient and responsive.
Retell AI supports the following webhook events:
call_started
webhook event will not be triggered.Event Type | Description | Payload |
---|---|---|
call_started | Triggered when a new call begins | Basic call information |
call_ended | Triggered when a call completes, transfers, or encounters an error | all fields from the call object except call_analysis . |
call_analyzed | Triggered when call analysis is complete | Full call data including call_analysis object |
Real-time Analytics
System Integration
Call Monitoring
The webhook will POST
the payload to your endpoint. The webhook has a timeout of 10 seconds. If within 10 seconds no success status (2xx) is received, the webhook will be retried, up to 3 times.
The webhook will be triggered in order, but is not blocking. For example, if the webhook for call_started
is not successful, we can still trigger call_ended
webhook.
When the call did not connect (like calls with dial_failed
, dial_no_answer
, dial_busy
disconnection reason), it will not have its call_started
webhook triggered. It will still have its call_ended
and call_analyzed
webhook triggered.
The webhook will contain the event type and the call object. Here’s a sample payload:
If metadata and retell_llm_dynamic_variables are not provided, they will be omitted from the webhook event payload.
We expect a successful status code (2xx) to be returned. No body is expected.
See community templates in docs