Campaigns

View as Markdown

Campaigns let your agents call through a list of contacts automatically. Upload an audience, assign an agent and phone number, then start the campaign — Atoms handles dialing, retries, and tracking.


What You Can Do

ActionMethodDescription
Createcampaign.create()Set up a new campaign with agent, audience, and phone number
Startcampaign.start()Begin dialing contacts in the audience
Pausecampaign.pause()Temporarily stop dialing (resume later)
Monitorcampaign.get()Check progress, call counts, and status
Deletecampaign.delete()Remove a campaign and its data

How It Works

Audience (contacts) + Agent + Phone Number
Create Campaign
Start Campaign
Atoms dials each contact → Agent handles the call
Monitor progress → Pause/Resume as needed

Prerequisites

Before running a campaign, you need three things:

  1. An agent — the AI that handles each call
  2. An audience — the list of phone numbers to dial
  3. A phone number — the outbound number your agent calls from
1from smallestai.atoms import AtomsClient
2from smallestai.atoms.campaign import Campaign
3
4client = AtomsClient()
5campaign = Campaign()
6
7# Get available phone numbers
8phones = client.get_phone_numbers()
9phone_id = phones[0]["_id"]

Campaign Lifecycle

Campaigns move through these statuses:

StatusMeaning
DraftCreated but not started
ActiveCurrently dialing contacts
PausedTemporarily stopped
CompletedAll contacts have been called
FailedEncountered an error

What’s Next