How webhooks work
When a call event occurs, OneInbox sends an HTTP POST to your server with the event payload. Your server must respond with2xx within a few seconds — if it doesn’t, OneInbox retries delivery.
Setting up a webhook means you don’t need to poll GET /v1/calls/<id> repeatedly. OneInbox pushes the data to you the moment the event fires.
Create a webhook
Set up a webhook by providing a URL on your server and the events you want to receive. OneInbox will send a POST request to that URL every time one of those events fires.id — you’ll need it to update or delete the webhook.
Supported events
| Event | When it fires |
|---|---|
call.started | Call connects and the agent begins the session |
call.ended | Call ends — agent or caller hung up |
transcript.final | Full transcript is ready (fires after call.ended) |
Event payloads
call.started
Fires when a call connects and the agent starts the session. Use this to log call start times or trigger “call in progress” updates in your CRM.
call.ended
Fires when a call ends. This payload includes the AI-generated outcome and summary — the most commonly used event for CRM updates, lead routing, and reporting.
transcript.final
Fires after call.ended once the full transcript is ready. Use this when you need the complete message-by-message conversation log — for example, to log it in your database or send it to a CRM.
Test a webhook
Send a test delivery to confirm your server is receiving events correctly before going live:2xx.
Per-call webhook override
You can send events for a specific call to a different URL without changing your global webhook config. This is useful when you’re routing different campaigns or batches to separate downstream systems — for example, one URL for inbound calls and another for outbound. Passwebhook_url when creating the call:
webhook_url instead of (or in addition to) any global webhooks you have configured.
Manage webhooks
List all webhooks
Retrieve all webhooks in your account. Use this to find a webhook’sid when you need to update or delete it.
Update a webhook
Change the URL, name, or the list of events a webhook listens for. For example, update the events array to start receivingtranscript.final in addition to call.ended.