Skip to main content

Overview

The End of Call webhook is triggered immediately after each individual call completes. This allows you to receive real-time updates about call outcomes, transcripts, and analysis data.

Webhook Payload

When a call ends, Clarion sends a POST request to your configured webhook URL with the following payload:
id
integer
required
The unique identifier for the call.
assistant_id
integer
required
The ID of the assistant that handled the call.
started_at
string
ISO 8601 timestamp when the call started.
ended_at
string
ISO 8601 timestamp when the call ended.
call_status
string
required
The status of the call. Possible values: queued, ringing, in-progress, forwarding, ended.
duration_ms
integer
The duration of the call in milliseconds.
ended_reason
string
The reason why the call ended (e.g., customer-ended, assistant-ended).
transcript
string
Full conversation transcript with speaker labels (AI: and User:).
source_number
string
The phone number that initiated the call (E.164 format).
destination_number
string
The phone number that received the call (E.164 format).
call_type
string
The type of call (e.g., outboundPhoneCall, inboundPhoneCall).
analysis
object
Call analysis metrics and custom data extractions.
summary
string
AI-generated summary of the call.
outcome
string
The outcome of the call (e.g., resolved, unresolved, voicemail).
failure_reason
string
If the call was unsuccessful, this indicates the reason. Possible values: declined, escalated, requested-callback, customer-dropped, assistant-ended, opt-out.
voicemail_message
string
Content of voicemail message if one was left.

Handling the Webhook

Your webhook endpoint should:
  1. Accept POST requests with a JSON body
  2. Return a 200 status code to acknowledge receipt
  3. Process the payload asynchronously if needed to avoid timeouts
If your endpoint does not return a 200 status code, Clarion may retry the webhook delivery.