Loading...
Use Call Ended and related voice triggers to update CRM, schedule callbacks, and suppress bad numbers automatically after AI calls.
When an AI voice call ends, wrrk fires workflow triggers carrying everything the agent learned — transcript, sentiment, intent, and any data the agent collected. A disposition workflow turns those into CRM updates, follow-ups, and callbacks automatically.
| Trigger | Fires when |
|---|---|
| Call Ended | Any call reaches a terminal state (completed or failed) |
| Call Transcribed | The transcript is ready |
| Intent Detected | Keywords you configure appear in the conversation |
| Sentiment Threshold | Call sentiment crosses your configured bound |
| Voicemail Left | An outbound call hit voicemail and left a message |
| Meeting Scheduled From Call | The caller asked to book a meeting mid-call |
| Campaign Completed | A voice campaign finishes all contacts |
In any step of the disposition workflow you can reference:
{{call.status}}, {{call.duration}}, {{call.receiverNumber}}, {{call.customerName}}{{call.sentiment}} — positive / neutral / negative{{call.intentLabel}} — derived from your agent's evaluation criteria{{call.dataCollectionResults.<field>}} — fields your agent collected (see below){{call.campaignId}} — set when the call came from a campaignOn your voice agent (Voice → Agents → your agent), add data collection fields so every call returns structured answers, for example:
reached_intended_person — did the right person answer?interested — yes / no / maybecallback_time — when they asked to be called backdo_not_call — they asked never to be contacted againAnd evaluation criteria like interested, wrong_number, callback_requested — the first criterion that evaluates true becomes {{call.intentLabel}}.
Trigger: Voice → Call Ended (add a condition on agentName or campaignId to scope it to your prospecting calls). Then branch:
{{call.dataCollectionResults.interested}} = yes)→ Create CRM Contact → Create Task for sales follow-up → Send Email with your deck.
→ Schedule Callback action at {{call.dataCollectionResults.callback_time}}.
{{call.intentLabel}} = wrong_number) → Update CRM Contact: clear the phone field and tag phone-invalid so the next prospecting run skips it.
→ Update CRM Contact: tag do-not-call. The calling action's suppression also skips recently-called numbers for 7 days by default — but a DNC tag is permanent and should gate any future campaign.
{{call.status}} = failed)→ Route the lead to an email sequence instead, or leave it for the campaign's automatic retry.
When a campaign call fails because the number itself is invalid, the campaign contact's error starts with invalid_number:. These numbers are not retried (retrying a dead number wastes attempts and rate-limit budget). Busy lines and network failures are retried, up to the per-contact retry budget.
Add a third workflow on Voice → Campaign Completed to email yourself a recap — total dialed, connected, failed — every time a prospecting campaign finishes.
Tags
Automated Prospecting → AI Voice Calls
End-to-end guide: scheduled prospecting, phone validation, and AI voice calling in one workflow.
Workflow Triggers and Actions Reference
Complete reference of all workflow triggers, actions, and variables.
Voice Campaigns and Bulk Dialer
Bulk dialing and multi-step campaigns, CSV upload, retry policies, exclusions, knowledge base.