Logo
Search
API Docs

Batch Calling

Outbound Calling

Outbound Batch Calling: API and Campaign Setup

Overview

For dialing multiple numbers programmatically in a single request, Sulus provides the /call endpoint's customers array. For structured, Dashboard-managed campaigns with CSV recipient uploads and campaign analytics, see the dedicated Outbound Campaigns page.


Batch Calling via /call Endpoint

You can call multiple numbers in a single request by using the customers parameter (an array of customer objects) instead of the singular customer field.

{
    "assistantId": "assistant-id",
    "phoneNumberId": "phone-number-id",
    "customers": [
        {
            "number": "+11231231234"
        },
        {
            "number": "+12342342345"
        }
    ]
}

You can also combine customers with schedulePlan to schedule a batch for a future time:

{
    "assistantId": "assistant-id",
    "phoneNumberId": "phone-number-id",
    "customers": [
        { "number": "+11231231234" },
        { "number": "+12342342345" }
    ],
    "schedulePlan": {
        "earliestAt": "2025-05-30T00:00:00Z"
    }
}

Note: To provide customer-specific assistant overrides, you must call the endpoint separately for each destination number.


Concurrency Considerations

Each Sulus account has 10 concurrent call slots by default. When running a batch campaign, a maximum of 10 calls will start simultaneously — the rest are queued and retried as slots become available. See the Call Concurrency Limits page for the full details on monitoring and increasing this limit.


Dashboard Campaign Management

For a structured, Dashboard-managed campaign workflow — CSV recipient uploads with dynamic variables, a guided campaign creation flow, and campaign-level analytics — see the dedicated Outbound Campaigns page. That page is the authoritative source for the /campaign endpoint and Dashboard campaign workflow; this page covers only the lower-level /call endpoint batch mechanics.