Skip to content
UI Kit
Accent color

Onboarding flows and product tours

First-run screens that get people to their first result: checklists, welcome, setup, invites, empty states and tours.

6 variants
Switch category

From sign up to the first result

Onboarding decides whether a new account becomes an active one. The six screens here lead people to their first result quickly, with progress they can see and steps they can skip and return to later.

Getting started checklist lists the first tasks with progress and stays on the dashboard until it is done. Welcome screen greets and asks one or two questions to tailor the start. Setup wizard handles the few settings that must happen before work begins. Invite your team brings colleagues in early, First project with templates removes the blank page, Product tour with coach marks points at the parts of the interface that matter.

Aim for one meaningful result in the first session, not a complete setup. Let people skip any step and find it again later. A tour with three stops is read, one with twelve is closed, so keep coach marks for what people cannot discover alone.

Onboarding

Getting started checklist

Progress ring, steps that expand with an explanation and an action, hide and show, and a reward that unlocks at 100 %.

Welcome screen

A centered first screen with a drawn product preview, three ways to start and a short tour with chapters.

Setup wizard

Workspace, role and team size, goals, invites and a summary. Each step validates, phones get a compact stepper and a sticky action bar.

Invite your team

Email addresses as chips with validation, roles, an invite link to copy, joining by domain and colleagues to add with one click.

First project with templates

An empty project list that invites a start, with a template gallery of drawn previews, search and categories.

Product tour with coach marks

A spotlight lifts one element above the dimmed app, the coach mark sits next to it and becomes a card at the bottom on phones.

Details

What Onboarding brings along, read from the registry and the source.

Area
App
Variants
6
Version
1.0.1 · since 1.0.0
File
components/ui/onboarding.tsx
Brings along
utilskitbuttoniconsidebar
npm packages
None
Languages
English and German, 96 texts of its own
Studio
Adjust in code

Props

The OnboardingProps interface from components/ui/onboarding.tsx, with the comments from the code.

  • variantoptional
    OnboardingVariant

    checklistwelcomewizardinvite-teamempty-stateproduct-tour

  • sidebaroptional
    Omit<SidebarProps, 'children'>

    The app frame for checklist, invite-team, empty-state and product-tour, see Sidebar

  • brandoptional
    { name: string; logo?: React.ReactNode; href?: string }

    welcome and wizard: the product name and mark in the top bar

  • useroptional
    { name: string; email?: string }

    The person being onboarded

  • titleoptional
    string
  • descriptionoptional
    string
  • skipHrefoptional
    string

    Where "skip" and "finish later" lead

  • stepsoptional
    ChecklistStep[]

    checklist

  • rewardoptional
    { title: string; description: string; claim: string }
  • helpoptional
    { name: string; role: string; label: string; href: string }
  • pathsoptional
    StartPath[]

    welcome

  • touroptional
    { title: string; description: string; duration: string; chapters?: { title: string; time: string }[]; media?: React.ReactNode }
  • domainoptional
    string

    wizard

  • rolesoptional
    Option[]
  • teamSizesoptional
    string[]
  • goalsoptional
    Option[]
  • initialStepoptional
    number
  • defaultsoptional
    Partial<WizardValues>
  • workspaceoptional
    string

    invite-team

  • inviteLinkoptional
    string
  • emailDomainoptional
    string

    The company email domain, e.g. atlas-studio.de

  • permissionsoptional
    Option[]
  • suggestionsoptional
    Person[]
  • invitedoptional
    string[]
  • noteoptional
    string

    invite-team: a prefilled personal note

  • templatesoptional
    TemplateItem[]

    empty-state

  • categoriesoptional
    { id: string; label: string }[]
  • tourStepsoptional
    TourStep[]

    product-tour

  • boardoptional
    TourBoard

Built-in texts

Onboarding writes these texts itself. The language follows the KitProvider, the labels prop replaces single ones.

