Skip to main content

Overview

The End of Sequence Report webhook is triggered when an entire outreach sequence ends. This provides a comprehensive report of all outreach attempts made during the sequence, including call details and outcomes.

Webhook Payload

When a sequence ends, Clarion sends a POST request to your configured webhook URL with the following payload:
id
integer
required
The unique identifier for the sequence.
status
string
required
The status of the sequence (e.g., ended).
last_updated
string
required
ISO 8601 timestamp when the sequence was last updated.
outreach
array
required
Array of outreach steps performed during the sequence.

Call Object

Each call in the outreach array contains the following fields:
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.