Skip to main content
A call webhook sends each call’s events to an HTTPS endpoint on your server: when the call starts, every turn, when it ends, and a summary afterward. Use it to log calls or trigger follow-up work.

Add a webhook

  1. Open the agent and go to Advanced.
  2. Under Context, click Add webhook next to Post-call webhooks.
  3. Enter a Name, the URL, and an Authentication Secret of your choice.
  4. Click Add.
The webhook applies to new calls right away, without Publish.
Context group on the Advanced page with Post-call webhooks and Time zone settings

Post-call webhooks on the Advanced page.

An agent has one webhook, and it receives every event type. Several agents can share a webhook.

Verify requests

Each request is a POST with Content-Type: application/json and an X-Webhook-Secret header containing the secret you set. Reject requests where the header doesn’t match.

Events

Ignore event types you don’t handle; Cartesia may add more.

Payload

Every event shares these fields: The events above also carry one detail object:
  • call on call_started, call_completed, and call_failed: the full call, the same object Get Call returns. end_reason is also set on the last two.
  • turn on call_turn: role, text, start_timestamp, end_timestamp, was_interrupted, and, on turns that invoke tools, tool_calls with each call’s name, arguments, and result.
  • analysis on post_call_analysis: summary.
call_turn