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 type | `campaignType` | `CallType` | `MessagesCampaign` | `Position` | | ------------------ | -------------- | ---------- | ------------------ | ---------- | | Outbound phone | `"1"` | `"2"` | omit | omit | | Inbound phone | `"1"` | `"1"` | omit | omit | | Voice bubble (web) | `"0"` | omit | omit | `"bottom-right"` \| `"bottom-left"` \| `"bottom-center"` \| `"not-positioned"` | | Messages / SMS | `"0"` | omit | `true` | omit | ### 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`) | Type | Title | Template ID | | -------- | ---------------------------------- | -------------------------------------- | | web | Voice Bubble - Create from scratch | `572cea7c-851b-430d-ad34-2df87cf78745` | | web | Voice Bubble - Auto Dealership | `860556f3-773a-4b3a-ad6d-9cf644d06490` | | web | Voice Bubble – Real Estate | `8c2245d0-db09-4549-94ec-7f3becb8f8ff` | | web | Voice Bubble – Renovations | `233a6ba7-564c-428e-9273-2d736f2a1710` | | web | Voice Bubble – MedSpa | `8560cf24-eaf5-4de1-ad5f-f5d591bd6573` | | outbound | Outbound - Create from scratch | `6be44833-9133-4639-b6c9-425aee057c1c` | | outbound | Outbound - Sales Qualifications | `ca2cedc2-c196-40d2-be22-dfd70bb4594c` | | outbound | Outbound - Appointment Confirmation | `303ae519-237a-4377-bc4b-c112da869210` | | outbound | Outbound - Customer Service | `391d2252-056b-48e6-8147-fb81c11c9a4f` | | inbound | Inbound - Create from scratch | `b169095e-4b52-4002-9c0f-6d860d8f69f2` | | inbound | Inbound - Receptionist | `ef425178-b820-460f-b4a2-1f8704487343` | | inbound | Inbound - Sales | `994c1320-b5c8-4ba6-af47-65f29caefaac` | | inbound | Inbound - Customer Service | `28eb844e-5d43-4469-b422-d8cbb08ddba4` | | messages | Messages - Create from scratch | `4371c8a9-f3c4-4b11-aa15-871870869fec` | | messages | Messages - Sales Qualifications | `5b993906-231b-406b-bfb9-6188449e7a29` | | messages | Messages - Appointment Confirmation | `93bd6c73-17f7-4e91-aee3-daaaa1fee598` | | messages | Messages - Customer Service | `54f23536-c34c-446e-8bfc-b089e68ec3e1` | #### Spanish (`es-US`) | Type | Title | Template ID | | -------- | ------------------------------------ | -------------------------------------- | | outbound | Outbound - Multilingual En & Spanish | `3d9f7b06-5ff9-47ad-bc9b-89d0d504fd80` | | outbound | Outbound - ESPAÑOL | `bf608583-a352-4cbc-8a4f-24e3b516c95e` | | inbound | Inbound - Multilingual En & Spanish | `937764af-80bf-4d3a-ba9d-5d0ffc62b5eb` | | inbound | Inbound - ESPAÑOL | `8f77d0cb-a198-4ec1-b202-442f1d7668ec` | | messages | Messages - Multilingual En & Spanish | `3d9f7b06-5ff9-47ad-bc9b-89d0d504fd80` | | messages | Messages - ESPAÑOL | `bf608583-a352-4cbc-8a4f-24e3b516c95e` | #### German (`de`) | Type | Title | Template ID | | -------- | ---------------------- | -------------------------------------- | | web | Von Grund auf erstellen | `422566c4-7408-4332-ae4c-5cf0c4640220` | | outbound | Von Grund auf erstellen | `422566c4-7408-4332-ae4c-5cf0c4640220` | | inbound | Von Grund auf erstellen | `422566c4-7408-4332-ae4c-5cf0c4640220` | | messages | Von Grund auf erstellen | `422566c4-7408-4332-ae4c-5cf0c4640220` | #### Romanian (`ro-RO`) | Type | Title | Template ID | | -------- | ---------------------- | -------------------------------------- | | inbound | Șablon pentru Inbound | `761a6468-53e1-48ae-b21b-0f1e5c5c4585` | | outbound | Șablon pentru Outbound | `23e344d1-39cb-4f64-9c9b-122f0903afbf` | | web | Șablon pentru web | `761a6468-53e1-48ae-b21b-0f1e5c5c4585` | | messages | Șablon pentru Messages | `23e344d1-39cb-4f64-9c9b-122f0903afbf` | #### French (`fr-FR`) | Type | Title | Template ID | | -------- | -------------------- | -------------------------------------- | | inbound | Modèle pour Inbound | `fd09500c-b572-41f7-b703-774e718c40fd` | | outbound | Modèle pour Outbound | `bf23d52a-c57e-4744-969b-a6c5b5c25b9e` | | web | Modèle pour web | `fd09500c-b572-41f7-b703-774e718c40fd` | | messages | Modèle pour Messages | `bf23d52a-c57e-4744-969b-a6c5b5c25b9e` | #### Hindi (`hi-IN`) | Type | Title | Template ID | | -------- | ------------------- | -------------------------------------- | | outbound | Create From Scratch | `f2086e1d-8c61-4dba-9551-602526b4db2b` | | inbound | Create From Scratch | `f2086e1d-8c61-4dba-9551-602526b4db2b` | | messages | Create From Scratch | `f2086e1d-8c61-4dba-9551-602526b4db2b` | #### Hebrew (`he-IL`) | Type | Title | Template 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`) | Type | Title | Template ID | | -------- | ------------------------------ | -------------------------------------- | | outbound | Sıfırdan oluşturmak - Giden | `951c250e-b776-4550-8c87-a6282878a8bc` | | inbound | Sıfırdan oluşturmak - Gelen | `951c250e-b776-4550-8c87-a6282878a8bc` | | web | Sıfırdan oluşturmak - Web | `951c250e-b776-4550-8c87-a6282878a8bc` | | messages | Sıfırdan oluşturmak | `951c250e-b776-4550-8c87-a6282878a8bc` | #### Multilingual (`multilanguage`) | Type | Title | Template ID | | -------- | ------------ | -------------------------------------- | | web | Multilingual | `937764af-80bf-4d3a-ba9d-5d0ffc62b5eb` | | inbound | Multilingual | `937764af-80bf-4d3a-ba9d-5d0ffc62b5eb` | | outbound | Multilingual | `3d9f7b06-5ff9-47ad-bc9b-89d0d504fd80` | | messages | Multilingual | `3d9f7b06-5ff9-47ad-bc9b-89d0d504fd80` | ### Outbound phone ```json { "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. ```json { "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. ```json { "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). ```json { "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).

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.

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.

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.
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.
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.
EndCallMessagestringOptional
Optional. Message the agent says before hanging up.
VoicemailMessagestringOptional
Optional. Message left on voicemail.
AnalysisPlanSummaryPromptstringOptional
Optional. Prompt used to summarize calls for analysis.
FeatureEndCallWhenVoicemailbooleanOptional
Optional. End the call when voicemail is detected.
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.

