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

# Batch Calls

> Send AI voice calls to thousands of recipients at once.

# Batch Calls

Batch calling lets you send an AI voice agent to call a large list of recipients simultaneously — for campaigns, reminders, surveys, and collections.

## Use Cases

* **Appointment reminders** — call all patients booked for tomorrow
* **Payment collection** — remind customers with overdue invoices
* **Lead outreach** — follow up with inbound leads within minutes
* **Event confirmations** — confirm attendance for a webinar or event
* **Survey calls** — gather feedback from recent customers

***

## Create a Batch

### Via Dashboard

1. Go to **Calls → Batch Calls**.
2. Click **New Batch**.
3. Select your agent.
4. Upload a CSV with recipient data, or paste numbers directly.
5. Map CSV columns to variables (e.g., column "customer\_name" → `{{name}}`).
6. Set a **start time** (now or scheduled).
7. Set **concurrency** — how many simultaneous calls to place.
8. Click **Launch**.

### CSV Format

```csv theme={null}
phone,name,amount_due,due_date
+919876543210,Rahul Sharma,₹2500,April 25
+919876543211,Priya Patel,₹1800,April 26
+919876543212,Amit Kumar,₹3200,April 27
```

### Via API

```bash theme={null}
curl -X POST https://api.movoice.ai/v1/calls/batch \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": "agent_12345",
    "recipients": [
      {
        "phone": "+919876543210",
        "variables": { "name": "Rahul", "amount_due": "₹2500" }
      },
      {
        "phone": "+919876543211",
        "variables": { "name": "Priya", "amount_due": "₹1800" }
      }
    ],
    "concurrency": 5,
    "schedule_at": 1714000000
  }'
```

***

## Monitor a Batch

In **Calls → Batch Calls**, each batch shows:

* Total recipients
* Calls completed / failed / in-progress
* Answer rate (% picked up)
* Outcome distribution (BOOKED, REFUSED, NO\_ANSWER, etc.)

You can pause or cancel a running batch at any time.

***

## Concurrency & Limits

| Plan           | Max concurrent calls | Max batch size |
| :------------- | :------------------- | :------------- |
| **Starter**    | 1                    | 50             |
| **Growth**     | 3                    | 500            |
| **Business**   | 10                   | 5,000          |
| **Enterprise** | Custom               | Unlimited      |

<Warning>
  Respect local regulations for outbound calling. In India, commercial calls must comply with TRAI's DND registry. Movoice provides DND scrubbing on Enterprise plans.
</Warning>

***

## Webhook for Batch Results

Subscribe to `call.completed` webhooks to process results in real-time as each call finishes, rather than waiting for the full batch:

```json theme={null}
{
  "event_type": "call.completed",
  "batch_id": "batch_77xx",
  "call_id": "call_998877",
  "outcome": "BOOKED",
  "summary": "Customer confirmed appointment for Friday 3 PM"
}
```
