The /onboarding/talent interview, from the handle to the talent dashboard
/onboarding/talent is the onboarding for talent: creators, athletes and
anyone who wants brand deals. It starts with their handle, researches it, and
then asks only what the research cannot know. It ends on the talent
dashboard.
It runs on the same page, chat, research card, photo card and sign-up as Agent Setup Onboarding. What changes is the list of questions, their order, and a few rules that code enforces. The wording comes from the Question and Flow Framework (ZLY-2022).
The questions are TALENT_LANDING_INTERVIEW_QUESTIONS in
packages/z-agent/srv/src/onboarding-questions.ts. The agent asks one at a
time, in this order, in its own words. Each area also says when it counts as
covered; the agent judges that from the chat itself.
| # | Area | What Z asks | Covered when |
|---|---|---|---|
| 1 | sources | "What's your handle? Add your site or other links too, so I can find offers that fit." | A handle or link (researched), a short description, or a decline to share one |
| 2 | identity | "What's your full name, first and last?" | The research card showed a name they kept. Asked only when it did not |
| 3 | phone | "What's your phone number? I'll text you when a brand wants to work with you." | A number, or a clear decline |
| 4 | dealTypes | "What kind of deals do you want?" | The kinds of deals they want. "Open to anything" counts |
| 5 | smallestOffer | "What's the smallest offer worth bringing you?" | Free products, any amount, or an amount such as $100, $1K or $10K |
| 6 | dreamBrands | "Any dream brands you'd love to work with?" | Brands they name, or "find the best for me" |
onboardingOpeningLines). They are always word for word
and show at once.asksNameFirst is false outside /onboarding). The name comes
from the research card. When they type it instead, code saves it to
onboarding.ownerDisplayName.phoneFromChatReply),
normalizes it to E.164 and saves it to onboarding.phone. Ten digits with
no country code is a US number. No model writes this field, so the agent
never invents a number.onboarding.links and the agent researches it.talent, the default.onboarding-talent-sms.ts). They are sent once,
only when SMS is configured and the account has not opted out.z_agent_onboarding_talent_completed is logged just before.This replaces the first talent experiment (ZLY-1965), which asked the name first, asked about non-negotiables and ended on a "You're in" screen.
| Area | File |
|---|---|
| Questions | packages/z-agent/srv/src/onboarding-questions.ts (TALENT_LANDING_INTERVIEW_QUESTIONS) |
| Goal, persona instructions, Distil note | packages/z-agent/srv/src/onboarding-instructions.ts (LANDING_FLOWS.talent) |
| Opening lines | packages/z-agent/srv/src/onboarding-copy.ts (TALENT_INTRO, TALENT_HANDLE_ASK) |
| Phone from the chat | packages/z-agent/srv/src/onboarding-phone.ts |
| Chat turn and claim | packages/z-agent/srv/src/onboarding.ts (applyOnboardingChatTurn, finalizeOnboardingRoom) |
| Welcome SMS | packages/z-agent/srv/src/onboarding-talent-sms.ts |
| Page | packages/offers/client/src/app/components/onboarding/OnboardingPage.tsx |
| Route | apps/zooly-app/app/(pages)/onboarding/talent/page.tsx |
onboarding-questions.test.ts, onboarding-instructions.test.ts,
onboarding-copy.test.ts and onboarding-phone.test.ts on the server;
onboarding-flow.test.ts on the client.tests/manual/zly-2026-onboarding-three-flows.md,
stage 1.