Get Started (`/get-started`)
Get Started is presented as a full-screen overlay onboarding experience immediately after successful sign-in/sign-up (MVP).
Overlay visibility rules
Section titled “Overlay visibility rules”Three distinct states control whether the overlay is shown:
| State | Meaning | How it is set |
|---|---|---|
| Session dismiss | User closed the overlay this session | Close button / ESC; cleared on next login |
| Persistent hide | User toggled “Don’t show Get Started automatically” | Toggle in onboarding header; stored in SetupStatus.persistentlyHidden |
| Onboarding complete | Step 3 completed | Complete button on Step 3 |
Visibility logic:
- The overlay is shown on authenticated entry only when
onboardingComplete === falseANDpersistentlyHidden === falseANDdismissedForSession === false. - Session dismiss: closing/dismissing does not mark onboarding as complete; the overlay reappears on the next authenticated entry.
- Persistent hide: when enabled, the overlay never auto-opens on login and the
Get startednav item is removed. The user can restore the flow through Chatti Live (see §Chatti restore below). A sonner confirmation toast is shown when the toggle is activated. - Onboarding complete: once Step 3 is completed, the overlay is permanently retired.
Chatti restore
Section titled “Chatti restore”When onboarding is persistently hidden but not yet complete, the user can restore it from the Chatti Live sidebar/float panel:
- Quick action pill: A “Restore Get Started” pill (styled with the onboarding purple accent) appears as the first quick action in the Chatti Live message feed, visible when
persistentlyHidden === trueandonboardingComplete === false. - Natural language command: Typing “restore get started”, “reopen get started”, “show get started”, or just “get started” in the Chatti Live input triggers the restore.
- Restore action: Clears
persistentlyHiddenanddismissedForSession, which re-shows both the left-nav “Get started” button and the onboarding overlay on the current page load.
Implementation: src/components/account-shell/account-shell.tsx — ChattLiveSidebar receives canRestoreGetStarted and onRestoreGetStarted props from AccountShell.
Onboarding target
Section titled “Onboarding target”All Get Started-created resources (connections, KB draft) are assigned to an onboarding target consisting of:
- Group:
Get Started(persistent id, not display name) - Workspace:
Get Started Workspace(persistent id) - Knowledge base: blank KB in that workspace
- Agent: default agent in that workspace
If the original target is missing (e.g. user deleted the workspace), the onboarding target resolver recreates the full set before any Step 2/3 operations.
Identity is tracked by persistent ids stored in SetupStatus.onboardingTarget, not by display-name matching.
See Default Workspace, Knowledge Base & Agent §6 for the resolver contract.
Staged channel connections
Section titled “Staged channel connections”Step 2 channel connections in Get Started are staged inside the current login session before onboarding is completed.
That means:
- The user sees only the connections they created within the current Get Started session.
- These staged connections are not added to the workspace Channels data yet.
- Closing and reopening Get Started in the same login session restores the staged Step 2 state.
- Signing out and signing back in clears the staged Step 2 state if onboarding was not completed.
- The staged connections are committed to the onboarding target workspace / KB / agent only when the user clicks Complete on Step 3.