Skip to main content
Concurrency is the number of simultaneous active calls your workspace can run at any given moment. DialNexa enforces concurrency limits at the workspace level to ensure fair resource allocation across customers. Understanding these limits is important for planning outbound campaigns and high-volume inbound routing.

What Concurrency Means

A call is considered active from the moment it connects until the moment it ends. Every active call consumes one concurrency slot:
  • Inbound calls in progress
  • Outbound API calls in progress
  • Batch campaign calls in progress
  • Web calls in progress
  • Retry attempts in progress
Queued calls (dialing but not yet connected) count toward concurrency during the ringing phase. If a call fails to connect, the slot is released.

Concurrency Limits by Plan

Your workspace’s concurrency limit depends on your plan tier. Current limits are displayed in Settings > Workspace > Limits.
PlanDefault Concurrency
Starter5 simultaneous calls
Growth25 simultaneous calls
Scale100 simultaneous calls
EnterpriseCustom
These limits are indicative. Actual limits for your workspace are shown in Settings. Enterprise plans negotiate custom limits based on expected call volume.

What Happens When the Limit Is Hit

When your workspace reaches its concurrency limit:
  • Inbound calls: Additional inbound calls are rejected. The caller hears a busy signal or carrier rejection tone.
  • Outbound API calls: POST /calls returns HTTP 409 Conflict with an error body indicating the concurrency limit is reached.
  • Batch campaigns: New dials in the batch are queued internally and attempted when a slot opens. The batch may run longer than expected if slots are consistently saturated.
  • Web calls: The SDK call.start() method throws an error indicating capacity is unavailable.
No call data is lost. Calls that fail to start due to concurrency limits do not create call records.

Check Current Usage

Monitor live concurrency usage:
  1. Open Settings > Workspace > Limits in the dashboard.
  2. The Active Calls gauge shows your current slot usage versus your limit in real time.
  3. Historical concurrency peaks are shown in the Usage tab of your workspace analytics.
You can also query current usage via API:
GET https://api.dialnexa.com/v1/workspace/usage
{
  "concurrency_limit": 25,
  "active_calls": 18,
  "available_slots": 7
}

Plan for High-Volume Campaigns

Before running a large batch campaign:
  1. Estimate peak concurrency: (recipients per hour) / (avg call duration in minutes) * (1 min / 60 min) gives you approximate concurrent calls at steady state.
  2. Compare this estimate to your concurrency limit.
  3. If the estimate exceeds your limit, either spread the batch over a longer time window or request a limit increase before starting.
For batches where all calls are dialed simultaneously, set the wait_minutes retry setting generously so retry waves do not coincide with the initial dial wave.

Request a Limit Increase

To increase your concurrency limit:
  1. Go to Settings > Workspace > Limits.
  2. Click Request Increase.
  3. Enter the limit you need and a brief description of your use case.
  4. DialNexa support reviews the request, typically within one business day.
Enterprise customers can negotiate permanent higher limits as part of their contract. Contact your account manager.
Temporary limit increases for scheduled campaigns should be requested at least 48 hours in advance to allow time for approval and provisioning.

Per-Number Limits

In addition to workspace concurrency, individual phone numbers may have per-number concurrent call limits set by the telephony carrier. These are usually higher than workspace limits and are not displayed in the dashboard. If you encounter per-number throttling, contact DialNexa support.