Disposition-based follow-ups require Call → Disposition in your workflow builder. If it is absent in your workspace, contact support before configuring these recipes. Existing Outcome values alone cannot distinguish busy, declined, and voicemail.
Status, outcome, and disposition
Disposition reference
Busy, declined, canceled, and voicemail attempts use the broad workflow outcome
unanswered. A connected call can have completed with disposition unknown. Keep an explicit fallback branch instead of treating every unclassified call as answered by a person.
For outbound AI calls with answer detection, the agent starts its greeting after pickup while checking for voicemail in the background. Recipients do not need to speak first. When voicemail is detected, the agent stops speaking and ends the call; part of the opening may already have played. If detection is inconclusive or unavailable, the call continues normally. Test the languages and routes you use. In sequences, detected voicemail is a failed voice step with reason voicemail, and does not count as a reply that exits the journey. A connected call on which the recipient never speaks is recorded as no answer, not as a reply: only a call where the recipient actually spoke, or where answer detection identified a person, concludes the journey.
Use Call Finished
The Call Finished trigger supports follow-ups after AI calls, including outbound attempts that fail before the agent speaks. It is separate from Make phone call, which starts a call and can wait for its outcome. See Workflow call results for that action’s statuses, timeout behavior, and guidance for updating existing workflows. Neither a completed call nor an immediatesuccess result proves a person answered.
The
ticket segment in workflow references is the existing field identifier for the session. Keep it unchanged in expressions.
Webhooks and repeat attempts
External receivers can usephone_call.ended. Its optional call_id and disposition fields describe the attempt; workflow fields use callId instead. Check the actual payload before building rules for a human-call or legacy calling route.
A session may contain multiple attempts. Each AI call attempt can trigger its own Call Finished workflows; repeated completion events for the same attempt do not run them again. Store the attempt identifier alongside any CRM note or follow-up you create, and make your receiver handle repeated delivery without repeating that side effect. When a call ID is missing, review the event rather than grouping every call from that customer under one permanent deduplication key.
Continue with Follow-up workflows for WhatsApp, callbacks, and CRM logging.
Read evidence for a specific call
Add Get Phone Call Details after Call Finished, usingtrigger.call.callId and trigger.call.ticket.ticketId. The lookup checks both the session and organization and never substitutes a newer call.
The result provides recorded duration, queue waiting time, human pickup evidence, and the end actor when known. Ended by is agent for a recorded teammate end action, system for a completed IVR hang-up command, and unknown when neither is recorded. A teammate ending the human part and the IVR later ending a survey are separate events; the teammate ID remains available. Do not infer the end actor from the current assignee or from a generic disconnect.
Use Answer time seconds against the source queue’s target in a workflow. For inbound calls, it measures the time from the first recorded invitation until an identified teammate joins the call, excluding the initial IVR. External phone transfers and conference participants do not count as teammate pickup. Accepting an invitation alone does not count as pickup; if no teammate join is recorded, pickup remains unconfirmed. For outbound calls, Human answered is false and the pickup and queue-timing fields are empty: a teammate joining does not establish that the customer answered. Calls without confirmed teammate pickup have no answer-time value. Queue wait seconds can describe an unanswered attempt when its end is recorded. An unanswered call is not automatically an abandoned call: use caller hang-up evidence before classifying abandonment. These fields do not create an aggregate service-level report or apply a chat reply SLA.