Skip to main content
User can deploy AI agent to make outbound phone calls. Outbound campaigns allow AI agents to call contact lists automatically.
User must create AI agent and import contacts before setting up outbound campaign. See Create Your AI Agent.

What is Outbound Campaign?

Outbound campaign enables AI agent to make calls to contacts:
  • AI agent initiates calls
  • Calls contacts from list
  • Follows configured schedule
  • Maps contact data to agent
  • Tracks call outcomes
Use Cases:
  • Sales outreach
  • Appointment reminders
  • Customer follow-ups
  • Survey calls
  • Payment reminders
  • Event invitations
  • Lead qualification

Create Outbound Campaign

Campaigns > create Campaign button User can create outbound campaign:
  1. Navigate to Campaigns section
  2. Click “Create Campaign” button
  3. Select campaign type

Step 1: Select Campaign Type

Campaigns > new campaign > campaign types User must select campaign type: Inbound Campaign: Outbound Campaign:
  • For making outgoing calls
  • AI agent calls contact list
  • Select this for outbound setup
Select “Outbound” to continue.

Step 2: Campaign Basic Configuration

Campaigns > new outbound campaign > step 1 User must configure campaign basic settings: Campaign Name:
  • Enter descriptive name
  • Example: “Sales Outreach Q1”
  • Example: “Appointment Reminders”
  • Example: “Customer Survey”
  • Helps identify campaign in dashboard
Select AI Agent:
  • Choose from created agents
  • Agent makes all outbound calls
  • Agent uses configured prompt
  • Can change agent later
  • Each campaign uses one agent
Select Phone Number:
  • Choose from available phone numbers
  • Shows as caller ID
  • Can be Callab managed number
  • Can be SIP trunk number
  • Can be BYOT (Bring Your Own Twilio)
  • See Phone Numbers
Caller ID Requirements:Ensure phone number is allowed for outbound calling in your region. Some jurisdictions require caller ID to match your business.
Configuration Example:
Campaign Name: Sales Outreach - Tech Companies
AI Agent: Sales Agent (English)
Phone Number: +14155552671
Click “Next” to continue.

Step 3: Schedule Configuration

Campaigns > new outbound campaign > step 2 User must configure when AI agent makes calls: Timezone:
  • Select timezone for campaign
  • Matches contact location
  • Example: “America/Los_Angeles”
  • Example: “Europe/London”
  • Example: “Asia/Dubai”
  • All call times based on this timezone
Working Days:
  • Select days to make calls
  • Monday through Sunday
  • Check applicable days only
  • Common: Monday-Friday
  • Can include weekends
Working Hours:
  • Set start time (e.g., 9:00 AM)
  • Set end time (e.g., 5:00 PM)
  • Agent only calls during these hours
  • Respects timezone setting
  • Pauses outside hours
Call Pacing: Campaigns > new outbound campaign > pacing configuration User can configure call pacing: Concurrent Calls:
  • Max simultaneous calls
  • Example: 5 concurrent calls
  • Based on plan limits
  • Affects call speed
Call Intervals:
  • Time between calls
  • Example: 30 seconds
  • Prevents spam flags
  • Improves deliverability
Retry Settings:
  • Retry unanswered calls
  • Number of retry attempts
  • Time between retries
  • Skip after X failures
Schedule Example:
Timezone: America/New_York
Working Days: Monday - Friday
Working Hours: 9:00 AM - 5:00 PM
Concurrent Calls: 3
Call Interval: 45 seconds
Retry Attempts: 2
Compliance:User must comply with local calling regulations (TCPA in US, GDPR in EU, etc.). Only call during permitted hours.
Click “Next” to continue.

Step 4: Contact List Selection

Campaigns > new outbound campaign > step 3 User must select which contacts to call: Select Contact List:
  • Choose from imported lists
  • Can select multiple lists
  • Shows total contact count
  • Only calls contacts once
  • Tracks call status per contact
Contact List Filters: User can filter contacts: By Category:
  • Filter by contact category
  • Example: “Hot Leads”
  • Example: “Existing Customers”
  • Narrows call target
By Tags:
  • Filter by tags
  • Example: “Interested in Product A”
  • Example: “Follow-up Required”
  • Combines multiple tags
