Skip to main content
POST

Authorizations

Authorization
string
header
required

Headers

x-sub-organization-id
string

Optional sub organization ID. Must belong to your main organization API key.

Body

application/json
name
string
required

Human-readable campaign name. Minimum 3 characters.

Minimum string length: 3
useLocalDialing
boolean | null
required
steps
object[]

Legacy flat script steps. Use this or nestedSteps; omitted scripts receive the standard starter step.

nestedSteps
object[]

Hierarchical script nodes containing prompts, actions, transfers, forms, and meetings.

edges
object[]

Directed graph edges connecting script and nested-script nodes.

fallbacks
object[]

Fallback behavior for silence, errors, retries, and unhandled input.

interestCriteria
string | null
interestCriteriaV2
object | null

Interest classification criteria. Include a non-empty value when defining a custom criterion.

webhookUrl
string | null
slackUrl
string | null
webhookStatuses
string[]
webhookEvents
string[]
webhooks
object[]
slackStatuses
string[]
slackEvents
string[]
isIncoming
boolean | null
default:false

Whether interactions are initiated by the customer. Defaults to false.

scriptVariables
string[]
scriptVariablesV2
object[]

Typed script variables. Omit to receive direction-aware defaults.

maxIncomingSlots
number
default:2
Required range: 1 < x < 20
callParams
object

Call, speech, scheduling, retry, recording, voicemail, web-call, and model settings. Nested fields use the same defaults as the UI.

chatParams
object | null

Chat channel, sender numbers, cadence, and drop-off configuration.

emailParams
object | null

Email connections, sender behavior, follow-up cadence, content, and signature configuration.

maxOutgoingConcurrency
number
default:10
maxOutgoingCallsBatchSize
number
default:2
limitOutgoingConcurrency
boolean
default:true
summaryQuestions
object[]

Post-interaction summary questions. Each question requires a non-empty name; description and options are optional.

toolFunctions
object[]

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.

triggers
object[]

Trigger definitions used by trigger and event-driven campaigns.

preCallActions
object[]

Actions run before an outbound call. ActivePieces actions require their activePieceAction configuration.

allowContactDuplicates
boolean
default:false
backgroundNoiseId
string | null
knowledgeBaseIds
string[]

Knowledge bases available to the campaign. IDs must belong to the authenticated organization.

campaignGroupId
string | null

Optional campaign group ID from the authenticated organization.

dialingStrategy
enum<string>
default:ROTATE_NUMBERS
Available options:
ROTATE_NUMBERS,
PREFER_LOCAL_NUMBERS,
AUTO_OPTIMIZE
type
enum<string>
default:CALL

Campaign channel: CALL, CHAT, EMAIL, or TRIGGER. Defaults to CALL.

Available options:
CALL,
CHAT,
TRIGGER,
EMAIL
preCallChat
object | null
useCase
string | null
useLocalDnc
boolean | null
shouldAddToLocalDnc
boolean | null
sensitiveContentRestricted
boolean
default:false
deleteTranscriptsWithSensitiveData
boolean
default:false
deleteRecordingsWithSensitiveData
boolean
default:false
maskSensitiveMessages
boolean
default:false
turnOffContactMemories
boolean
default:false
turnOffContactMemoryContribution
boolean
default:false
turnOffGlobalContactMemories
boolean
default:false
scriptUpdateRules
object[] | null
ignoredContactVariables
string[]
guardrailSettings
object | null
voiceId
string

Convenience alias for callParams.voice. When supplied, this value takes precedence.

Pattern: ^[0-9a-fA-F]{24}$
phoneNumbers
string[]

Convenience alias for callParams.phonesFrom. When supplied, this list takes precedence; an empty list clears assigned call numbers.

webCallCredentials
object | null

Response

Campaign created successfully

status
enum<string>
Available options:
success
data
object