Free Tier & Trials
Audience: Sales / Finance / Management (engineers for the technical section) · Where in app: Signup → automatic; Billing → Subscribe · Plan availability: All plans (every new tenant starts on a trial)
Every new account starts with a free trial that gives full access to evaluate the platform before paying. Customer-facing material describes this as a 7-day trial with no card required, after which the tenant must pick a paid plan to keep using the platform. Internally, the trial is a real SubscriptionModel row with is_trial: true.
What it does
- Auto-assigns a trial subscription on signup so the tenant can set up and test everything.
- Runs the full product (widget, sessions, AI chat/call, integrations, identity graph) within a reduced AI-credit balance.
- Degrades gracefully when the trial ends without a subscription (preview mode / queue-for-human).
How it works
- Sign up → company created → a trial subscription is auto-assigned.
SubscriptionModel.is_trial: true,stripe_trial: true.- A trial period is set (customer docs: 7 days; nox-KB notes typically 7–14 days, plan-dependent — verify the exact length in code/config).
- All features are available (or per a trial feature gate).
- AI credits are reduced — enough to evaluate (e.g. ~50 chats / a handful of calls). Trial credits do not refresh.
Configuration & options
What's available during trial
- All admin features
- Widget installation
- Live + recorded sessions
- AI chat agent (within credit limit)
- AI call agent (within credit limit)
- Integrations
- Identity graph
Subscribing (ending the trial)
- Click Subscribe → choose a plan → Stripe checkout.
SubscriptionModelupdated:is_trial: false,subscription_status: "active", newexpiry_date.- AI credits replenished to the plan allotment; all features unlocked.
The free voice period (separate from the trial)
companies.free_period_minutes (default 10 minutes) is an initial pool of free AI-voice minutes. It burns down first, before AI credits are charged. This is distinct from the evaluation trial above.
Common patterns (sales)
- Sales-led trial: a rep extends the trial period manually via admin (no automation).
- Free-tier tenants: some plans may include an indefinite free tier with reduced features (verify which plans).
Behaviors & edge cases
Trial expiry (QA/support)
When the trial expires without a subscription:
subscription_status: "expired".- The widget still loads but AI agents fall back to "queue for human" or an offline message.
- The identity-graph subscription gate trips → the AI sees only the current session (no cross-session memory).
- The admin dashboard stays accessible (read-only beyond a grace period).
- Historical data is retained per the data-retention policy.
Preview mode (unsubscribed users)
For accounts that signed up but never started a trial, or whose trial expired:
- Read-only dashboard.
- Widget shows but does not capture leads.
- Sessions don't record.
- A prominent "Subscribe to unlock" CTA.
AI credits during trial
- Starts with a small balance (e.g. ~5,000 credits — verify).
- Trial credits do not replenish monthly.
- Add-on purchases are not allowed during a trial — the admin must subscribe first.
Grace period
- Trial expiry is hard at the policy boundary; there is no grace unless
companies.grace_period_claimedis stillfalse(it's a one-time grace).
Plan & limits
- Trial length: customer docs say 7 days; nox-KB says 7–14 days plan-dependent — verify before quoting.
- Trial AI-credit balance and the exact "what's included" gate are config-driven — verify exact numbers.
- Free voice period default: 10 minutes (
companies.free_period_minutes).
Technical implementation
- Models:
SubscriptionModel(the trial is a real row — don't filteris_trial: trueout of admin queries),companies.free_period_minutes,companies.grace_period_claimed. - Trial gate: subscription status +
is_trialdrive the identity-graph subscription gate — see /subsystems/identity-graph. - Subscribe flow: Stripe checkout via the Stripe service in the backend. See Plans & Subscriptions and Payments & Invoices.