Calls & Campaigns
Create Campaign
Create a new campaign with scheduling, retry logic, and do-not-call rules
POST
Create Campaign
Create a new campaign with scheduling, retry policy, cooldowns, and do-not-call rules. Campaigns are created indraft status — call Update Campaign Status with "status": "active" to start dispatching calls.
Endpoint
Request headers
string
required
Bearer token for authentication. Format:
Bearer talq_your_environment_token_herestring
required
Must be set to
application/jsonRequest body
Identification
string
required
Campaign name. Max 255 characters.
string
Free-form description of the campaign.
string
required
Campaign category. Options:
sales, follow_up, reminder, custom.string
required
UUID of the agent assigned to the campaign. The agent must exist in your environment.
Schedule
string
required
Date the campaign becomes eligible to dispatch calls. Format:
YYYY-MM-DD.string
Optional end date. Must be after
start_date. Format: YYYY-MM-DD.array
required
Array of weekday numbers when calls can be placed.
1 = Monday, 7 = Sunday. At least one value required.array
required
Time windows (per day) during which calls can be dispatched. Array of objects with
start and end in HH:MM format (24h). At least one window required. Each window’s end must be after its start.Example: [{"start": "09:00", "end": "12:00"}, {"start": "14:00", "end": "17:00"}]string
required
IANA timezone for
call_time_ranges (e.g., America/New_York, America/Sao_Paulo, Europe/London). Max 50 characters.Retry & Cooldown
integer
Initial delay (in seconds) before the first call attempt. Default:
0.integer
Maximum retry attempts per contact. Range:
0–10. Default: 3.integer
Hours to wait between retry attempts. Range:
1–168. Default: 24.boolean
When
true, the campaign automatically transitions to completed once all contacts have been processed.boolean
When
true, calls that completed but didn’t convert are retried after the cooldown.boolean
When
true, applies a cooldown to all contacts after the campaign completes (prevents immediate re-engagement by another campaign).integer
Hours of cooldown applied to contacts after campaign completion. Range:
1–168. Default: 168.Per-status cooldowns
These optional fields overrideretry_cooldown_hours for specific call outcomes. All in range 1–168 hours.
integer
Cooldown after a successful call.
integer
Cooldown after reaching voicemail.
integer
Cooldown after no-answer.
integer
Cooldown after busy signal.
integer
Cooldown after a failed call.
Do-Not-Call (DNC)
boolean
When
true, contacts are checked against a DNC list before dispatching. Default: false.string
Source of the DNC list. Options:
environment— DNC list shared across all campaigns in this environmentglobal— platform-wide DNC listcustom— campaign-specific list provided indo_not_call_custom_list
array
Array of phone numbers (E.164) blocked for this campaign. Used only when
do_not_call_list_source is custom.boolean
When
true, contacts that match auto_dnc_trigger_statuses or auto_dnc_trigger_errors are automatically added to the DNC list.array
Call statuses that trigger auto-add to DNC. Example:
["completed", "voicemail"].array
Call errors that trigger auto-add to DNC. Example:
["invalid_number", "disconnected"].Examples
Response
Success Response (201 Created)
Response fields
boolean
required
Indicates if the campaign was created successfully.
object
required
The created campaign object. New campaigns start in
status: "draft". Use Update Campaign Status to activate.Error responses
422 Validation Error
401 Unauthorized
403 Forbidden — Plan Limit Reached
Notes
- The campaign agent must already exist. Create it via Create Agent.
call_time_rangesreplaces the olderearliest_call_time/latest_call_timefields. Multiple windows let you skip lunch hours or split between morning and afternoon.- All
*_cooldown_hoursfields default to24if not provided. Use them to fine-tune retry behavior per call outcome. - Time windows are evaluated in the campaign’s
timezone, not the caller’s local time.