Voice Calls
Managing voice call conversations and recordings.
Voice Calls
Voice calls are interactions of type call that represent phone conversations between an AI agent and a lead. Calls can be triggered manually, by the auto-dialer, or as a first submission action.
Initiating a Call
Manual
From the lead detail page or conversations view, click Call to open the call trigger modal:
- The system resolves the campaign's voice agent (test agent for test leads)
- Select the phone number to call from
- Optionally add additional instructions for the AI agent
- Click Call — the call is initiated asynchronously
Auto-Dialer
The auto-dialer automatically triggers calls based on configured sequencing rules. See Auto-Dialer for configuration details.
First Submission Action
When a campaign's first submission action is set to Voice AI Call, the engine automatically initiates a call when a new lead is submitted.
Call Flow
- LeadSail creates an interaction record with status
in_progress - The voice prompt template is rendered with lead data and system variables
- The call is initiated via the configured voice provider (e.g., ElevenLabs)
- The AI agent conducts the conversation using the rendered prompt
- When the call ends, the provider sends a post-call webhook
- The interaction is updated with the transcript, outcome status, and duration
- The lead status is updated based on the call outcome
- If configured, the post-call pipeline runs
Call Outcomes
Each call results in one of these interaction statuses:
| Status | Description | Lead Status |
|---|---|---|
completed | Positive conversation | contacted |
incomplete | Call started but didn't complete | contacted |
voicemail | Left voicemail | voicemail |
no_answer | No answer | no_answer |
busy | Line busy | no_answer |
no_contact | Exhausted all attempts | no_contact |
scheduled_callback | Lead requested callback | scheduled_callback |
follow_up | Agent determined follow-up needed | contacted |
qualified | Agent qualified the lead | qualified |
disqualified | Agent disqualified the lead | disqualified |
dnc | Lead requested Do Not Contact | dnc |
error | Technical error | error |
Transcripts
Call transcripts are stored as an array of messages with:
- Role —
agent(AI) oruser(lead) - Message — The spoken text
- Timestamp — When the message occurred
- Source —
voice_aifor AI-powered calls
Transcripts are viewable in the conversation view and on the lead detail page under the Interactions tab.
Recordings
Call recordings (when available from the provider) are linked from the interaction record. Click the recording link to listen to the full call audio.
API
Initiate a call programmatically via POST /api/v1/voice/calls/initiate:
{
"leadId": "lead_abc123",
"direction": "outbound",
"additionalInstructions": "Ask about their timeline"
}The call runs asynchronously — the API returns immediately with the interactionId.