Show all 96 texts
gettingStartedEnglish Getting startedGerman Erste Schritte
progressEnglish {done} of {total} doneGerman {done} von {total} erledigt
timeLeftEnglish About {time} leftGerman Noch etwa {time}
allDoneEnglish All setGerman Alles erledigt
allDoneTextEnglish Every step is done. Your workspace is ready for the whole team.German Jeder Schritt ist geschafft. Dein Arbeitsbereich ist bereit für das ganze Team.
hideEnglish Hide checklistGerman Checkliste ausblenden
hiddenEnglish Checklist hidden with {done} of {total} steps done.German Checkliste ausgeblendet, {done} von {total} Schritten erledigt.
showEnglish Show checklistGerman Checkliste zeigen
markDoneEnglish Mark as doneGerman Als erledigt markieren
markOpenEnglish Mark as not doneGerman Als offen markieren
stepDoneEnglish DoneGerman Erledigt
rewardEnglish Your rewardGerman Deine Belohnung
rewardLockedEnglish {n} more steps to unlockGerman Noch {n} Schritte bis zur Freischaltung
rewardOneEnglish One more step to unlockGerman Noch ein Schritt bis zur Freischaltung
unlockedEnglish UnlockedGerman Freigeschaltet
needHelpEnglish Need a hand?German Brauchst du Hilfe?
welcomeEnglish Welcome, {name}German Willkommen, {name}
skipSetupEnglish Skip setupGerman Einrichtung überspringen
choosePathEnglish How do you want to start?German Wie möchtest du starten?
playTourEnglish Play the tourGerman Rundgang abspielen
tourLabelEnglish Product tourGerman Produktrundgang
stepOfEnglish Step {n} of {total}German Schritt {n} von {total}
finishLaterEnglish Save and finish laterGerman Speichern und später weitermachen
backEnglish BackGerman Zurück
nextEnglish ContinueGerman Weiter
createEnglish Create workspaceGerman Arbeitsbereich anlegen
editEnglish EditGerman Ändern
wsStepEnglish WorkspaceGerman Arbeitsbereich
wsStepTextEnglish Name it the way your team talks about it. You can change both later.German Benenne ihn so, wie dein Team über ihn spricht. Beides lässt sich später ändern.
wsNameEnglish Workspace nameGerman Name des Arbeitsbereichs
wsUrlEnglish Workspace addressGerman Adresse des Arbeitsbereichs
wsNameErrorEnglish Give the workspace a name with at least two letters.German Gib dem Arbeitsbereich einen Namen mit mindestens zwei Buchstaben.
wsUrlErrorEnglish Use at least three lowercase letters, numbers or hyphens.German Mindestens drei Kleinbuchstaben, Ziffern oder Bindestriche.
teamStepEnglish You and your teamGerman Du und dein Team
teamStepTextEnglish We use this to suggest the right templates and defaults.German Damit schlagen wir passende Vorlagen und Einstellungen vor.
yourRoleEnglish What do you work on?German Woran arbeitest du?
roleErrorEnglish Pick the area closest to your work.German Wähle den Bereich, der deiner Arbeit am nächsten kommt.
teamSizeEnglish How many people will use it?German Wie viele Personen arbeiten damit?
goalsStepEnglish GoalsGerman Ziele
goalsStepTextEnglish Pick everything you want to manage here. We prepare a space for each.German Wähle alles, was du hier steuern willst. Für jedes Ziel richten wir einen Bereich ein.
goalsLabelEnglish What do you want to do first?German Was möchtest du zuerst angehen?
goalsErrorEnglish Pick at least one goal.German Wähle mindestens ein Ziel.
inviteStepEnglish InviteGerman Einladen
inviteStepTextEnglish Projects move faster together. Invites are optional and can wait.German Gemeinsam geht es schneller. Einladungen sind freiwillig und können warten.
reviewStepEnglish ReviewGerman Prüfen
reviewStepTextEnglish Check everything once more, then we set up your workspace.German Schau noch einmal über alles, dann richten wir deinen Arbeitsbereich ein.
nobodyYetEnglish Nobody yetGerman Noch niemand
readyEnglish {name} is readyGerman {name} ist bereit
readyTextEnglish Your spaces, templates and invites are set up. Have a look around.German Bereiche, Vorlagen und Einladungen sind angelegt. Schau dich in Ruhe um.
openWorkspaceEnglish Open workspaceGerman Arbeitsbereich öffnen
stepsEnglish Setup stepsGerman Schritte der Einrichtung
emailsEnglish Email addressesGerman E-Mail-Adressen
emailsHintEnglish Separate addresses with a comma or press Enter.German Adressen mit Komma trennen oder Enter drücken.
emailsPhEnglish name@company.comGerman name@firma.de
emailErrorEnglish {email} does not look like an email address.German {email} sieht nicht wie eine E-Mail-Adresse aus.
removeEnglish Remove {name}German {name} entfernen
roleEnglish RoleGerman Rolle
sendInvitesEnglish Send {n} invitesGerman {n} Einladungen senden
sendOneEnglish Send 1 inviteGerman 1 Einladung senden
sendNoneEnglish Add someone to inviteGerman Personen zum Einladen hinzufügen
noteEnglish Personal noteGerman Persönliche Nachricht
noteHintEnglish Optional. It appears at the top of the invite email.German Freiwillig. Sie steht oben in der Einladungsmail.
skipEnglish Skip for nowGerman Jetzt überspringen
inviteLinkEnglish Invite linkGerman Einladungslink
inviteLinkTextEnglish Anyone with this link can join as a member.German Alle mit diesem Link können als Mitglied beitreten.
copyEnglish Copy linkGerman Link kopieren
copiedEnglish CopiedGerman Kopiert
domainJoinEnglish Let anyone with an @{domain} address joinGerman Alle mit einer Adresse @{domain} dürfen beitreten
fromDomainEnglish People from {domain}German Personen von {domain}
addEnglish AddGerman Hinzufügen
addedEnglish AddedGerman Hinzugefügt
sentEnglish {n} invites sent. They show up here once accepted.German {n} Einladungen verschickt. Sie erscheinen hier, sobald sie angenommen sind.
pendingEnglish Invite sentGerman Eingeladen
projectsEnglish ProjectsGerman Projekte
emptyTitleEnglish Start your first projectGerman Starte dein erstes Projekt
emptyTextEnglish A project holds tasks, files and conversations in one place. Start blank or take a template and adapt it.German Ein Projekt bündelt Aufgaben, Dateien und Gespräche an einem Ort. Fang leer an oder nimm eine Vorlage und pass sie an.
startBlankEnglish Start blankGerman Leer starten
importCsvEnglish Import from CSVGerman Aus CSV importieren
fromTemplateEnglish Start from a templateGerman Mit einer Vorlage starten
searchTemplatesEnglish Search templatesGerman Vorlagen durchsuchen
allEnglish AllGerman Alle
useTemplateEnglish Use templateGerman Vorlage nutzen
usedByEnglish Used by {n} teamsGerman Von {n} Teams genutzt
noTemplatesEnglish No template matches “{q}”.German Keine Vorlage passt zu „{q}“.
clearSearchEnglish Clear searchGerman Suche leeren
creatingEnglish {name} is being set upGerman {name} wird eingerichtet
newProjectEnglish New projectGerman Neues Projekt
tourStepEnglish {n} of {total}German {n} von {total}
skipTourEnglish Skip tourGerman Rundgang beenden
finishEnglish Finish tourGerman Rundgang abschließen
tourDoneEnglish Tour finished. You can restart it from Help at any time.German Rundgang abgeschlossen. Du kannst ihn jederzeit über die Hilfe neu starten.
restartEnglish Restart tourGerman Rundgang neu starten
newTaskEnglish New taskGerman Neue Aufgabe
filterEnglish FilterGerman Filter
shareEnglish ShareGerman Teilen
tourKeysEnglish Arrow keys move through the tour, Escape ends it.German Pfeiltasten blättern durch den Rundgang, Escape beendet ihn.

