Available Webhooks
Complete reference of all webhook events available in Ultravox.
Ultravox offers several webhook events that you can subscribe to for real-time notifications. Each event provides detailed information about what happened in your account.
Available Events
The following events are available and can be specified when creating or updating a webhoook.
event | description |
---|---|
call.started | Fired when a call starts. |
call.ended | Fired when a call ends. |
call.joined | Fired when a call is joined. |
Event Payload Reference
All webhooks follow a consistent structure. The payload always includes:
- event: The type of event that triggered the webhook.
- call: Complete call object matching our API response format.
Event Name
The event
field contains the exact event name you subscribed to:
"call.started"
"call.ended"
"call.joined"
Call Object
The call
object contains the complete call definition, identical to what you’d receive from the Get Call API endpoint. This ensures consistency across your application whether you’re receiving webhook data or making API requests.
Key call object fields:
callId
: Unique call identifiercreated
: Timestamp when call was createdjoined
: Timestamp when call was joinedended
: Timestamp when call was endedshortSummary
: Short summary of the callmetadata
: Custom metadata you’ve associated with the call
See the Call definition schema for the complete list of fields.
Webhook Configuration
When creating or updating a webhook, specify which events you want to receive:
HTTP Requirements
Your webhook endpoint must meet these requirements:
Accept POST Requests: All webhooks are sent as HTTP POST requests.
Return 2xx Status: Return any 2xx status code (we recommend 204) to acknowledge receipt.
Respond Quickly: Respond quickly to avoid timeouts.
Handle JSON: Parse the JSON payload from the request body.
Error Responses
If your endpoint returns a non-2xx status code (e.g. 4xx or 5xx), Ultravox will retry delivery. See Error Handling & Retries for more details.
Testing Webhooks
During development, consider using tools like:
- ngrok: Expose local development servers to receive webhooks
- webhook.site: Test webhook payloads without writing code
- Postman: Mock webhook endpoints for testing
Remember that webhook events reflect real activity in your Ultravox account, so test carefully to avoid processing duplicate or test data in production systems.