Response

Campaign created
PartitionKeystring
RowKeystring
Timestampdatetime
odata.etagstring
namestring
campaignTypestring
Modeboolean
BusinessNamestring
CallTypestring
CompanyNamestring
FirstMessagestring
IsActiveboolean
PhoneNumberIdstring
Positionstring
ScriptBasestring
ScriptNotesstring
StartDatedatetime
TimeWindowsstring

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

SuccessRequestinteger
TemplateIdstring
TotalRequestinteger
TotalTransfersinteger
DailyCallLimitinteger
KnowledgeBaseIdstring
KnowledgeBaseDataSetIdstring
Knowledge base dataset identifier
FeatureAppendPreviousSummaryEnabledboolean
PhoneNumberProviderstring
FeatureRescheduleCallEnabledboolean
EnrichmentInfoSettingsstring
EnrichmentInfoProviderstring
FeatureEnrichmentInfoEnabledboolean
EndCallMessagestring
VoicemailMessagestring
AnalysisPlanSummaryPromptstring
FeatureEndCallWhenVoicemailboolean
FeatureRedialOnNoResponseboolean
RedialSettingsstring
JSON string of redial attempt configuration
FeatureDoubleCallboolean
Timezonestring
TimezoneFriendlyNamestring
Statusenum
Collectionstring
IdleMessagesstring
ToolIdsstring
SMSTriggerstring
SMSBodystring
ForwardingPhoneNumberstring
PreScriptstring
PostScriptstring
FirstMessageModeenum
ChatPhoneNumberIdstring
IsOutboundChatActiveboolean
AIAssistantProviderenum or null
AI assistant runtime powering this campaign. Returns "atlas" when the campaign uses the Atlas runtime, or null otherwise.

Errors

400
Bad Request Error
500
Internal Server Error