Documentation
API Reference
Documentation
API Reference
Book a meeting
Linkedin
Github
  1. Guides
  • Introduction
  • Get started
    • Quickstart
    • Authentication
  • Core concepts
    • Agents
    • Phone numbers
    • Calls
    • Webhooks
  • Webhooks
    • Overview
    • Assistant request
    • Tool calls
    • Status update
    • End of call report
    • Security
  • Guides
    • Campaigns
    • xAI Realtime Integration
    • Voice selection psychology
    • Analysis templates
    • BYOK Setup
    • Call analysis
    • Call Transfers
    • Custom Tools
    • Sip Trunks
    • Tool templates
    • Voicemail detection
    • Autonomous silence detection
    • Billing
    • Error codes
    • Rate limits
    • Troubleshooting
  • Api's
    • Campaigns
    • Agents
    • Voices
    • BYOK
    • Analysis templates
    • Tool templates
    • Organization
    • Phone numbers
    • Sip trunks
    • Calls
    • Call control
    • Usage
    • Domains
Documentation
API Reference
Documentation
API Reference
Book a meeting
Linkedin
Github
  1. Guides

Campaigns

🧪
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:
1.
An active agent - See Agents API
2.
A phone number - See Phone Numbers API
3.
A configured SIP trunk - The phone number must have a SIP trunk configured for outbound calls
The phone number used for outbound calls must have a SIP trunk configured for outbound dialing.

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.
Example Template:
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.
Example Lead Variables:
{
  "name": "Maria Jansen",
  "role": "Head of Operations",
  "company": "LogiFlow BV",
  "interest": "workflow automation",
  "last_contact": "Downloaded whitepaper on Jan 5",
  "priority": "high"
}

Best Practices#

Personalization Tips
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:
FieldFormatExampleDescription
schedule_start_timeHH:MM:SS09:00:00Earliest time to start calls
schedule_end_timeHH:MM:SS17:00:00Latest time to start calls
timezoneIANAEurope/AmsterdamTimezone for the schedule

Supported Timezones#

Use any valid IANA timezone:
Europe/Amsterdam
Europe/London
America/New_York
America/Los_Angeles
Asia/Tokyo
etc.
Calls are processed one at a time. A new call starts only after the previous call ends.

Campaign Statuses#

StatusDescriptionCalls Made?
draftCampaign created but not activeNo
scheduledCampaign active, calling leadsYes
pausedTemporarily stoppedNo
completedAll leads processedNo

Status Transitions#


Lead Statuses#

StatusDescription
pendingWaiting to be called
callingCall currently in progress
completedCall finished successfully
failedCall failed (connection error, etc.)
no_answerNo 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:
This includes:
Full transcript
Call duration
Call analysis (if configured on the agent)
Recording URL (if enabled)
See Calls API for details.

Error Handling#

Common Issues#

Campaign not making calls
Leads failing immediately
Agent not using lead context

API Reference#

List Campaigns
GET /campaigns
Create Campaign
POST /campaigns
Update Campaign
PATCH /campaigns/{id}
Add Lead
POST /campaigns/{id}/leads

Related#

Campaigns API Reference - Full API documentation
Agents API - Create and configure agents
Call Analysis Guide - Analyze campaign call results
Modified at 2026-01-30 12:27:06
Previous
Security
Next
xAI Realtime Integration
Built with