Skip to main content
Use a batch for campaigns: re-engaging old enquiries, reminding a class about tomorrow’s session, collecting feedback from last month’s customers.

Create a batch

Each row is accepted or rejected on its own; one bad row never fails the batch:
index is the row’s position in your calls array. Rejection codes: A row can set its own agent_id to override the batch’s. The whole batch is refused only when it has no rows, more than 1,000 rows, an unknown agent, or the account has no credits.

Follow progress

Each call still sends its own webhook as it finishes. To list a batch’s calls with their outcomes: GET /v1/calls?batch_id=batch_… (see Pagination).

How fast

Batch calls are dialled as your lines free up, behind single calls from POST /v1/calls, and only inside calling hours. A batch created in the evening starts when your next calling window opens. Calls still waiting after 48 hours end expired. For more than 1,000 contacts, send several batches; they share the same queue. To stop a batch, cancel its calls that are still queued with POST /v1/calls/{id}/cancel.

Tips

  • Keep variables short and natural; the agent says them out loud.
  • Run the batch first with "test": true to catch rejected rows without calling anyone.
  • Large lists: split by region or language and use the matching agent for each.