Outbound Campaigns is currently in Beta. Features may change.
This guide walks you through setting up an automated outbound calling campaign to reach your leads with personalized AI conversations.Overview#
Outbound campaigns allow you to:Upload a list of leads with contact information
Personalize each call with lead-specific context
Schedule calls within specific time windows
Track progress and results for each lead
Prerequisites#
Before creating a campaign, ensure you have:3.
A configured SIP trunk - The phone number must have a transfer_trunk_id set
The phone number used for outbound calls must have a valid SIP trunk congifured.
Quick Start#
1
Create a Campaign
Create a campaign linked to your agent:
2
Add Leads
Add leads with personalization variables:
3
Start the Campaign
Set the campaign status to
scheduled to begin calling:
4
Monitor Progress
Check campaign progress and lead statuses:
Personalizing Calls#
System Message Template#
The system_message_template is appended to your agent's existing system messages. Use {{variable}} placeholders that match keys in each lead's variables object.You are calling {{name}}, the {{role}} at {{company}}.
Background:
- They expressed interest in: {{interest}}
- Previous interaction: {{last_contact}}
- Priority: {{priority}}
Your goal is to schedule a demo call.
{
"name": "Maria Jansen",
"role": "Head of Operations",
"company": "LogiFlow BV",
"interest": "workflow automation",
"last_contact": "Downloaded whitepaper on Jan 5",
"priority": "high"
}
Best Practices#
1.
Include the lead's name - Creates immediate rapport
2.
Reference their company - Shows you've done your research
3.
Mention their interest - Makes the call relevant
4.
Keep it concise - Don't overload the agent with context
Scheduling#
Time Windows#
Campaigns only make calls during the configured time window:| Field | Format | Example | Description |
|---|
schedule_start_time | HH:MM:SS | 09:00:00 | Earliest time to start calls |
schedule_end_time | HH:MM:SS | 17:00:00 | Latest time to start calls |
timezone | IANA | Europe/Amsterdam | Timezone for the schedule |
Supported Timezones#
Use any valid IANA timezone:Calls are processed one at a time. A new call starts only after the previous call ends.
Campaign Statuses#
| Status | Description | Calls Made? |
|---|
draft | Campaign created but not active | No |
scheduled | Campaign active, calling leads | Yes |
paused | Temporarily stopped | No |
completed | All leads processed | No |
Status Transitions#
Lead Statuses#
| Status | Description |
|---|
pending | Waiting to be called |
calling | Call currently in progress |
completed | Call finished successfully |
failed | Call failed (connection error, etc.) |
no_answer | No answer after attempts |
Bulk Import#
For large lead lists, you can add multiple leads programmatically:In the dashboard, you can upload a CSV file to bulk import leads with automatic variable mapping.
Monitoring & Results#
Campaign Progress#
The campaign object includes progress metrics:{
"total_leads": 150,
"completed_leads": 45,
"current_call_id": "call-uuid-123",
"last_lead_processed_at": "2026-01-07T14:25:00.000Z"
}
Call Results#
After a lead is called, you can retrieve the call details:Call analysis (if configured on the agent)
Recording URL (if enabled)
Error Handling#
Common Issues#
API Reference#
List Campaigns
GET /campaignsCreate Campaign
POST /campaignsUpdate Campaign
PATCH /campaigns/{id}Add Lead
POST /campaigns/{id}/leads