Outbound Calling Setup & Automation Guide
Configure outbound campaigns, lead outreach, automated dialing, follow-ups, and AI-powered calling workflows.
How Campaigns Work
An outbound campaign is a batch of calls that your agent makes automatically. You provide a list of phone numbers (with optional metadata), set the pacing, and the platform handles dialling, retries, and result tracking.
- Upload a call list with phone numbers and context data
- Set concurrency limits and pacing rules
- Agent personalizes each call using the metadata you provide
- Real-time tracking of call outcomes and progress
- Automatic retry for failed or unanswered calls
Step 1: Create a Campaign
campaign = client.campaigns.create(
name="Q1 Renewal Outreach",
agent_id="agt_sales_bot",
settings={
"max_concurrent": 5,
"calls_per_minute": 10,
"retry_attempts": 2,
"retry_delay_min": 30,
"call_window": {
"start": "09:00",
"end": "17:00",
"timezone": "US/Eastern"
}
}
)
print(f"Campaign created: {campaign.id}")
Step 2: Upload Call List
client.campaigns.add_contacts(campaign.id, [
{
"phone": "+14155551234",
"metadata": {
"name": "John Smith",
"account_id": "acc_123",
"renewal_date": "2025-02-15",
"plan": "Professional"
}
},
{
"phone": "+14155555678",
"metadata": {
"name": "Jane Doe",
"account_id": "acc_456",
"renewal_date": "2025-02-20",
"plan": "Enterprise"
}
}
])
# Or upload from CSV
client.campaigns.upload_csv(campaign.id, "contacts.csv")
Step 3: Start the Campaign
client.campaigns.start(campaign.id)
status = client.campaigns.get(campaign.id)
print(f"Progress: {status.completed}/{status.total} calls")
print(f"Status: {status.status}") # running, paused, completed
Step 4: Monitor Results
results = client.campaigns.results(campaign.id)
print(f"Total: {results.total}")
print(f"Answered: {results.answered}")
print(f"No answer: {results.no_answer}")
print(f"Voicemail: {results.voicemail}")
print(f"Positive outcome: {results.positive_outcomes}")
for call in results.calls:
print(f"{call.phone} — {call.outcome}: {call.summary}")
Compliance Warning
Ensure your outbound campaigns comply with local regulations (TCPA, GDPR, etc.). Always respect call window restrictions and do-not-call lists.