Campaign Management allows you to automate outbound voice calls and SMS messaging at scale. Create personalized campaigns with your AI assistant, import contacts, schedule execution, and monitor progress in real-time.
What are Campaigns?
A Campaign is an automated outreach system that connects your AI assistant with a list of contacts. Campaigns can:- Make outbound voice calls with your AI assistant
- Send bulk SMS messages with personalized content
- Combine both for mixed campaigns
Campaign Types
Call Campaigns
Call Campaigns
Outbound voice calling with your AI assistant.
- AI makes calls to each contact in your list
- Personalized welcome messages and conversation flow
- Handles voicemail detection automatically
- Records calls and generates transcripts
SMS Campaigns
SMS Campaigns
Bulk SMS messaging with personalized content.
- Send templated SMS messages to contacts
- Supports variable substitution for personalization
- Track delivery status and responses
Mixed Campaigns
Mixed Campaigns
Combines voice and SMS for comprehensive outreach.
- Start with a call, follow up with SMS (or vice versa)
- Different messaging per channel
- Unified tracking and analytics
Contact Management
Importing Contacts
Import your contacts from CSV or JSON files. The system automatically:- Validates phone number formats (converts to E.164)
- Detects duplicate contacts
- Maps columns to contact fields
- Extracts variables for templating
- CSV: Comma-separated values with header row
- JSON: Array of contact objects
CSV Import Example
CSV Import Example
Your CSV should have headers that map to contact fields:Required columns:
phone_number(orphone,mobile,cell)
name(orfull_name,contact_name)- Any custom fields for template variables
Column Mapping
Column Mapping
The system suggests mappings based on column names:
Custom columns become template variables automatically.
Contact Statuses
Template System
Campaigns use Jinja2-style templating for personalized messages. Variables from your contact data are automatically available.Variable Syntax
Use double curly braces to insert variables:Built-in Filters
System Variables
These variables are always available:Fallback Values
Define fallback values for missing variables:Template Types
Template Example
Template Example
Welcome Message:With fallbacks:
Scheduling
Campaigns support flexible scheduling options:Schedule Types
Immediate
Immediate
Campaign starts execution right away when you click “Start”.
Scheduled (Once)
Scheduled (Once)
Campaign runs at a specific date and time.
Recurring
Recurring
Campaign runs on a repeating schedule.Frequency options:
daily, weekly, monthlyTime Windows
Respect calling hours by configuring allowed time windows:Execution Settings
Control how your campaign executes:Voicemail Detection (AMD)
For call campaigns, enable automatic voicemail detection:Monitoring & Analytics
Real-Time Progress
Monitor your campaign in real-time via WebSocket or REST API:- Total contacts - Number of contacts in campaign
- Completed - Successfully contacted
- Failed - Contact attempts that failed
- Pending - Waiting to be contacted
- Processing - Currently being contacted
WebSocket Updates
Connect to the WebSocket endpoint for live updates:Metrics
Campaign Lifecycle
Best Practices
Compliance (TCPA, GDPR)
Compliance (TCPA, GDPR)
- Only contact people who have opted in
- Respect Do-Not-Call lists
- Call during reasonable hours (typically 8 AM - 9 PM local time)
- Provide opt-out mechanisms
- Keep records of consent
Optimal Scheduling
Optimal Scheduling
- Best days: Tuesday through Thursday
- Best times: 10 AM - 12 PM, 2 PM - 4 PM local time
- Avoid Monday mornings and Friday afternoons
- Consider your audience’s timezone
Template Design
Template Design
- Keep messages concise and clear
- Personalize with contact data
- Set appropriate fallback values
- Test templates before launching
- Use professional, conversational tone
Performance Optimization
Performance Optimization
- Start with lower concurrent limits and increase gradually
- Monitor answer rates to optimize timing
- Use retry logic for no-answers
- Segment contacts for targeted campaigns
Quick Start
- Create a campaign with your assistant and campaign type
- Import contacts from CSV or JSON
- Configure templates with personalization variables
- Set scheduling (immediate or scheduled)
- Start the campaign and monitor progress
- Analyze results and optimize
Use the WebSocket endpoint to build real-time monitoring dashboards for your campaigns.