Create voice campaign
create_voice_campaignCreate an AI voice campaign as a DRAFT: it places no call until it is launched. It is outbound and run by the AI agent of an AI phone line (voice_line_id). Give it its contacts in the same call: contact_rows (phone, name, variables the AI agent reads, optional fallback group and order), or contact_ids of existing contacts, or a label/segment audience (audience_type with audience). Send exactly one of them. Phone numbers are checked right away (a bad one refuses the whole call and says which rows); do-not-call numbers and duplicates are flagged afterwards and read in validation_summary. idempotency_key is required: reuse the same one when you retry, so no second campaign is made. The answer has the campaign id, which every other voice campaign tool takes, and contacts_import. Consent is not part of creating: it is attested when launching.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| audience | No | With audience_type label: {label_ids: [ids]}; with segment: {custom_filter_id: id}. The contacts are taken when the campaign launches. | |
| timezone | No | IANA name, for example America/Bogota. | |
| ai_settings | No | What the AI agent does in this campaign: opening (text per locale es/en), first_speaker (agent or caller), dispositions, extraction_fields, voicemail, hot_lead, ringing_seconds (15 to 60), variable_map. Read get_voice_campaign for the shape in use. | |
| contact_ids | No | Ids of this account's contacts (their phone number is the one called), at most 2000. | |
| description | No | ||
| dialer_mode | No | How fast contacts are dialed (progressive by default). | |
| contact_rows | No | The people to call, at most 2000. Their phone numbers stay in this account; send each person once. | |
| max_attempts | No | Calls to one contact before giving up. | |
| scheduled_at | No | When to start, in the future: YYYY-MM-DDTHH:MM in the campaign timezone, or with an offset. Launching a campaign that has one schedules it instead of starting it. | |
| audience_type | No | Only with audience, instead of contact_rows and contact_ids. | |
| voice_line_id | Yes | The AI phone line that calls (its agent talks, its number shows). | |
| calling_window | No | The hours and days the campaign may call, in its timezone. | |
| idempotency_key | Yes | Any unique text you make up for this request. Sending the same one again returns the campaign already created instead of making a second. | |
| retry_delay_mins | No | Minutes before the next attempt. | |
| target_concurrency_limit | No | Calls at the same time. |