By Status:
  • Not called yet
  • Called (answered)
  • Called (no answer)
  • Voicemail
  • Failed
Contact List Example:
Selected Lists:
  - Sales Leads Q4 (500 contacts)
  - Webinar Attendees (200 contacts)

Filters:
  - Category: Hot Leads
  - Tags: Interested, Not Contacted
  - Status: Not Called

Total to Call: 150 contacts
Contact Requirements:All contacts must have valid phone numbers in E.164 format. Invalid numbers will be skipped.
Click “Next” to continue.

Step 5: Variable Mapping

Campaigns > new outbound campaign > step 4 User can map contact data to agent variables: What is Variable Mapping? Variable mapping connects contact list fields to agent dynamic variables:
  • Personalizes each call
  • Agent uses contact data
  • Creates natural conversation
  • Improves engagement
How to Map Variables: Agent Variables:
  • Left column shows agent dynamic variables
  • Defined in agent configuration
  • Example: first_name, company, product_interest
Contact Fields:
  • Right column shows contact list columns
  • From imported CSV/data
  • Example: “First Name”, “Company Name”, “Product”
Mapping Process:
  1. Find agent variable (e.g., first_name)
  2. Select matching contact field (“First Name”)
  3. Repeat for all variables
  4. Save mappings
Mapping Example:
Agent Variable → Contact Field
--------------------------------
first_name → First Name
last_name → Last Name
company → Company Name
product_interest → Product Interested In
appointment_date → Preferred Date
phone_number → Phone (auto-mapped)
Variable Usage in Agent: Agent prompt uses mapped variables:
"Hello {{first_name}}, this is Alex from Acme Corp.
I'm calling about {{product_interest}} that you showed
interest in for {{company}}."
Unmapped Variables:
  • Can be left empty
  • Agent prompt should handle missing data
  • Use conditional logic in prompts
Auto-Mapping:Callab auto-maps common fields:
  • Phone number (required)
  • First name
  • Last name
  • Email
User can override auto-mappings.
Click “Next” to continue.

Step 6: Webhook Configuration (Optional)

Campaigns > new outbound campaign > step 5 User can optionally configure webhook to receive call data: Without Webhook:
  • Campaign works without webhook
  • Call data visible in dashboard
  • No external notifications
  • Suitable for simple use cases
With Webhook: User can enable webhook to send call data to external system: Enable Webhook Checkbox:
  • Toggle to enable webhook
  • Shows webhook configuration fields
Webhook URL:
  • Enter your webhook endpoint
  • Format: https://your-domain.com/webhook
  • Must be HTTPS (secure)
  • Receives POST requests
  • Callab sends call data here
Webhook Events: User can select which events trigger webhook: Call Started:
  • Fires when call begins
  • Includes contact information
  • Timestamp of call start
Call Answered:
  • Fires when contact answers
  • Distinguishes from no-answer
  • Starts conversation tracking
Call Ended:
  • Fires when call completes
  • Includes call duration
  • Final call status
Call Outcome:
  • Fires with extracted data
  • Includes post-call outcomes
  • Based on agent configuration
Voicemail Detected:
  • Fires if voicemail detected
  • Agent can leave message
  • Tracks voicemail status
Select Fields to Send: User can choose which data fields to include in webhook: Contact Information:
  • Contact phone number
  • Contact name
  • Contact company
  • Custom contact fields
Call Details:
  • Call duration
  • Call timestamp
  • Call recording URL
  • Transcript text
  • Call status (answered/no-answer/voicemail)
Extracted Data:
  • Post-call outcomes
  • Custom extracted fields
  • Dynamic variable values
  • Appointment details
Campaign Information:
  • Campaign ID
  • Campaign name
  • Agent name
  • Phone number used
Webhook Payload Example:
{
  "event": "call_ended",
  "campaign_id": "camp_outbound_123",
  "campaign_name": "Sales Outreach - Tech Companies",
  "call_id": "call_xyz789",
  "phone_number": "+14155552671",
  "contact": {
    "phone": "+14085551234",
    "first_name": "John",
    "last_name": "Smith",
    "company": "Tech Corp",
    "product_interest": "Enterprise Plan"
  },
  "call_status": "answered",
  "duration": 240,
  "timestamp": "2025-11-17T14:30:00Z",
  "recording_url": "https://...",
  "transcript": "...",
  "outcomes": {
    "interested": true,
    "appointment_booked": true,
    "follow_up_date": "2025-11-20"
  }
}
Webhook Testing:User can test webhook in Callab dashboard. Test button sends sample payload to verify endpoint is working.
Webhook Best Practices:
  • Use HTTPS endpoints only
  • Respond with 200 status quickly
  • Process data asynchronously
  • Log all webhook requests
  • Handle retries gracefully
  • Update CRM with results
