Skip to main content

How webhooks work

When a call event occurs, OneInbox sends an HTTP POST to your server with the event payload. Your server must respond with 2xx 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.
Save the id — you’ll need it to update or delete the webhook.

Supported events


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.

call.analyzed

Fires after the call ends once the AI has finished generating the summary and outcome. Use this to trigger CRM updates or lead routing based on the call result.

call.failed

Fires when a call fails to connect. Use this to log failures, trigger retries, or alert your team.

call.recording.available

Fires when the call recording has been processed and is ready to access. Use this to store or share recordings after a call.

transcript.partial

Fires during an active call with a partial transcript update. Use this for real-time monitoring or live agent assist — note that partial transcripts may change as the call continues.

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:
Your server should receive a test POST with a sample payload. Check your server logs to confirm it arrives and that your endpoint returns 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. Pass webhook_url when creating the call:
The events for this call go to 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’s id when you need to update or delete it.

Update a webhook

Change the URL, name, events, or status of a webhook.

Delete a webhook

Remove a webhook permanently. OneInbox will stop sending events to that URL immediately.

View delivery history

Retrieve the delivery-attempt log for a webhook — useful for verifying that a specific event reached your server or diagnosing failures. Returns most-recent attempt first; each row includes response_status, response_body, and error.

API reference

Create webhook · List webhooks · Update webhook · Test delivery