Skip to main content
When a call that went live ends, we send a POST to the agent’s webhook endpoint, signed like a tool call.

Body

string
required
Always call.ended.
object
required
object[]
required
The conversation, in order. Each line has a role, agent or user (the caller), and its text. When the caller interrupted, the agent’s line has only the part they heard.

endedReason

Other values mean the connection dropped during the call.

Delivery

  • Sent once per call, only for calls that went live. Not retried.
  • Reply with a 2xx within 10 seconds.
  • Each call’s Webhook status in the dashboard shows the HTTP status you returned, or Couldn’t reach it.

Example receiver