Click “Create” to launch campaign.

Campaign Created

Your outbound campaign is now created! AI agent will start calling contacts during scheduled hours.
Campaign Status:
  • Scheduled: Campaign created, waiting for start time
  • Running: Actively making calls during working hours
  • Paused: Temporarily stopped
  • Completed: All contacts called
User can:
  • Start/pause campaign manually
  • Monitor call progress
  • View call logs in dashboard
  • Update campaign settings
  • Add more contacts
  • Modify schedule

Managing Outbound Campaigns

View Campaigns:
  • Navigate to Campaigns section
  • See all campaigns
  • Filter by type (inbound/outbound)
  • Filter by status
  • Search by name
Edit Campaign:
  • Click campaign name
  • Update any settings
  • Change schedule
  • Modify contact list
  • Update variable mappings
  • Change webhook settings
  • Save changes
Pause Campaign:
  • Temporarily stop calling
  • Preserves call history
  • Can resume anytime
  • Useful for adjustments
Resume Campaign:
  • Continue calling contacts
  • Picks up where paused
  • Respects schedule
  • Skips already called
Delete Campaign:
  • Permanently removes campaign
  • Call history preserved
  • Cannot be undone
  • Contact list unaffected

Campaign Progress Tracking

User can monitor campaign progress: Call Statistics:
  • Total contacts: 500
  • Called: 245
  • Answered: 180
  • No Answer: 50
  • Voicemail: 15
  • Failed: 0
  • Remaining: 255
Success Metrics:
  • Answer rate: 73%
  • Average call duration: 3min 20sec
  • Conversion rate: 45%
  • Appointments booked: 81
Real-Time Status:
  • Currently calling: 3
  • Queued: 252
  • Next call: in 30 seconds
  • Estimated completion: 2 hours

Contact List Management

Import Contacts: User must import contacts before campaign: See dedicated Contact Import guide for detailed steps. Contact List Format: Contacts must include:
  • Phone number (required, E.164 format)
  • First name (recommended)
  • Last name (recommended)
  • Additional custom fields
CSV Example:
phone,first_name,last_name,company,product_interest,email
+14085551234,John,Smith,Tech Corp,Enterprise Plan,john@techcorp.com
+14085555678,Jane,Doe,Startup Inc,Pro Plan,jane@startup.com
Duplicate Handling:
  • System detects duplicate numbers
  • Calls each contact once per campaign
  • Tracks call history
  • Prevents multiple calls

Variable Mapping Examples

Sales Campaign:
Agent Variables → Contact Fields
---------------------------------
customer_name → First Name
company_name → Company
product → Product Interest
budget → Budget Range
decision_date → Decision Timeline
Agent Prompt:
"Hello {{customer_name}}, I'm calling from Acme Corp
regarding {{product}} for {{company_name}}. I understand
you're looking to make a decision by {{decision_date}}.
I'd love to discuss how we can help."
Appointment Reminder:
Agent Variables → Contact Fields
---------------------------------
patient_name → Patient Name
appointment_date → Appointment Date
appointment_time → Appointment Time
doctor_name → Doctor
location → Clinic Location
Agent Prompt:
"Hi {{patient_name}}, this is a reminder about your
appointment with Dr. {{doctor_name}} on {{appointment_date}}
at {{appointment_time}}. The location is {{location}}.
Can you confirm you'll be attending?"

Compliance and Best Practices

Legal Compliance: User must comply with:
  • TCPA (USA): Written consent required
  • GDPR (EU): Lawful basis required
  • Local laws: Check jurisdiction
  • Do Not Call lists: Honor requests
  • Calling hours: Follow local restrictions
Best Practices: Calling Times:
  • Respect local time zones
  • Call during business hours
  • Avoid early mornings/late evenings
  • Honor contact preferences
