Skip to content

When a limit is hit

When your organization reaches a plan limit, CXGear blocks the action and tells you clearly. Nothing fails silently in the background — you get a toast, an inline error, or an API response with error code PLAN_LIMIT.

This page explains what you will see and what to do next.

  1. You try an action that needs capacity (create a project, run a job, add a user, create an API key, …).
  2. CXGear checks your plan and current usage.
  3. If the meter is full, the action is rejected.
  4. You see a message such as:

Project limit reached on the trial plan (1/1). Upgrade to continue. Open Billing to upgrade your plan.

The exact wording names the resource and often shows used / limit.

Screenshot needed
Toast or error banner above a modal saying a plan limit was reached.
Where: Any create/run action at capacity
Save as: src/assets/screenshots/37-plan-limit-toast.png

Limit messages use toasts that sit above drawers and modals. You can still read the error while a form is open — you do not need to close the spinner builder or create-project dialog first.

If you miss the toast, open Billing → Usage and look for a meter at zero remaining.

APIs and integrations receive a structured error with:

FieldMeaning
errorCodePLAN_LIMIT
messageHuman-readable explanation (resource and used/limit)
HTTP statusTypically 403 (forbidden by plan), not a server crash

Your middleware should treat PLAN_LIMIT as “upgrade or free capacity,” not as a transient network failure. Retrying the same request without changing usage will fail again.

Public ingest and trigger endpoints enforce the same limits as the UI. A CRM that triggers a spinner can hit monthly job or record caps the same way Run now does.

ActionMeter that may block it
Create projectProjects
Publish / create spinnerSpinners
Invite userUsers
Create data tableData tables
Create API keyAPI keys
Connect channelChannels
Run or trigger a spinnerJobs / month, Records / month
Run call analysisCall analyses / month

Trial is intentionally tight (for example one project) so teams explore safely and upgrade when ready.

Work through these steps in order:

  1. Read the message — which resource is full?
  2. Open user menu → Billing and confirm the meter (used / limit / remaining).
  3. Free capacity if you are still exploring:
    • Remove unused projects, tables, keys, or users (where the product allows)
    • Avoid publishing extra test spinners on Trial
  4. Upgrade to Pro or Advanced via checkout (Stripe internationally, Razorpay in India).
  5. For custom needs, contact CXGear about Enterprise.

Monthly meters (jobs, records, analyses) also reset at the start of each calendar month. If you are blocked only on a monthly meter and can wait, usage will clear on reset — but campaigns usually need an upgrade instead.

  • The blocked action succeeds after upgrade or after freeing a resource
  • Billing meters show remaining headroom
  • Integrators handle PLAN_LIMIT without treating it as a 500
  • The team knows Trial is for learning, not production volume
ProblemLikely causeWhat to do
Toast disappearedAuto-dismissedCheck Billing meters
API returns 403 with PLAN_LIMITSame limit as UIUpgrade or free capacity; do not infinite-retry
Only some users blockedSame org limits apply to everyoneLimits are org-wide, not per user
Month just started but still blockedCapacity meter (projects/users), not monthlyFree a resource or upgrade
Thought delete would free a meterResource still counted or soft-deletedConfirm on Billing; contact support if stuck