Plans & billing
Two layers of billing:
- Agency subscription — what the agency pays the platform. Set by SUPER_ADMIN.
- Client plans — what the agency charges THEIR customers. Set by AGENCY_ADMIN
under
/dashboard/payments.
Agency subscription
Configured at signup or via /dashboard/payments (AGENCY_ADMIN). Drives:
- Total contact cap across all clients
- Total channel cap
- Concurrent team member cap
- Integration allow-list
Client plans
/dashboard/payments → Client plans — AGENCY_ADMIN creates plans they can assign to
clients. Each plan has:
- Name + code
- Description + features (markdown bullets)
- Amount (minor units) + currency
- Structured limits:
- Max WhatsApp channels
- Max contacts
- Max team members
- Max GMB locations
- Allowed integrations (
["*"]for all,[]for none, or specific connector keys)
Assigning a plan to a client triggers the enforcement layer — the platform refuses operations that would exceed the limits.
Checkout
- Stripe — for USD / EUR / GBP / other major currencies
- Razorpay — for INR
Per-agency payment provider config at /dashboard/payments → Provider settings.
Test mode keys for staging; live mode keys for production.
Plan-limit enforcement
The platform checks the client’s plan limits before performing limit-relevant operations:
- Before connecting a new channel
- Before importing contacts via CSV or creating a contact
- (more — see Plan limits + enforcement)
Limits are cached briefly for performance, and the system fails open during a transient outage — better to let a few extra inserts through than to brick the inbox.
Last updated on