Skip to main content
POST
Create campaign
A campaign places outbound AI voice calls to a list of contacts. Campaigns are created in draft status and do not start dialing until you call Resume, unless you set scheduled_at, in which case they auto-start at that time.

Request body

string
required
Display name shown in the dashboard.
string
required
UUID of the agent that will handle calls in this campaign. Must belong to your workspace.
string
required
Outbound phone number to dial from, in E.164 format (e.g. "+15551234567"). Must be registered to your workspace — the number visible on Settings → Phone Numbers in the dashboard.
object[]
required
Recipients to dial. Must contain at least one entry. There is no upper limit.
number
default:"0"
Additional attempts per contact after the initial call. 2 means up to 3 total attempts. Retries fire on no-answer, voicemail, busy, or transient dial failure. A connected call that hangs up is considered successful.
number[]
Wait times in minutes between attempts. The Nth retry waits retry_intervals[N-1] minutes after the previous attempt. If shorter than max_retries, the last value is reused.
string
Future ISO 8601 UTC timestamp at which the campaign should auto-start. Sets the initial status to scheduled instead of draft.
object | null
Time-of-day / weekday gate for outbound dialing. Omit or send null for 24/7 dispatch.
Outside business_hours, the campaign moves to dormant and resumes automatically when the next allowed window opens.

Request

Response

201 Created. See Responses for the envelope.

Using custom data in your agent

Reference any field from custom_data (and contact_name) in your agent’s system prompt:
Each contact gets a personalized call with their own values substituted.

Errors

This endpoint can return VALIDATION_FAILED, AGENT_NOT_FOUND, PHONE_NOT_FOUND, CREATE_FAILED, and CONTACTS_INSERT_FAILED — see Campaigns overview for status codes and meanings, and Errors for the standard envelope.
After creating a campaign in draft status, call Resume to start dialing.