Create your first chatbot
The exact onboarding flow — sign up, pick a template, land on a fresh chatbot — as implemented by `Registration/New.jsx` and `Onboarding/Index.jsx`.
This walks through the real flow end-to-end. Every label and button is lifted from the source files named inline.
1. Sign up
Verified from assets/js/pages/App/Registration/New.jsx.
The signup page has:
- Card title: Create your account
- Card description: "Start building chatbots in minutes"
-
A Continue with Google button at the top — links to
/auth/google - A separator with "or" in the middle
-
Four form fields in a 2×2 + stacked layout:
-
First name —
autoComplete="given-name" -
Last name —
autoComplete="family-name" -
Email —
type="email", placeholderyou@example.com, required -
Password —
type="password", placeholderAt least 6 characters,autoComplete="new-password", required
-
First name —
-
Submit button: Create account (flips to "Creating account..." while submitting). Posts to
/app/register. -
Footer line: "Already have an account? Log in" linking to
/app/login.
Only email and password are required — first and last name are optional. Missing optional names just means the profile starts blank.
2. Onboarding wizard (step 1: welcome)
After signup you land on /app/onboarding (verified from assets/js/pages/App/Onboarding/Index.jsx).
The URL query ?step=welcome renders a welcome panel:
-
: Welcome — let's build your AI chatbot. - Subtitle: "Four quick steps and your chatbot is live. You can revisit any step later from the chatbot dashboard — nothing is locked in."
-
A 2×2 grid of four cards:
- 📚 Train with your content — "Upload documents, paste URLs, or write Q&A. Your bot learns from whatever you give it."
- 🎨 Customize the look — "Pick colors, wording, and a welcome message that matches your brand."
- 💬 Test it live — "Chat with your bot right away. Edit the prompt or add knowledge until replies feel right."
- 🚀 Deploy anywhere — "Drop in a script tag, share a link, or plug WhatsApp / Telegram in one click."
-
Primary button: Let's build it → linking to
/app/onboarding?step=template
3. Onboarding wizard (step 2: template)
Default step (renders when step !== "welcome"). This is the create-a-chatbot form.
-
: Create a chatbot in 2 minutes - Subtitle: "Start from a template or build from scratch — you can change everything later."
Three fields (all in a single card):
-
Name (required) — placeholder
My Support Bot, auto-focused -
Website URL — placeholder
example.com. Hint: "Optional — we'll use this to tailor the chatbot's tone." -
Description — placeholder
Brief description of what this chatbot does. Hint: "Optional — helps you find the bot later."
Below the card, a template picker. Heading: Or start from a template. Clicking a template card:
- Selects it (second click deselects)
-
Sets
template_idon the form - If the Name field is empty, fills it with the template's name
Submit button label depends on state:
- While submitting: "Creating…"
- With a template selected: Create from {template.name}
- Otherwise: Create from scratch
The button is disabled whenever name is empty. Submit goes to POST /app/onboarding.
4. After creating
The controller creates the chatbot and redirects you into its tabs. You can revisit everything:
- Chatbot settings to edit the name, prompt, website, description
- How training works to add knowledge
- Widget appearance to customize colors and copy
- Channels overview to wire up widget / WhatsApp / Telegram
What's not in the wizard
The wizard does not surface:
-
Model selection (no
google/gemini-2.5-flashpicker — the platform default is the only option) - Widget colors (those live on the widget settings page after creation)
- Channel setup (done after the chatbot exists)
- Plan selection (done separately via billing)