Skip to main content
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
from smallestai.atoms import AtomsClient
from smallestai.atoms.campaign import Campaign

client = AtomsClient()
campaign = Campaign()

# Get available phone numbers
phones = client.get_phone_numbers()
phone_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

Manage Audiences

Create and update contact lists for your campaigns.

Run a Campaign

Full walkthrough: create, start, monitor, and clean up.