Skip to navigation

Create campaign

Creates a campaign of one of four types: outbound phone, inbound phone, voice bubble (web), or Messages/SMS. The channel is set via the combination of campaignType, CallType, MessagesCampaign, and Position:

Next step — create an agent. A campaign on its own is just the shell (channel, language, phone numbers, schedule). The voice, scripts, model, and conversational behavior all live on an agent attached to the campaign. After this request returns the campaign ID, call POST /agent/new/{campaignId} (template-driven) or POST /agent/{campaignId} (inline configuration) to attach an agent. Without an agent, the campaign cannot place or receive calls/messages.

Campaign typecampaignTypeCallTypeMessagesCampaignPosition
Outbound phone"1""2"omitomit
Inbound phone"1""1"omitomit
Voice bubble (web)"0"omitomit"bottom-right" | "bottom-left" | "bottom-center" | "not-positioned"
Messages / SMS"0"omittrueomit

Picking a TemplateId

TemplateId is required. Pick one from the catalog below — match on the user’s selected language and on the campaign channel (type column maps to the channel: outbound, inbound, web for voice bubble, messages for SMS). Pass the chosen Template ID as TemplateId in the request body.

Supported languages: en-US (English), es-US (Spanish), de (German), ro-RO (Romanian), fr-FR (French), hi-IN (Hindi), he-IL (Hebrew), tr-TR (Turkish), multilanguage (Multilingual).

English (en-US)

TypeTitleTemplate ID
webVoice Bubble - Create from scratch572cea7c-851b-430d-ad34-2df87cf78745
webVoice Bubble - Auto Dealership860556f3-773a-4b3a-ad6d-9cf644d06490
webVoice Bubble – Real Estate8c2245d0-db09-4549-94ec-7f3becb8f8ff
webVoice Bubble – Renovations233a6ba7-564c-428e-9273-2d736f2a1710
webVoice Bubble – MedSpa8560cf24-eaf5-4de1-ad5f-f5d591bd6573
outboundOutbound - Create from scratch6be44833-9133-4639-b6c9-425aee057c1c
outboundOutbound - Sales Qualificationsca2cedc2-c196-40d2-be22-dfd70bb4594c
outboundOutbound - Appointment Confirmation303ae519-237a-4377-bc4b-c112da869210
outboundOutbound - Customer Service391d2252-056b-48e6-8147-fb81c11c9a4f
inboundInbound - Create from scratchb169095e-4b52-4002-9c0f-6d860d8f69f2
inboundInbound - Receptionistef425178-b820-460f-b4a2-1f8704487343
inboundInbound - Sales994c1320-b5c8-4ba6-af47-65f29caefaac
inboundInbound - Customer Service28eb844e-5d43-4469-b422-d8cbb08ddba4
messagesMessages - Create from scratch4371c8a9-f3c4-4b11-aa15-871870869fec
messagesMessages - Sales Qualifications5b993906-231b-406b-bfb9-6188449e7a29
messagesMessages - Appointment Confirmation93bd6c73-17f7-4e91-aee3-daaaa1fee598
messagesMessages - Customer Service54f23536-c34c-446e-8bfc-b089e68ec3e1

Spanish (es-US)

TypeTitleTemplate ID
outboundOutbound - Multilingual En & Spanish3d9f7b06-5ff9-47ad-bc9b-89d0d504fd80
outboundOutbound - ESPAÑOLbf608583-a352-4cbc-8a4f-24e3b516c95e
inboundInbound - Multilingual En & Spanish937764af-80bf-4d3a-ba9d-5d0ffc62b5eb
inboundInbound - ESPAÑOL8f77d0cb-a198-4ec1-b202-442f1d7668ec
messagesMessages - Multilingual En & Spanish3d9f7b06-5ff9-47ad-bc9b-89d0d504fd80
messagesMessages - ESPAÑOLbf608583-a352-4cbc-8a4f-24e3b516c95e

German (de)

TypeTitleTemplate ID
webVon Grund auf erstellen422566c4-7408-4332-ae4c-5cf0c4640220
outboundVon Grund auf erstellen422566c4-7408-4332-ae4c-5cf0c4640220
inboundVon Grund auf erstellen422566c4-7408-4332-ae4c-5cf0c4640220
messagesVon Grund auf erstellen422566c4-7408-4332-ae4c-5cf0c4640220

Romanian (ro-RO)

