Concurrency is the number of calls your workspace can have in progress at the same time. Inbound, outbound, web and batch calls all share one limit. The default is 20.
A call holds a slot while it is ongoing, and while it is registered (dialling or waiting to connect) for up to 10 minutes. When every slot is in use, new outbound and web calls get HTTP 429, inbound callers wait for a slot, and batch calls pause until slots free up.
The Limits page#
Open Settings and then Limits.
| Card | What it does |
|---|---|
| Concurrent Calls Limit | Your limit and Calls in progress right now. Adjust Concurrency changes the limit (admins only, 1 to 1000). |
| Reserved inbound slots | Slots that outbound, web and batch calls cannot use. |
| Burst concurrency | Admit calls above the limit when traffic spikes, at a surcharge. |
| LLM Token Limit | The maximum prompt size per request: 32768 tokens. |
Concurrency calculator at the top right estimates the limit you need: calls per day divided by business minutes, times the average call length, times 1.5 for peaks.
Reserved inbound slots#
Reserved slots keep room for inbound callers when you run outbound campaigns on the same workspace. With a limit of 20 and 5 reserved, outbound and web calls stop at 15 calls in progress, while inbound calls can use all 20.
curl -X PATCH https://api.tried.com.au/update-concurrency-settings \
-H "Authorization: Bearer $TRIED_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "reserved_inbound_concurrency": 5 }'The dashboard accepts 0 up to your limit. Batch calls also have their own Reserved concurrency per batch, which adds to this.
Burst concurrency#
With burst on, calls above your limit are admitted up to the lower of 3 times your limit and your limit plus 300. With a limit of 20 that is 60.
- Each call admitted above the base limit is flagged
concurrency_burst: true. - Those calls are charged an extra
concurrency_burstcost line of $0.15 per minute for the whole call. - Reserved inbound slots still apply to outbound and web calls during a burst.
Turn it on with the Burst concurrency switch, or PATCH /update-concurrency-settings with { "burst_enabled": true }.
Check concurrency with the API#
GET /get-concurrency:
{
"current_concurrency": 3,
"concurrency_limit": 20,
"base_concurrency": 20,
"purchased_concurrency": 0,
"reserved_inbound_concurrency": 5,
"concurrency_burst_enabled": true,
"concurrency_burst_limit": 60
}GET /get-concurrency-settings and PATCH /update-concurrency-settings return concurrency_limit, current_concurrency, reserved_inbound_concurrency, burst_enabled and burst_concurrency_limit.
Admission rules#
| Call type | Admitted when |
|---|---|
| Inbound | Calls in progress are below the limit (or the burst limit). Otherwise the caller waits up to 40 seconds, then goes to the number's fallback number or is hung up. |
| Outbound and web | Calls in progress are below the limit minus reserved inbound slots (or the burst limit minus reserved slots). Otherwise HTTP 429. |
| Batch | The scheduler dials up to the limit minus the batch's reserved concurrency minus calls in progress. It skips a pass when there is no room. |
| Register-call | Checked when your PBX connects. A full workspace ends the call with concurrency_limit_reached. |
Buy more concurrency#
The workspace includes 20 slots (TRIED_INCLUDED_CONCURRENCY, default 20). Raising the limit above that buys slots at $12 per slot per month.
- Charges go to the credit ledger once per calendar month (UTC). An hourly job charges each workspace once per month, and only the new slots when the limit grows mid-month.
- The Billing page Concurrency card shows Limit, Included and Purchased, with a Change limit link to the Limits page.
- API:
GET /concurrency-billingreturns the limit,included_concurrencyandpurchased_slots.
Calls per second#
Concurrency limits how many calls run at once. Calls per second limits how fast new outbound calls start on one number. Set it per number under Routing and SIP. See Outbound calls.
Gotchas#
- Registered calls that never connect hold a slot for up to 10 minutes. A burst of failed dials can fill slots briefly.
- The 429 message names the current count and the limit, for example
Concurrency limit reached (20/20). Retry with backoff. - Real call capacity also depends on vendor limits (LLM, TTS, STT and LiveKit plans). Raise those before raising the workspace limit. Deployment step