After each call attempt completes (connected or not), the system sends a POST request to your webhook URL with the attempt result. Configure the webhook URL in the campaign’s app_config.webhook_config.

Payload schema

string
required
ID of the agent
integer
required
Version of the agent
string
required
Unique identifier for this call attempt
string
required
Campaign this attempt belongs to
string
required
Cohort this attempt belongs to
string
required
Outcome of the call. One of: completed, partial, failed
string | null
Whether the call connected. One of: connected, busy, no_answer, failed, or null
string | null
Next action for the retry engine (retry, reschedule, business_retry, short_duration_retry, provider_error_retry, internal_error_retry), or null if terminal
string | null
Reason for failure, if applicable
string
required
Unique identifier for the user (from cohort transformation config)
string
required
Phone number of the user in E.164 format
string | null
Phone number used by the agent for the call
number | null
Call duration in seconds. null if the call did not connect.
string | null
Unique interaction ID for retrieving transcripts and recordings. null if the call did not connect.
integer
required
Which attempt this is (0 = first attempt, 1 = first retry, etc.)
string | null
Timestamp when the call was executed (ISO 8601)
object | null
Agent variables passed to the call from the cohort
object | null
Agent variables at the end of the conversation. null if the call did not connect.
array | null
Transcript of the conversation as a list of turns. Each turn has role ("agent" or "user") and en_text. null if the call did not connect.
object | null
Custom metadata from the webhook configuration

Examples

Connected attempt

Not connected attempt