TypeTitleTemplate ID
inboundȘablon pentru Inbound761a6468-53e1-48ae-b21b-0f1e5c5c4585
outboundȘablon pentru Outbound23e344d1-39cb-4f64-9c9b-122f0903afbf
webȘablon pentru web761a6468-53e1-48ae-b21b-0f1e5c5c4585
messagesȘablon pentru Messages23e344d1-39cb-4f64-9c9b-122f0903afbf

French (fr-FR)

TypeTitleTemplate ID
inboundModèle pour Inboundfd09500c-b572-41f7-b703-774e718c40fd
outboundModèle pour Outboundbf23d52a-c57e-4744-969b-a6c5b5c25b9e
webModèle pour webfd09500c-b572-41f7-b703-774e718c40fd
messagesModèle pour Messagesbf23d52a-c57e-4744-969b-a6c5b5c25b9e

Hindi (hi-IN)

TypeTitleTemplate ID
outboundCreate From Scratchf2086e1d-8c61-4dba-9551-602526b4db2b
inboundCreate From Scratchf2086e1d-8c61-4dba-9551-602526b4db2b
messagesCreate From Scratchf2086e1d-8c61-4dba-9551-602526b4db2b

Hebrew (he-IL)

TypeTitleTemplate ID
inboundלהתחיל מאפסca905bb8-35a5-4f47-8511-285d3804df1b
outboundלהתחיל מאפסca905bb8-35a5-4f47-8511-285d3804df1b
webלהתחיל מאפסca905bb8-35a5-4f47-8511-285d3804df1b
messagesלהתחיל מאפסca905bb8-35a5-4f47-8511-285d3804df1b

Turkish (tr-TR)

TypeTitleTemplate ID
outboundSıfırdan oluşturmak - Giden951c250e-b776-4550-8c87-a6282878a8bc
inboundSıfırdan oluşturmak - Gelen951c250e-b776-4550-8c87-a6282878a8bc
webSıfırdan oluşturmak - Web951c250e-b776-4550-8c87-a6282878a8bc
messagesSıfırdan oluşturmak951c250e-b776-4550-8c87-a6282878a8bc

Multilingual (multilanguage)

TypeTitleTemplate ID
webMultilingual937764af-80bf-4d3a-ba9d-5d0ffc62b5eb
inboundMultilingual937764af-80bf-4d3a-ba9d-5d0ffc62b5eb
outboundMultilingual3d9f7b06-5ff9-47ad-bc9b-89d0d504fd80
messagesMultilingual3d9f7b06-5ff9-47ad-bc9b-89d0d504fd80

Outbound phone

{
"name": "My Outbound Campaign",
"campaignType": "1",
"CallType": "2",
"CompanyName": "Acme Inc",
"BusinessName": "Acme",
"TemplateId": "6be44833-9133-4639-b6c9-425aee057c1c",
"FirstMessage": "Hi, this is...",
"ScriptBase": "...",
"ScriptNotes": "...",
"Timezone": "America/New_York",
"TimezoneFriendlyName": "Eastern Time",
"StartDate": "2026-05-14",
"TimeWindows": "[{\"startHour\":8,\"startMinute\":0,\"endHour\":20,\"endMinute\":0}]",
"FeatureRescheduleCallEnabled": false,
"FeatureEnrichmentInfoEnabled": false,
"FeatureAppendPreviousSummaryEnabled": false
}

Inbound phone

Inbound is always-on — drop StartDate, TimeWindows, and FeatureRescheduleCallEnabled. FeatureAppendPreviousSummaryEnabled is inbound-only.

{
"name": "My Inbound Campaign",
"campaignType": "1",
"CallType": "1",
"CompanyName": "Acme Inc",
"BusinessName": "Acme",
"TemplateId": "6be44833-9133-4639-b6c9-425aee057c1c",
"FirstMessage": "Thanks for calling Acme...",
"ScriptBase": "...",
"ScriptNotes": "...",
"Timezone": "America/New_York",
"TimezoneFriendlyName": "Eastern Time",
"FeatureEnrichmentInfoEnabled": false,
"FeatureAppendPreviousSummaryEnabled": true
}

Voice bubble (web)

campaignType: "0", no CallType, add Position. Drop phone-only schedule fields and summary append.

{
"name": "My Voice Bubble",
"campaignType": "0",
"CompanyName": "Acme Inc",
"BusinessName": "Acme",
"Position": "bottom-right",
"TemplateId": "6be44833-9133-4639-b6c9-425aee057c1c",
"FirstMessage": "Hi! How can I help?",
"ScriptBase": "...",
"ScriptNotes": "...",
"Timezone": "America/New_York",
"TimezoneFriendlyName": "Eastern Time",
"FeatureEnrichmentInfoEnabled": false
}

