call.supervision.started
Fires when the supervisor answers and joins a live call in listen, whisper or barge mode.
call.supervision.started fires when the supervisor answers and is on the call in the requested mode. From this moment they hear both sides, and the supervisor leg is billed until the supervision ends.
This event is subscribable as a workspace webhook: add call.supervision.started to the events of a subscription created with Create a webhook. Supervision events are subscribed by name; there is no call.supervision.* wildcard. Delivery is at least once, so deduplicate on the X-Sautikit-Event-Id header.
The body is flat. The event kind travels in the X-Sautikit-Event-Kind header.
{
"workspace_id": "01900000-0000-7000-8000-000000000002",
"call_id": "9d2b1f53-8c0e-4f1d-9a6b-5d3a8c47e9f0",
"session_id": "HD_24d73b4518bc",
"supervision_id": "0f6d3c1e-5a8b-4c2d-9e7f-1a2b3c4d5e6f",
"mode": "listen",
"supervisor": {
"type": "client",
"identity": "mary",
"label": "Mary Wanjiku"
},
"occurred_at": "2026-09-30T09:15:04Z",
"connected_at": "2026-09-30T09:15:04Z"
}Every supervision event carries workspace_id, call_id (the supervised call's UUID), session_id (its HD_ session id), supervision_id, mode, supervisor (type, then identity for client and sip or number for phone, and label when you set one) and occurred_at.
| Field | Type | Description |
|---|---|---|
connected_at | string (RFC 3339) | When the supervisor answered. Billing for the supervisor leg starts here. |
| Header | Description |
|---|---|
X-Sautikit-Event-Id | UUID of the event. Use it to deduplicate. |
X-Sautikit-Event-Kind | call.supervision.started |
X-Sautikit-Delivery-Id | UUID of this delivery. |
X-Sautikit-Attempt | Attempt number, starting at 1. |
X-Sautikit-Timestamp | Unix time the delivery was signed. |
X-Sautikit-Signature | t=<timestamp>,v1=<hex HMAC-SHA256>. See Verify webhook signatures. |