Create bulk call
Create a new bulk-call campaign. Supports immediate, scheduled, and auto-retry modes.
Name of the bulk call campaign.
Your phone number id to use for making calls.
Set to `true` to create a dynamic campaign that accepts contacts in real time via the Add contact to dynamic campaign webhook. When `true`, `contact_list` is optional and may be omitted to start the campaign empty.
Array of contact objects. Each row needs `phone_number`. Any other key you add on the row (e.g. `customer_name`, `account_id`, `priority`) is passed to the agent as a context variable for that specific call, so the agent can reference it during the conversation. Required for static campaigns. Optional when `is_dynamic` is `true` (you can omit it and add contacts later via the webhook).
curl -X POST 'https://backend.omnidim.io/api/v1/calls/bulk_call/create' \ -H 'Authorization: Bearer YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d '{ "name": "Customer Follow-up Campaign", "is_dynamic": false, "contact_list": [ { "phone_number": "+15551234567", "customer_name": "John Doe", "account_id": "ACC-12345" }, { "phone_number": "+15559876543", "customer_name": "Jane Smith", "account_id": "ACC-67890", "priority": "high" } ], "is_scheduled": false, "scheduled_datetime": "2026-12-25 10:00:00", "timezone": "America/New_York", "concurrent_call_limit": 1, "enabled_reschedule_call": false, "retry_config": { "auto_retry": false, "retry_schedule_days": 0, "retry_schedule_hours": 0, "retry_limit": 0 } }'
{ "status": "success", "message": "Bulk call created successfully", "id": 314, "is_scheduled": false, "is_dynamic": false, "current_status": "pending" }
Authorization
BearerAuth Bearer token authentication. Obtain your API key from the OmniDimension dashboard.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
Fetch bulk calls
List bulk-call campaigns with pagination and optional status filter.
Add contact to dynamic campaign
Push a single contact into a dynamic bulk-call campaign in real time. Dynamic campaigns are created from the dashboard (Bulk Call > Create New Campaign > Dynamic Campaign) and stay alive waiting for contacts, so this webhook is how you feed them from a CRM, form, or automation platform. The contact is queued immediately, and the campaign starts calling it as soon as it is within operating hours.
