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
- Go to Calls → Batch Calls.
- Click New Batch.
- Select your agent.
- Upload a CSV with recipient data, or paste numbers directly.
- Map CSV columns to variables (e.g., column “customer_name” →
{{name}}).
- Set a start time (now or scheduled).
- Set concurrency — how many simultaneous calls to place.
- Click Launch.
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
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 |
Respect local regulations for outbound calling. In India, commercial calls must comply with TRAI’s DND registry. Movoice provides DND scrubbing on Enterprise plans.
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:
{
"event_type": "call.completed",
"batch_id": "batch_77xx",
"call_id": "call_998877",
"outcome": "BOOKED",
"summary": "Customer confirmed appointment for Friday 3 PM"
}