Accessibility

Read from the source of the component.

  • Onboarding handles the keys Escape, Enter, Arrow up, Arrow down, Arrow left, Arrow right, Home, End, Backspace and Space itself.
  • Sets aria-checked, aria-controls, aria-current, aria-describedby, aria-expanded, aria-invalid, aria-label, aria-labelledby, aria-live, aria-modal, aria-pressed and aria-selected, so screen readers announce purpose and state.
  • Uses the roles dialog, radio, radiogroup, status, switch, tab, tablist and tabpanel.
  • Announces changes through a live region without moving focus.
  • Every field has a label, visible or for screen readers.
  • Adds text for screen readers where icons and graphics stand alone.
  • Shows a visible focus ring when used with the keyboard.
  • The server renders the starting state in full, JavaScript only adds the interaction.

Motion

  • Rises in briefly the first time it comes into view (kit-rise, useInView).
  • Brings animations of its own, calmly timed and without wobble.
  • With reduced motion (prefers-reduced-motion) it stays still. 11 places in the code switch motion off then.

Frequent questions

How do I install Onboarding?

With aiw add @ai-website/onboarding. The command puts components/ui/onboarding.tsx into your project, the code is yours from then on. It brings along button, icon and sidebar. It needs no further npm packages.

Which variants does Onboarding have?

6 variants, Getting started checklist, Welcome screen, Setup wizard, Invite your team, First project with templates and Product tour with coach marks. You pick one with the variant prop, for example variant="welcome".

Can I translate the texts of Onboarding?

Yes. Onboarding carries 96 texts of its own in English and German, such as “Getting started”, “All set” and “Every step is done. Your workspace is ready for the whole team.”. The language follows the KitProvider, single texts change through the labels prop.

Can an AI assistant build with Onboarding?

Yes. Through the MCP server of the aiw CLI, Claude, Cursor, GitHub Copilot, Windsurf, Codex and Gemini find Onboarding with aiw_components and install it with aiw_add @ai-website/onboarding. Name the variant in your prompt, for example variant="checklist", and the assistant writes your content straight into the props.

Often searched

Jump to

Copied to the clipboard