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
TimeWindowsstring
JSON-encoded array of time-window objects. Each object contains startHour (0–23), startMinute (0–59), endHour (0–23), and endMinute (0–59).
KnowledgeBaseDataSetIdstring
Knowledge base dataset identifier
FeatureAppendPreviousSummaryEnabledboolean
PhoneNumberProviderstring
FeatureRescheduleCallEnabledboolean
EnrichmentInfoSettingsstring
EnrichmentInfoProviderstring
FeatureEnrichmentInfoEnabledboolean
AnalysisPlanSummaryPromptstring
FeatureEndCallWhenVoicemailboolean
FeatureRedialOnNoResponseboolean
RedialSettingsstring
JSON string of redial attempt configuration
TimezoneFriendlyNamestring
ForwardingPhoneNumberstring
IsOutboundChatActiveboolean
AIAssistantProviderenum or null
AI assistant runtime powering this campaign. Returns "atlas" when the campaign uses the Atlas runtime, or null otherwise.