Create outbound call campaigns from a contact list (immediate or scheduled)
POST /campaignphone), and optionally a launch date and recall policy. The system creates or updates contacts and launches the calls.| Field | Type | Description |
|---|---|---|
playbook_id | string | UUID of the playbook (assistant) used for the calls. Must belong to your account. |
contacts | array | List of contacts to call. Each item must have at least the phone field. |
| Field | Type | Description |
|---|---|---|
launch_at | string | Launch date/time in ISO format (e.g. "2025-03-01T10:00:00"). If provided, the campaign is scheduled for that time; otherwise it runs immediately. |
recall | string or array | Retry policy in minutes. See section 4. |
contacts may include, in addition to phone, any of these fields (for call personalization or CRM):
| Field | Type | Description |
|---|---|---|
first_name | string | First name |
last_name | string | Last name |
email | string | |
company | string | Company |
job_title | string | Job title |
address | string | Address |
city | string | City |
state | string | State / province |
country | string | Country |
postal_code | string | Postal code |
timezone | string | Timezone (e.g. Europe/Madrid) |
utm_source | string | UTM source |
utm_medium | string | UTM medium |
utm_campaign | string | UTM campaign |
utm_term | string | UTM term |
utm_content | string | UTM content |
custom_fields | object | Custom key-value fields |
recall fieldrecall field defines retry delays in minutes from the time of the call (or from launch time for scheduled campaigns). It is stored per call and used to automatically reschedule calls (e.g. if the contact does not answer).
String with array of minutes:
"recall": "[30,120]" — retry at 30 and 120 minutes.
Example in the body:
launch_at to schedule the launch:
recall works the same as for immediate campaigns.
202 Accepted202 Accepted| Code | Meaning |
|---|---|
| 400 | Invalid data: missing playbook_id, empty contacts, or a contact without a valid phone. |
| 401 | Not authenticated: missing or invalid token. |
| 403 | Playbook not found or not owned by your account. |
| 500 | Internal server error. |
Authorization: Bearer YOUR_TOKEN header.playbook_id (UUID) and contacts (array of objects with at least phone).launch_at to schedule; recall (e.g. "[30,120]") for retries in minutes.202 with campaign_id.