Messages / SMS

campaignType: "0" + MessagesCampaign: true. No CallType, no schedule windows (text is async).

{
"name": "My Messages Campaign",
"campaignType": "0",
"MessagesCampaign": true,
"CompanyName": "Acme Inc",
"BusinessName": "Acme",
"TemplateId": "6be44833-9133-4639-b6c9-425aee057c1c",
"FirstMessage": "Hey, this is Acme...",
"ScriptBase": "...",
"ScriptNotes": "...",
"Timezone": "America/New_York",
"TimezoneFriendlyName": "Eastern Time",
"FeatureEnrichmentInfoEnabled": false
}

Authentication

api-keystring

Your Atlas API key. Get it from the Atlas Portal under Settings > API Keys.

Request

This endpoint expects an object.
namestringRequired

Required. Human-readable campaign name.

campaignTypeenumRequired

Required. Channel family. "1" = phone (inbound or outbound — set direction with CallType). "0" = non-phone (voice bubble or Messages/SMS — distinguished by MessagesCampaign).

Allowed values:
TemplateIdstringRequired

Required. ID of a starter template. See the catalog tables in the Create campaign endpoint description — pick the row matching the user’s language and the campaign channel (outbound, inbound, web for voice bubble, messages for SMS) and pass its Template ID here.

CallTypeenumOptional

Required when campaignType is "1", omit otherwise. Phone direction: "1" = inbound, "2" = outbound.

Allowed values:
MessagesCampaignbooleanOptional

Optional. Set true (with campaignType: "0") to create a Messages/SMS campaign. Omit for voice bubble.

PositionenumOptional

Required for voice bubble (campaignType: "0" with MessagesCampaign omitted). Voice bubble position on the host page. Omit for phone and Messages campaigns.

Allowed values:
CompanyNamestringOptional

Optional. Injected as {{companyName}} in the script.

BusinessNamestringOptional

Optional. Display name shown to callers/visitors.

IsActivebooleanOptional
Optional. Whether the campaign is enabled at creation.
ModebooleanOptional
Optional.
StartDatedatetimeOptional

Optional. Outbound-only — first date the agent may begin dialing. Ignored for inbound, voice bubble, and Messages campaigns.

TimeWindowsstringOptional

Optional. Outbound-only. JSON-encoded array of time-window objects. Each object must contain startHour (0–23), startMinute (0–59), endHour (0–23), and endMinute (0–59). Example: [{“startHour”:9,“startMinute”:0,“endHour”:17,“endMinute”:0}]. Ignored for inbound, voice bubble, and Messages campaigns.

FirstMessagestringOptional
Optional. Greeting the agent speaks at the start of every call.
PreScriptstringOptional
Optional. Prepended to the agent prompt.
PostScriptstringOptional
Optional. Appended to the agent prompt.
ScriptBasestringOptional
Optional. The agent's conversation script.
ScriptNotesstringOptional
Optional. Additional script guidance.
FeatureRescheduleCallEnabledbooleanOptional

Optional. Outbound-only — allow agent to reschedule calls.

FeatureEnrichmentInfoEnabledbooleanOptional

Optional. Toggle caller-info enrichment.

FeatureAppendPreviousSummaryEnabledbooleanOptional

Optional. Inbound-only — append previous call summary to context.

EnrichmentInfoProviderenumOptional
Optional. Provider used for caller enrichment.
Allowed values:
EnrichmentInfoSettingsstringOptional
Optional. JSON string of enrichment settings.
TimezonestringOptional

Optional. IANA timezone, e.g. America/New_York.

TimezoneFriendlyNamestringOptional

Optional. Human-readable timezone label.

StatusenumOptional
Optional. Lifecycle state.
Allowed values:
CollectionstringOptional

Optional. Collection/group identifier.

ToolIdsstringOptional

Optional. Comma-separated tool IDs.

SMSTriggerstringOptional
Optional. Trigger phrase that fires an SMS during a call.
SMSBodystringOptional
Optional. SMS body associated with the trigger.
FirstMessageModeenumOptional
Optional. Who speaks first at call start.
Allowed values:
EndCallMessagestringOptional
Optional. Message the agent says before hanging up.
VoicemailMessagestringOptional
Optional. Message left on voicemail.
AnalysisPlanSummaryPromptstringOptional
Optional. Prompt used to summarize calls for analysis.
AnalysisPlanSuccessEvaluationPromptstringOptional
Optional. Prompt used to evaluate whether the call achieved its goal.
AnalysisPlanStructuredDataPromptstringOptional
Optional. Prompt used to extract structured data from calls.
FeatureEndCallWhenVoicemailbooleanOptional
Optional. End the call when voicemail is detected.
VoicemailDropMechanismenumOptional

