Webhook
Use webhooks to receive real time events for your call.
call
property. The data
property is being
deprecated.Overview
Webhooks in Retell AI provide a powerful way to respond to events within your account in real-time. By setting up webhooks, your applications can immediately react to specific actions or changes, enhancing the interactivity and responsiveness of your integrations.
Types of Webhook Events
Currently, Retell AI supports the following webhook event types:
call_started
: Triggered when a call starts.call_ended
: Triggered when a call ends, transferred, or errors out. The event payload includes details like the call transcript, timestamps, and other relevant information.- You can use
disconnection_reason
to determine the call’s end reason (hangup, or call transferred, or error).
- You can use
call_analyzed
: Triggered whencall_analysis
object is populated in call return object.
Use Case Example
Consider the call_ended
event. This event is triggered when a call in your Retell AI account ends.
By listening to this event, you can capture important call details like phone numbers and transcripts and perform custom actions such as logging or data analysis.
Register Webhook
We offer two types of webhooks: Agent-Level and Account-Level, designed to streamline your event notification process. Here’s a brief on each:
Account-level webhooks
Set up through the dashboard’s webhooks tab, these webhooks notify you of events related to any agent under your account. Specify your webhook URL in the dashboard’s webhooks tab to activate.
Agent-level webhooks
When you create the agent, you can set webhook_url
field.
Any event associated with that agent will be pushed to the agent webhooks url. If set, account level webhooks url will not be triggered for that agent.
Handle Webhook
After registering the webhook, you would want to verify the webhook is from Retell and handle it.
Webhook Payload
The webhook will be POST
to the URL you provided with a JSON payload.
The payload will contain the event type and the call detail associated with the event.
It will contain a x-retell-signature
header to help you verify the webhook comes from Retell.
call
property. The data
property is being
deprecated.Sample Payload
The call
field in the webhook payload contains the call details. It’s the same content
you would receive when you fetch the call details using the get-call API.
Verifying Webhook
You can use the x-retell-signature
header together with your Retell API Key to verify the webhook.
We have provided
verify function in our SDKs to help you with this.
You can also check and allowlist Retell IP addresses: 100.20.5.228
.
The following code snippets demonstrate how to verify and handle the webhook in Node.js and Python.
Sample Code
Testing Locally
To test webhooks on your local machine, you can use ngrok to generate a production url forwarding requests to your local endpoints.
Privacy
Choosing to “Opt-Out of Personal and Sensitive Data Storage” means transcripts and recordings post-call won’t be stored.
However, transcripts and recording remain accessible via webhooks, allowing for alternative storage
solutions on your end.
The recording will also be available in the recording_url
field.
The link will be accessible for 10 minutes and will be
deleted and become inaccessible after 10 minutes.
Was this page helpful?