Docs
Open dashboard
Data and quality: additional reference

Send call data to your systems

Post every finished call to your CRM, n8n or any HTTPS endpoint.

Set it up

On the agent's Knowledge tab, under CRM / Webhook URL, press Add Webhook and enter one or more URLs. Save with Update Agent.

/agents/8f3c… › Knowledge
The CRM / Webhook URL card is on the Knowledge tab.
The CRM / Webhook URL card is on the Knowledge tab.

The request

When a call ends, each URL receives a POST with a JSON body and these headers: Content-Type: application/json, X-Webhook-Source and X-Call-Id.

Example body
{
  "callId": "a93f3f85-74e0-4c55-9d3e-1c2b7d0e8f41",
  "batchRef": "batch-676ddb6c-95f1",
  "agentId": "b67fe5d2-1c3a-4e8b-9f0d-2a4c6e8b0d13",
  "agentName": "Renewal outreach",
  "transcript": "Agent: Hi Priya, is now a good time?\nUser: Sure…",
  "summary": "Priya wants to keep her plan and asked for a callback on Thursday.",
  "duration_seconds": 214,
  "total_cost": 0.42,
  "sentiment": "positive",
  "disposition_status": "successful_connected",
  "disposition": "interested",
  "qa_score": null,
  "structured_data": {
    "callback_day": "Thursday"
  },
  "caller_number": "+61412345678",
  "recording_url": "https://…",
  "started_at": "2026-09-16T03:05:19.000Z",
  "ended_at": "2026-09-16T03:08:53.000Z",
  "status": "completed",
  "direction": "outbound",
  "end_reason": "customer-ended-call",
  "timestamp": "2026-09-16T03:08:54.000Z"
}

Delivery is one attempt per URL with no retries and no signature. Respond with a 2xx quickly and treat callId as the idempotency key. To fill gaps, read calls back with List calls.