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 nameautoComplete="given-name"
    • Last nameautoComplete="family-name"
    • Emailtype="email", placeholder you@example.com, required
    • Passwordtype="password", placeholder At least 6 characters, autoComplete="new-password", required
  • 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:
    1. 📚 Train with your content"Upload documents, paste URLs, or write Q&A. Your bot learns from whatever you give it."
    2. 🎨 Customize the look"Pick colors, wording, and a welcome message that matches your brand."
    3. 💬 Test it live"Chat with your bot right away. Edit the prompt or add knowledge until replies feel right."
    4. 🚀 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_id on 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:

What's not in the wizard

The wizard does not surface:

  • Model selection (no google/gemini-2.5-flash picker — 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)