Creating a Campaign
Campaigns let you make automated outbound calls to a list of phone numbers using your AI voice agents. Run targeted outreach at scale with real-time monitoring, intelligent retry logic, and detailed analytics.
Start a campaign: Open the Campaigns page to create and manage your voice call campaigns.
Key Features
- Automated Outbound Calls: Call thousands of contacts with your AI agent
- Contact List Integration: Select existing contacts or upload new ones
- Multi-Phone Distribution: Use multiple phone numbers with load balancing
- Real-time Monitoring: Live SSE streaming of campaign progress
- Intelligent Retries: Automatic retry on no-answer, busy, or voicemail
- Auto-Pause on Low Credits: Campaigns pause automatically when credits run low
- Scheduling: Start campaigns immediately or schedule for later
How It Works
┌──────────────────────────────────────────────────────────────┐
│ Campaign Execution Flow │
├──────────────────────────────────────────────────────────────┤
│ │
│ Create Campaign ──► Select Agent ──► Add Contacts │
│ │ │
│ ▼ │
│ Configure Settings (concurrency, retries, schedule) │
│ │ │
│ ▼ │
│ ┌─────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ DRAFT │────►│ SCHEDULED │────►│ RUNNING │ │
│ └─────────┘ └─────────────┘ └─────────────┘ │
│ │ │ │
│ │ ┌──────────┐ │ │
│ └─────────────►│ PAUSED │◄──────────┤ │
│ └──────────┘ │ │
│ │ │ │
│ ▼ ▼ │
│ ┌────────────┐ ┌───────────┐ │
│ │ CANCELLED │ │ COMPLETED │ │
│ └────────────┘ └───────────┘ │
│ │
│ Each Contact: Dial ──► STT/LLM/TTS ──► Log Result │
│ │ │
│ ▼ │
│ Failed? ──► Retry Queue │
│ │
└──────────────────────────────────────────────────────────────┘
Campaign Setup
Step 1: Create Campaign
- Go to Campaigns in the sidebar
- Click New Campaign
- Enter campaign details:
- Name: Descriptive name (e.g., "January Order Follow-ups")
- Description: Purpose of the campaign (optional)
Step 2: Select Agent
Choose the AI agent that will handle calls:
- Agent must be active (not draft or paused)
- Agent should have an appropriate system prompt for outbound calls
- Variables in the agent prompt will be populated from contact data
Step 3: Add Contacts
You have two options:
| Option | Description |
|---|---|
| Select Existing List | Choose a previously uploaded contact list |
| Upload New Contacts | Upload a CSV file and create a new contact list |
See CSV Upload & Variables for file format details.
Step 4: Select Phone Numbers
Choose one or more phone numbers (credentials) for making calls:
| Setting | Description |
|---|---|
| Single Number | All calls made from one number |
| Multiple Numbers | Calls distributed across numbers |
| Distribution Strategy | Round-robin or least-used |
Using multiple numbers increases throughput and reduces per-number rate limiting.
Step 5: Configure Settings
| Setting | Description | Default |
|---|---|---|
| Max Parallel Calls | Maximum simultaneous calls | 5 |
| Retry Attempts | Times to retry failed calls | 2 |
| Retry Delay | Minutes between retries | 30 |
| Rate Limit | Calls per minute per credential | 10 |
See Scheduling & Retry Logic for advanced configuration.
Step 6: Review and Launch
- Review campaign settings
- Check sample contacts and variables
- Choose: Start Now or Schedule for Later
Campaign Statuses
| Status | Description | Available Actions |
|---|---|---|
| DRAFT | Campaign created, not started | Start, Schedule, Edit, Delete |
| SCHEDULED | Waiting for scheduled start time | Unschedule (back to DRAFT), Delete |
| RUNNING | Actively making calls | Pause |
| PAUSED | Temporarily stopped mid-execution | Resume, Cancel |
| COMPLETED | All contacts processed | View Analytics, Duplicate |
| CANCELLED | Manually stopped before completion | View Analytics, Duplicate |
Campaign Actions
| Action | From Status | Description |
|---|---|---|
| Start | DRAFT | Begin calling immediately |
| Schedule | DRAFT | Set future start time |
| Unschedule | SCHEDULED | Revert to DRAFT |
| Pause | RUNNING | Stop calls, can resume |
| Resume | PAUSED | Continue calling |
| Cancel | PAUSED | Stop permanently |
| Duplicate | Any (except RUNNING) | Create copy of campaign |
| Delete | DRAFT, SCHEDULED | Permanently remove |
Auto-Pause on Low Credits
Campaigns automatically pause when your workspace credits fall below a threshold:
- Campaigns pause with status preserved
- Email notification sent to workspace owner
- Resume after adding credits
- No calls are lost; pending contacts remain in queue
Using Variables
Variables from contact data appear in your agent's prompt:
Contact CSV:
phone_number,customer_name,order_id,product_name
+919876543210,Rahul Kumar,ORD-001,Premium Widget
Agent Greeting:
Hello {{customer_name}}, I'm calling about your order {{order_id}} for {{product_name}}.
Rendered for Rahul:
Hello Rahul Kumar, I'm calling about your order ORD-001 for Premium Widget.
Best Practices
- Test first: Run with 10-20 contacts before full launch
- Respect timing: Call during business hours (9 AM - 6 PM local time)
- Use multiple numbers: Distribute load across credentials
- Monitor actively: Watch the first few calls for issues
- Personalize: Use variables for names, order IDs, etc.
- Set appropriate retries: 2-3 attempts is usually sufficient
- Review analytics: Check connection rates and optimize
Next Steps
- CSV Upload & Variables - Format files and use personalization
- Scheduling & Retry Logic - Configure timing and retry behavior
- Campaign Analytics - Monitor performance and export data
- Contact Management - Manage contact lists
- Phone Numbers Setup - Configure calling credentials
Ready to launch your first campaign? Open the Campaigns page to get started.