Create a campaign
Creates a campaign with the complete configuration surface available in the UI. Supports CALL, CHAT, EMAIL, and TRIGGER campaigns. Most fields are optional and use canonical shared campaign defaults. For a basic call campaign, only name and voiceId are needed. No voice or phone number is selected automatically; IDs shown in examples are placeholders, not defaults. Use callParams for speech, scheduling, retries, voicemail, recording, and web calls; chatParams and emailParams configure their respective channels. steps or nestedSteps define the script, edges connect graph nodes, and fallbacks define recovery behavior. toolFunctions, triggers, preCallActions, knowledgeBaseIds, guardrailSettings, privacy, DNC, and memory settings are also supported. Arrays use replacement semantics and empty arrays clear values. The convenience fields voiceId and phoneNumbers override callParams.voice and callParams.phonesFrom. Omitted timezones default to UTC for deterministic API behavior; send an IANA timezone when local scheduling is required. Call, chat, and email campaigns are created inactive; trigger campaigns activate immediately. Organization, ownership, audit, lifecycle, generated credentials, and provider-managed fields are derived by the server.
Authorizations
Headers
Optional sub organization ID. Must belong to your main organization API key.
Body
Human-readable campaign name. Minimum 3 characters.
3Legacy flat script steps. Use this or nestedSteps; omitted scripts receive the standard starter step.
Hierarchical script nodes containing prompts, actions, transfers, forms, and meetings.
Directed graph edges connecting script and nested-script nodes.
Fallback behavior for silence, errors, retries, and unhandled input.
Interest classification criteria. Include a non-empty value when defining a custom criterion.
Whether interactions are initiated by the customer. Defaults to false.
Typed script variables. Omit to receive direction-aware defaults.
1 < x < 20Call, speech, scheduling, retry, recording, voicemail, web-call, and model settings. Nested fields use the same defaults as the UI.
Chat channel, sender numbers, cadence, and drop-off configuration.
Email connections, sender behavior, follow-up cadence, content, and signature configuration.
Post-interaction summary questions. Each question requires a non-empty name; description and options are optional.
Callable HTTP or integration actions available during an interaction. Every function definition and every parameter property must include a non-empty description. External tools require apiData; ActivePieces tools require activePieceData.
Trigger definitions used by trigger and event-driven campaigns.
Actions run before an outbound call. ActivePieces actions require their activePieceAction configuration.
Knowledge bases available to the campaign. IDs must belong to the authenticated organization.
Optional campaign group ID from the authenticated organization.
ROTATE_NUMBERS, PREFER_LOCAL_NUMBERS, AUTO_OPTIMIZE Campaign channel: CALL, CHAT, EMAIL, or TRIGGER. Defaults to CALL.
CALL, CHAT, TRIGGER, EMAIL Convenience alias for callParams.voice. When supplied, this value takes precedence.
^[0-9a-fA-F]{24}$Convenience alias for callParams.phonesFrom. When supplied, this list takes precedence; an empty list clears assigned call numbers.