> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zeroruntime.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Batch Calls

> Have your agent call a list of phone numbers, right away or on a schedule.

A batch call uploads a list of phone numbers, and your agent calls each one. Use it for reminders, renewals, surveys, or any outbound campaign.

## How the agent is chosen

A batch doesn't pick an agent directly. It uses an **outbound routing rule**, and the rule decides which agent makes the calls.

<Steps>
  <Step title="Deploy the agent">
    [Commit and deploy](/agent-builder/deploy) the agent that should make the calls.
  </Step>

  <Step title="Assign an outbound routing rule">
    Connect the agent to an outbound routing rule on your calling number. See [Telephony integration](/agent-builder/telephony/integration).
  </Step>
</Steps>

<Tip>
  Before calling a whole list, place one test call to your own phone with [Make an outbound call](/api-reference/calls/make-an-outbound-call).
</Tip>

## Create a batch

In the dashboard, open **Batch Calling** and select **Create New Batch**.

<Steps>
  <Step title="Basic information">
    * **Batch Name** (required) and an optional **Description**.
    * **Phone Number** (required): the number to call from.
    * **Routing Rule** (required): the outbound rule that picks your agent. Only rules attached to the selected number are listed.
  </Step>

  <Step title="Upload recipients">
    Upload a `.csv` file under **Recipients**. Select **Template** to download a sample.

    ```csv theme={null}
    phone_number,name,email
    +12345678901,John Doe,john@example.com
    ```

    * `phone_number` is required and must include the country code.
    * Every other column, such as a name or order ID, is passed to the agent with that call.

    After the upload, review the recipients in the preview table and delete any rows you don't want to call.
  </Step>

  <Step title="Choose timing">
    * **Send immediately**: calls start as soon as the batch is created.
    * **Schedule for later**: choose a **Timezone**, a **Scheduled date**, and a **Calling Window** (start and end time). Calls are only placed inside the window.
  </Step>

  <Step title="Set retries (optional)">
    Turn on **Retry Failed Attempts** to call again when a call fails.

    * **Retry On**: Call Failed, No Answer, Rejected, or Missed Call.
    * **Maximum Retry Attempts**: up to 3 attempts, each with its own delay (15 minutes to 24 hours).
    * For scheduled batches, the **Call Completion Policy** decides whether unfinished retries continue on the next eligible day or stop at the end of today's window.
  </Step>

  <Step title="Start">
    Select **Send Now** (or **Schedule**). Use **Save as Draft** to finish the batch later.
  </Step>
</Steps>

## Track a batch

The Batch Calling list shows each batch's status: **Draft**, **Scheduled**, **Running**, **Completed**, or **Cancelled**.

Open a batch to see its progress and every recipient's status: Scheduled, Running, Completed, Not Connected, or Cancelled. Each completed call has its recording, and a link to the call's session. Select **Download CSV** to export the results.

To stop a running batch, select **Force Stop**:

* **Graceful Stop**: lets ongoing calls finish and starts no new ones.
* **Immediate Stop**: ends all calls right away, including those in progress.

Stopping cancels every remaining call and can't be undone.

## Create a batch with the API

```bash theme={null}
curl -X POST 'https://api.zeroruntime.ai/v1/batch-calls' \
  -H 'Authorization: YOUR_API_TOKEN' \
  -F 'file=@customers.csv' \
  -F 'name=October renewals' \
  -F 'phoneNumber=+14155550100' \
  -F 'routingRuleId=rr_2554md'
```

See [Create batch call](/api-reference/batch-calls/create-batch-call) for scheduling, retries, and webhooks, and [Get batch call](/api-reference/batch-calls/get-batch-call) to follow its progress.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.