Zooly has four chat onboardings. The landing page sends each visitor to the
one for who they are: talent, brand or agency. /onboarding is the open
interview for everyone else, and the one used to add someone to a roster. The
chat itself never asks for a user type.
All four run on the same page and chat, with the same research card, photo card and sign-up. What changes is the list of questions and a few rules that code enforces. Every account gets Bouncer and Scout. An agency also gets Roster.
Two older flows remain: the Fast Signup wizard for mobile ads, and the legacy setup wizard.
| Talent | Brand | Agency | |
|---|---|---|---|
| Route | /onboarding/talent | /onboarding/brand | /onboarding/agency |
| Starts with | Handle and links | The brand's website | The agency's website |
| Then asks | Full name (only if research found none), phone, deal types, smallest offer, dream brands | The person's name, ideal talent, formats, budget | Talent or brands (only if research cannot tell), the person's name |
| Account named after | The person | The brand | The agency |
| The person's name | The account name | contactName | contactName |
| Photo card | Profile image | Logo | Logo |
| Account type | talent | brand | agency, with Roster |
OnboardingPage reads the flow from the URL
(onboardingFlowFromPath) and sends it with every room request. Each flow
keeps its own guest draft in the browser.LANDING_FLOWS in onboarding-instructions.ts
holds the questions, the setup goal, the persona instructions and what
the memory pass may record. The questions live in onboarding-questions.ts.account-setup met in its reply and the page shows the
photo card. Names typed in the talent, brand and agency interviews are
saved by code.researchTool.
The chat input is hidden while the card is open: while it looks things up,
and until the visitor presses Done. See
Research Tool and Findings Card.The open onboarding at /onboarding. Instead of choosing a user type or
service card, a visitor has one conversation with the agent: their name, where
to read up on them, and what they want the agent to do.
researchTool; what it finds shows as a card the visitor confirms with Not me and Done, with the chat input hidden until they do. See Research Tool and Findings Card.goals.account-setup is met, the chat gives way to the photo card and then sign-up.The interview for talent at /onboarding/talent.
The interview for brands at /onboarding/brand.
contactName.brand.The interview for agencies at /onboarding/agency.
agency, with Roster on.A mobile-optimized wizard at /talent/fast-signup designed for rapid conversion from social channels and ads.
localStorage and automatically flushes to the account upon authentication. Account creation already enables Bouncer and Scout.The original component-based setup flow implemented as SetupScreen in packages/client/src/screens/SetupScreen.tsx.
/api/account and /api/account/payout-route to track completion checkboxes.| Flow | URL Path | Primary Component | Documentation |
|---|---|---|---|
| Agent Setup | /onboarding | OnboardingPage.tsx (@zooly/offers-client) | Agent Setup Onboarding |
| Talent | /onboarding/talent | OnboardingPage.tsx (@zooly/offers-client) | Talent Onboarding |
| Brand | /onboarding/brand | OnboardingPage.tsx (@zooly/offers-client) | Brand Onboarding |
| Agency | /onboarding/agency | OnboardingPage.tsx (@zooly/offers-client) | Agency Onboarding |
| Fast Signup | /talent/fast-signup | FastSignupPage.tsx (@zooly/offers-client) | Fast Signup Flow |
| Legacy Wizard | Embedded | SetupScreen.tsx (@zooly/client) | Legacy Setup Wizard |
The legacy SetupScreen component accepts navigation callbacks from the host application:
interface SetupScreenProps {
onGoToProfile: () => void;
onGoToDashboard: () => void;
onGoToVoiceLicense?: () => void;
onGoToImageLicense?: () => void;
onGoToMerchLicense?: () => void;
}
| Step | Name | What It Does |
|---|---|---|
| 1 | Profile | Links to profile setup. Shows current display name and avatar status. |
| 2 | Campaigns | Informational step about campaign types. Links to campaign settings. |
| 3 | Terms | Links to license setup screens (voice, image, merch). |
| 4 | Samples | Informational step about uploading voice/image samples. |
| 5 | Z Link | Shows preview of public page URL. Links to Z Link page. |
| 6 | Payments | Shows Stripe Connect status. Links to payout setup if not connected. |
| 7 | Review | Summary dashboard. Shows completion status per area with "Go to Dashboard" button. |