Optional. Voicemail drop strategy. audio-detection detects voicemail via audio analysis and drops a pre-recorded message. ringless delivers a voicemail without ringing the recipient’s phone.

Allowed values:
FeatureRedialOnNoResponsebooleanOptional
Optional. Retry call when there's no answer.
RedialSettingsstringOptional
Optional. JSON string of redial settings.
FeatureDoubleCallbooleanOptional
Optional. Place two concurrent attempts.
DailyCallLimitintegerOptional
Optional. Maximum calls per day.
IdleMessagesstringOptional
Optional. JSON string of idle messages.
IsOutboundChatActivebooleanOptional
Optional. Whether outbound chat is enabled.
ChatReplyPacingEnabledbooleanOptional
Optional. Messages campaigns only. When true, AI chat reply bubbles are paced with a typing indicator and a short delay before each send, making conversations feel more natural.
ChatReplyPacingSecondsintegerOptional1-60

Optional. Messages campaigns only. Fixed per-bubble typing duration in seconds (1–60). When absent or 0 the duration is auto-calculated based on message length.

Response

Campaign created
PartitionKeystringOptional
RowKeystringOptional
TimestampdatetimeOptional
odata.etagstringOptional
namestringOptional
campaignTypestringOptional
ModebooleanOptional
BusinessNamestringOptional
CallTypestringOptional
CompanyNamestringOptional
FirstMessagestringOptional
IsActivebooleanOptional
PhoneNumberIdstringOptional
PositionstringOptional
ScriptBasestringOptional
ScriptNotesstringOptional
StartDatedatetimeOptional
TimeWindowsstringOptional

JSON-encoded array of time-window objects. Each object contains startHour (0–23), startMinute (0–59), endHour (0–23), and endMinute (0–59).

SuccessRequestintegerOptional
TemplateIdstringOptional
TotalRequestintegerOptional
TotalTransfersintegerOptional
DailyCallLimitintegerOptional
KnowledgeBaseIdstringOptional
KnowledgeBaseDataSetIdstringOptional
Knowledge base dataset identifier
FeatureAppendPreviousSummaryEnabledbooleanOptional
PhoneNumberProviderstringOptional
FeatureRescheduleCallEnabledbooleanOptional
EnrichmentInfoSettingsstringOptional
EnrichmentInfoProviderstringOptional
FeatureEnrichmentInfoEnabledbooleanOptional
EndCallMessagestringOptional
VoicemailMessagestringOptional
AnalysisPlanSummaryPromptstringOptional
AnalysisPlanSuccessEvaluationPromptstringOptional
AnalysisPlanStructuredDataPromptstringOptional
FeatureEndCallWhenVoicemailbooleanOptional
VoicemailDropMechanismenumOptional

Voicemail drop strategy. audio-detection detects voicemail via audio analysis and drops a pre-recorded message. ringless delivers a voicemail without ringing the recipient’s phone.

Allowed values:
FeatureRedialOnNoResponsebooleanOptional
RedialSettingsstringOptional
JSON string of redial attempt configuration
FeatureDoubleCallbooleanOptional
TimezonestringOptional
TimezoneFriendlyNamestringOptional
StatusenumOptional
Allowed values:
CollectionstringOptional
IdleMessagesstringOptional
ToolIdsstringOptional
SMSTriggerstringOptional
SMSBodystringOptional
ForwardingPhoneNumberstringOptional
PreScriptstringOptional
PostScriptstringOptional
FirstMessageModeenumOptional
Allowed values:
ChatPhoneNumberIdstringOptional
IsOutboundChatActivebooleanOptional
ChatReplyPacingEnabledbooleanOptional
Whether AI chat reply pacing is enabled. When true, reply bubbles are sent with a typing indicator and a short delay, making conversations feel more natural. Messages campaigns only.
ChatReplyPacingSecondsintegerOptional

Fixed per-bubble typing duration in seconds (1–60). When absent or 0 the duration is auto-calculated based on message length. Messages campaigns only.

AIAssistantProviderenum or nullOptional
AI assistant runtime powering this campaign. Returns "atlas" when the campaign uses the Atlas runtime, or null otherwise.
Allowed values:
TotalBookeddoubleOptional
AtlasKnowledgeBaseIdstringOptional
MarketplaceAgentIdstringOptional
AgentTypestringOptional
languagestringOptional
voiceIdstringOptional

Errors

400
Bad Request Error
500
Internal Server Error