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
Bearer token for authentication. Format:
Bearer talq_your_environment_token_hereMust be set to
application/jsonRequest body
Identification
Campaign name. Max 255 characters.
Free-form description of the campaign.
Campaign category. Options:
sales, follow_up, reminder, custom.UUID of the agent assigned to the campaign. The agent must exist in your environment.
Schedule
Date the campaign becomes eligible to dispatch calls. Format:
YYYY-MM-DD.Optional end date. Must be after
start_date. Format: YYYY-MM-DD.Array of weekday numbers when calls can be placed.
1 = Monday, 7 = Sunday. At least one value 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"}]IANA timezone for
call_time_ranges (e.g., America/New_York, America/Sao_Paulo, Europe/London). Max 50 characters.Retry & Cooldown
Initial delay (in seconds) before the first call attempt. Default:
0.Maximum retry attempts per contact. Range:
0–10. Default: 3.Hours to wait between retry attempts. Range:
1–168. Default: 24.When
true, the campaign automatically transitions to completed once all contacts have been processed.When
true, calls that completed but didn’t convert are retried after the cooldown.When
true, applies a cooldown to all contacts after the campaign completes (prevents immediate re-engagement by another campaign).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.
Cooldown after a successful call.
Cooldown after reaching voicemail.
Cooldown after no-answer.
Cooldown after busy signal.
Cooldown after a failed call.
Do-Not-Call (DNC)
When
true, contacts are checked against a DNC list before dispatching. Default: false.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 of phone numbers (E.164) blocked for this campaign. Used only when
do_not_call_list_source is custom.When
true, contacts that match auto_dnc_trigger_statuses or auto_dnc_trigger_errors are automatically added to the DNC list.Call statuses that trigger auto-add to DNC. Example:
["completed", "voicemail"].Call errors that trigger auto-add to DNC. Example:
["invalid_number", "disconnected"].Examples
Response
Success Response (201 Created)
Response fields
Indicates if the campaign was created successfully.
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.