Skip to content

Get Started (`/get-started`)

Get Started is presented as a full-screen overlay onboarding experience immediately after successful sign-in/sign-up (MVP).

Three distinct states control whether the overlay is shown:

StateMeaningHow it is set
Session dismissUser closed the overlay this sessionClose button / ESC; cleared on next login
Persistent hideUser toggled “Don’t show Get Started automatically”Toggle in onboarding header; stored in SetupStatus.persistentlyHidden
Onboarding completeStep 3 completedComplete button on Step 3

Visibility logic:

  • The overlay is shown on authenticated entry only when onboardingComplete === false AND persistentlyHidden === false AND dismissedForSession === 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 started nav 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.

When onboarding is persistently hidden but not yet complete, the user can restore it from the Chatti Live sidebar/float panel:

  1. 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 === true and onboardingComplete === false.
  2. 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.
  3. Restore action: Clears persistentlyHidden and dismissedForSession, 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.tsxChattLiveSidebar receives canRestoreGetStarted and onRestoreGetStarted props from AccountShell.

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.

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.