Webhooks

Call Lifecycle Event

Fired for post-call lifecycle events on an agent identity with an active call-lifecycle subscription. Covers call.ended, delivered once after a connected call terminates. The request body uses the standard {event_type, timestamp, data} envelope with data.call, data.contacts, data.agent_identities, and data.transcript_url. data.transcript (an abridged, middle-cut copy) is present only when the call has a persisted transcript; data.transcript_url is always present and authoritative. Unlike the synchronous phone.incoming_call callback, this is fire-and-forget and replayable: the response status is logged but does not affect call processing.

If your organization has a signing key, every webhook includes three headers:

  • X-Inkbox-Request-ID — UUID for deduplication.
  • X-Inkbox-Timestamp — Unix timestamp in seconds.
  • X-Inkbox-Signaturesha256={HMAC-SHA256 hex digest} over {request_id}.{timestamp}.{raw_body}.
postWebhook/phone-call-lifecycle

Payload

idstring required

Stable per-event id (evt_...); idempotency key, stable across replays.

event_type'call.ended' required
timestampstring date-time required

ISO 8601 timestamp of when the event occurred.

Response

Successful Response

{"stackTrail":"webhooks:/phone-call-lifecycle:post:responses:200:content:application/json:schema","oasType":"schema","type":"unknown"}

Changes