Plans and limits
Do this
Section titled “Do this”- Open Companies, open the company and choose the Plan and limits tab.
- Under Start from a plan, press Trial, Standard or Enterprise to fill the form, or edit the fields. Each number has an Unlimited box; products are check boxes with a one-line description; dial modes are toggles; Where data is kept is a list.
- Press Save plan. Only
platform_billingandplatform_ownercan; for other roles the fields are read-only. - The banner after saving says whether the plan was also sent to the dialer (
core_synced). If not, the plan is saved and the gateway retries every few minutes.
A limit left unlimited means no limit. A company with no plan has no limits and every product.
Behind the screen: GET /plan-presets, GET/PUT /tenants/{id}/plan.
The three presets
Section titled “The three presets”| trial | standard | enterprise | |
|---|---|---|---|
| Calls at once | 5 | 100 | none |
| AI sessions at once | 5 | 100 | none |
| Dials per second | 2 | 10 | none |
| Agent seats | 3 | 50 | none |
| AI minutes per month | 300 | 50,000 | none |
| Products | Fronter bot, Verifier bot, QA Bot, list verification | all | all |
| Dial modes | ai_only, preview, manual |
all | all |
| Recording retention | 30 days | 3,650 days | 3,650 days |
| Data region | us |
us |
us |
Treat the numbers as starting points.
Each limit and where it is enforced
Section titled “Each limit and where it is enforced”| Limit | Meaning | Enforced by |
|---|---|---|
max_concurrent_calls |
Calls up at once across all the company’s campaigns | Dialer (stops launching), call-control (refuses the call) |
max_ai_sessions |
Bot conversations at once | Dialer, call-control, voice |
max_dials_per_second |
Dial starts per second | Dialer |
max_agents |
People with the agent or licensed agent role | Gateway, when adding a person |
monthly_ai_minute_cap |
AI minutes per calendar month (UTC) | Dialer |
allowed_products |
Which parts of VoDialer open | Gateway |
allowed_dial_modes |
Which dialing modes may run | Gateway at campaign start, and the dialer |
recording_retention_days |
How long recordings are kept | Stored only (see below) |
data_region |
Where the company’s data lives | Stored only (see below) |
Products: list_verification, fronter_bot, verifier_bot, agent_assist, qa_bot, training_bot, full_dialer. Dial modes: ai_only, predictive, progressive, preview, manual.
Without full_dialer, fronter_bot or verifier_bot a company gets no dialer, campaigns, queues, trunks, inbound routes or media nodes. Bots and the playground need any bot product. List checks need list_verification or full_dialer. QA Bot needs qa_bot or full_dialer. Nothing else is gated.
At 80% of the AI minutes
Section titled “At 80% of the AI minutes”The dialer announces vd.platform.ai_minutes_threshold once a month at 80% and once at 100%. At 100% it stops AI launches for ai_only campaigns. Human-first campaigns keep dialing.
What a company sees
Section titled “What a company sees”| Code | When |
|---|---|
product_not_enabled |
A request to a part its plan does not include. The answer lists which products would open it. |
dial_mode_not_allowed |
Starting a campaign whose mode is not in the plan. |
seat_limit_reached |
Adding an agent beyond max_agents. |
ai_minute_cap_reached, tenant_concurrent_limit, tenant_ai_session_limit, tenant_dial_rate_limit |
Why a running campaign launches nothing. See dial-check reasons. |
Limits are commercial, not safety
Section titled “Limits are commercial, not safety”The services read a company’s limits from core and keep them for 10 seconds. If core cannot be reached they keep the last value they saw, or apply none if they never saw one. A limit never replaces a safety check.
Two campaigns deciding in the same moment can overshoot by one launch batch. Call-control is the hard stop for calls at once.