Calls

Call End Reasons

Every call ends with exactly one end reason. It is the fastest way to tell a successful conversation from a busy signal, a bad prompt, or an infrastructure problem.


Where to find it

The end reason appears on the call log row, in the ended_at webhook payload as ended_reason, and as a filter in Data โ†’ Dashboard so you can chart failure classes over time.

Normal endings

CodeMeaningCounts as answered
customer-ended-callThe caller hung up. The most common ending.Yes
agent-ended-callThe agent finished its goal and hung up intentionally.Yes
operator-hangupA human ended the call from the live panel.Yes
transferredBridged to a human or another agent; the agent left the call.Yes
voicemail-leftAnswering machine detected and the voicemail script was delivered.No

Caller-side endings

CodeMeaningTypical fix
no-answerRang through with no pickup.Retry in a different time window.
busyDestination line was busy.Retry with backoff; usually transient.
declinedCall actively rejected.Suppress after two declines.
invalid-numberNot a routable number.Clean the list; validate E.164 before upload.
blockedCarrier or spam filter blocked the call.See Webhooks โ†’ Spam Rejection and rotate caller ID.
do-not-callNumber is on your suppression list.Expected โ€” no action needed.

Limit and policy endings

CodeMeaningTypical fix
max-duration-reachedHit max_duration_sec.Raise the cap or tighten the prompt.
silence-timeoutNo speech from either side past the silence window.Lower silence_timeout_sec or add a re-engage line.
concurrency-limitWorkspace was at its simultaneous-call ceiling.Slow campaign pacing or request a higher limit.
insufficient-creditBalance ran out mid-call.Add funds or enable auto-recharge in Billing.

Error endings

CodeMeaningTypical fix
pipeline-error-llmThe language model failed or timed out.Add a fallback model in Model Configurations.
pipeline-error-ttsSpeech synthesis failed.Check custom TTS credentials, or fall back to a stock voice.
pipeline-error-transcriberSpeech-to-text stream dropped.Check custom transcriber config and region.
tool-errorA required tool returned a non-2xx or timed out.See Troubleshoot Errors.
carrier-errorTelephony provider rejected or dropped the leg.Retry; if persistent, check SIP Integration.
unknown-errorUnclassified failure.Open the call timeline and contact support with the call ID.
A healthy production workspace sits above 90% normal endings. If pipeline-error-* climbs above 1% of calls, treat it as an incident rather than tuning prompts.