Skip to Content
📚 Documentation is in active development — pages marked TODO will fill out over the next few weeks.
Getting startedSign up + bootstrap

Sign up + bootstrap your workspace

The first user to sign up at your platform URL becomes the AGENCY_ADMIN — they own the workspace, can invite team members, and can configure billing.

Open the sign-up flow

Navigate to your platform URL — https://app.[your-domain]/signup for hosted deployments, or whatever subdomain you assigned during white-label setup.

Pick a subdomain

Your agency’s customers reach you at [subdomain].[platform-domain] (e.g. acme-salons.nextaibot.tech). The subdomain is immutable after signup — pick something durable.

The slug used internally for shareable URLs (booking page, etc.) is also derived from this — see White-label setup before going live.

Brand the workspace

Logo URL, primary colour, secondary colour, support email, support phone. These show up on:

  • The dashboard chrome
  • Customer-facing booking pages (hosted + embed)
  • Email transcripts and confirmations
  • The web-chat widget

You can change any of these later under Settings → White-label.

Choose your plan

Plan tier determines:

  • How many WhatsApp channels you can connect
  • How many contacts you can import
  • How many team members you can invite
  • Which third-party integrations are unlocked

See Plans & billing for the tier matrix.

First login

After payment, you land on the dashboard as AGENCY_ADMIN. Empty inbox, empty contacts, no channels connected — that’s normal. Next step is connecting your first channel.

What got created

Behind the scenes the bootstrap creates:

  • One agencies row keyed by your slug + subdomain
  • One users row (you, role = AGENCY_ADMIN)
  • One subscriptions row at your chosen plan tier
  • A tenant context that scopes every subsequent query

If anything looks wrong on the dashboard (“agency not found”, “tenant context not set”), the first thing to check is the subdomain → agency match. The platform reads the Host header on every request.

Last updated on