Call Quality:
  • Test agent thoroughly
  • Monitor initial calls
  • Review call recordings
  • Adjust agent prompts
  • Track feedback
Contact Management:
  • Keep lists updated
  • Remove invalid numbers
  • Honor opt-out requests
  • Track call outcomes
  • Maintain clean data
Pacing:
  • Don’t call too aggressively
  • Allow time between calls
  • Respect concurrent limits
  • Monitor answer rates
  • Adjust based on performance

Webhook Integration Examples

CRM Update:
// Update CRM with call outcome
app.post('/webhook', async (req, res) => {
  const { contact, call_status, outcomes } = req.body;

  await crm.updateLead(contact.phone, {
    last_contacted: new Date(),
    call_status: call_status,
    interested: outcomes.interested,
    next_follow_up: outcomes.follow_up_date
  });

  res.status(200).send('OK');
});
Calendar Integration:
// Book appointment if scheduled
app.post('/webhook', async (req, res) => {
  const { contact, outcomes } = req.body;

  if (outcomes.appointment_booked) {
    await calendar.createEvent({
      title: `Meeting with ${contact.first_name} ${contact.last_name}`,
      date: outcomes.appointment_date,
      attendees: [contact.email],
      description: `Follow-up call for ${contact.product_interest}`
    });
  }

  res.status(200).send('OK');
});
Team Notifications:
// Notify sales team of hot leads
app.post('/webhook', async (req, res) => {
  const { contact, outcomes } = req.body;

  if (outcomes.interested && outcomes.urgency === 'high') {
    await slack.sendMessage({
      channel: '#sales-hot-leads',
      text: `🔥 Hot lead: ${contact.first_name} from ${contact.company}\nInterest: ${contact.product_interest}\nNext step: ${outcomes.next_action}`
    });
  }

  res.status(200).send('OK');
});

Troubleshooting

Campaign not making calls:
  • Is campaign started (not paused)?
  • Is current time within schedule?
  • Are there contacts remaining?
  • Is phone number active?
  • Check concurrent call limits
Low answer rate:
  • Calling at appropriate times?
  • Phone numbers valid?
  • Caller ID recognizable?
  • Too many calls per day?
  • Check voicemail rate
Variable mapping not working:
  • Variables mapped correctly?
  • Contact data exists in list?
  • Agent prompt uses correct variable names?
  • Test with sample contact
Webhook not receiving data:
  • Webhook URL correct (HTTPS)?
  • Endpoint responding?
  • Correct events selected?
  • Check webhook logs
  • Verify firewall allows Callab
Calls to wrong timezone:
  • Timezone setting correct?
  • Contact timezone accurate?
  • Schedule times correct?
  • Daylight saving handled?

Advanced Features

A/B Testing:
  • Create multiple campaigns
  • Use different agents
  • Test different prompts
  • Compare conversion rates
  • Optimize based on results
Progressive Dialing:
  • Automatically pace calls
  • Based on answer rates
  • Optimizes agent utilization
  • Reduces idle time
Callback Requests:
  • Contact requests callback
  • Agent reschedules automatically
  • Adds to campaign queue
  • Calls at preferred time
Voicemail Detection:
  • AMD (Answering Machine Detection)
  • Leave voicemail message
  • Different script for voicemail
  • Track voicemail status

Performance Optimization

Improve Answer Rates:
  • Use local caller ID
  • Call during optimal hours
  • Personalize with variables
  • Test different times
  • Clean contact lists
Improve Conversion:
  • A/B test agent prompts
  • Review successful calls
  • Train on objections
  • Optimize call flow
  • Track outcomes carefully
Scale Campaigns:
  • Increase concurrent calls
  • Add more phone numbers
  • Use multiple agents
  • Segment contact lists
  • Monitor quality closely

Next Steps

After setting up outbound campaign:
  1. Monitor first calls - Ensure quality
  2. Review outcomes - Track success metrics
  3. Optimize agent - Improve based on data
  4. Scale gradually - Increase volume slowly
  5. Maintain compliance - Follow regulations
Important Reminder:Always ensure you have legal permission to call contacts and comply with all applicable regulations (TCPA, GDPR, local laws). Improper use may result in legal penalties.
Start with a small test campaign (10-20 contacts) to verify everything works correctly before launching large-scale campaigns.