Watch an AI assistant build production-ready onboarding — a flow, a checklist, a survey, an announcement and a resource center — in a real app, then follow along with the exact prompts.
Usertour is open-source user onboarding with an MCP server
built in: connect an AI assistant like Claude Code, Cursor or Codex, describe the
experience you want, and it authors, themes and publishes the content directly in
your project — matched to your app’s design, verified in your running app.The video below does exactly that against a real app
(shadcn-admin): four prompts, and
after each one — the result live in the app, then the content and data in the
Usertour dashboard.
Before you start
All you need is a Usertour account and an AI assistant connected to the MCP
server. With Claude Code that’s the plugin (it registers the MCP connection,
the authoring skills, and the SDK-install skill in one):
Then run /mcp and authorize in the browser — pick the project, the
environments, and the access level. That’s the whole setup: you don’t even
install the Usertour SDK by hand — on the first prompt the
assistant notices it’s missing and wires it into the app itself, then builds
the content.
Self-hosting? The plugin defaults to Cloud — point it at your own
instance before connecting (your exact URL is shown in Settings → MCP):
export USERTOUR_MCP_URL="https://<your-usertour-host>/mcp"
Optional, recommended: also install the
Chrome DevTools plugin
so the assistant can open your running app, pick element selectors from the
real DOM, and verify each experience actually renders before publishing —
noticeably better tooltip accuracy.
Using Cursor, Codex, VS Code or another client? See the
MCP connection guide — every client gets the same
one-URL setup, and Settings → MCP in the app shows the steps with your
instance’s URL pre-filled.
Step 1 — A feature onboarding flow
Using Usertour, build a user onboarding flow for the Create Task feature.Requirements:- The visual theme must match the website's existing design.- The flow must be production-ready and suitable for launch.- Every step should provide genuine value to users. Avoid adding steps simply for the sake of having a flow — the experience should help users understand and successfully use the feature.
In the app — before building anything, the assistant notices the app has
no Usertour SDK yet and installs it on its own (the loader snippet, init()
and identify()); then the flow runs against the real UI: tooltips anchor to
the actual Create Task controls, and the styling matches the app because the
agent read the design system first and themed the content to it.In the dashboard — the flow appears under Content with its steps,
targeting and a published version; Analytics starts counting views and
completions as sessions come in.
Step 2 — An adoption checklist
Create a checklist for the features on the User List page.Requirements:- Combine the checklist with relevant onboarding flows to significantly improve product adoption.- Ensure production-level quality.- Match the checklist's visual theme to the website's existing style.
In the app — a checklist panel lists the User List features as tasks;
completing a task can launch the matching flow, so the two content types work
as one adoption journey.In the dashboard — the checklist shows per-task completion in
Analytics, so you can see which features users actually adopt and where
they stall.
Step 3 — A product feedback survey
Create a survey to collect user feedback about the product's differentfeatures, including:- Feature ratings- Overall satisfaction- Usability feedback- Suggestions for improvement- Open-ended commentsThe survey should be thoughtfully structured and suitable for production use.
In the app — a multi-question survey renders in the app’s own look:
ratings, scales and open-text questions in a sensible order.In the dashboard — every question gets its own breakdown under
Analytics: score distributions for the ratings, and the open-text answers
collected per response, ready to read through (or to hand back to the AI to
summarize).
Step 4 — A welcome announcement + resource center
Use the Usertour MCP to create a production-ready welcome announcement andimprove the Resource Center as one cohesive onboarding experience.Welcome Announcement — use Usertour's native Announcement feature (not aFlow):- Use the speech bubble announcement format.- Target new users only.- Welcome users and briefly introduce the product's core value.- Guide users to the User List page with a clear primary CTA.- Include a link to https://usertour.io/ explaining that the onboarding experience is powered and maintained by Usertour.- Keep the copy concise, helpful, and professional.- Match the website's existing visual style.- Configure sensible display frequency, dismissal behavior, and audience targeting.- Ensure the announcement does not conflict with other active onboarding experiences.Resource Center — make it support the same onboarding journey:- Add an entry that helps users navigate to the User List page.- Make the experiences created in the previous steps accessible from the Resource Center.- Organize resources into clear, user-focused groups.- Use concise titles and descriptions that explain the value of each resource.- Remove or avoid duplicate and low-value entries.- Match the Resource Center's design to the website's visual theme.- Configure appropriate visibility and audience rules.- Ensure all links, actions, flows, surveys, and video content launch correctly.- Make the experience accessible, responsive, and production-ready.
In the app — new users get a speech-bubble welcome pointing them at the
User List page, and the resource center becomes the lasting home for
everything built above: the flow, the checklist and the survey, organized into
groups and launchable on demand.In the dashboard — the announcement and resource center sit alongside the
rest under Content, each with its own targeting and analytics, and
Publish history records what went live in which environment.
One more: a one-prompt task
Not everything is a four-step journey — one-off tasks are a single prompt. Here
the assistant builds a video modal, verifies the embed actually plays, and
leaves it as a draft for review instead of publishing:
Use the Usertour MCP to create a one-step modal flow featuring thisYouTube video:https://www.youtube.com/watch?v=ZIaOBAjvc38Use the title:**Sam Altman: "Never a Better Time to Do a Startup"**Add concise supporting copy explaining why this is a uniquely promisingtime to build a startup and what viewers can learn from the video.Include a clear watch action and an easy way to close the modal.Match the product's visual style, verify that the video embed workscorrectly, and save the flow as a draft.
Where to next
Analyze your onboarding with AI
The other half of the loop — five prompts that turn the collected data
into rankings, funnels and survey readouts.
Quickstart
Install the SDK and identify your users — everything above builds on it.
MCP server reference
Connect any client, see every tool, understand scopes and read-only mode.
Build in the visual builder
Prefer hands-on? Build the same flows, checklists and surveys visually.
Self-host Usertour
Run the whole platform — MCP server included — on your own
infrastructure.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Usertour documention","colors":{"primary":"#0D9373","light":"#07C983","dark":"#0D9373"},"logo":{"light":"https://mintcdn.com/usertour/fGy2waOqk2YYQ2QK/logo-dark.svg?fit=max\u0026auto=format\u0026n=fGy2waOqk2YYQ2QK\u0026q=85\u0026s=841070ff620cff55401ec69cfc514e27","dark":"https://mintcdn.com/usertour/fGy2waOqk2YYQ2QK/logo-light.svg?fit=max\u0026auto=format\u0026n=fGy2waOqk2YYQ2QK\u0026q=85\u0026s=28f06f1ac3d117bd77837574e801ed7b","href":"https://www.usertour.io/"},"favicon":"https://mintcdn.com/usertour/nYBy6MD0LzNhBLol/images/favicon.png?fit=max\u0026auto=format\u0026n=nYBy6MD0LzNhBLol\u0026q=85\u0026s=2d933e312d87107d569af0615a00225b","api":{"playground":{"display":"simple"}},"navbar":{"links":[{"href":"mailto:support@usertour.io","label":"Support"}]},"footer":{"socials":{"x":"https://x.com/usertourio","github":"https://github.com/usertour/usertour","discord":"https://discord.gg/WPVJPX8fJh"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"usertour","hasAudioNarration":false,"actualSubdomain":"usertour","customDomains":["docs.usertour.io"],"gitSource":{"type":"github","owner":"usertour","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6af4359634085e9d514cb3b6","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"API Reference","count":92},{"language":"default","tag":"Endpoints","count":79},{"language":"default","tag":"Documentation","count":49},{"language":"default","tag":"API Reference (v1)","count":37},{"language":"default","tag":"How-to Guides","count":31},{"language":"default","tag":"Usertour.js Reference","count":31},{"language":"default","tag":"Self-Hosting","count":20},{"language":"default","tag":"Content","count":15},{"language":"default","tag":"Users","count":14},{"language":"default","tag":"Companies","count":13}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"build-onboarding-with-ai","slug":"/build-onboarding-with-ai","pageMetadata":{"title":"Build Your Onboarding with AI","description":"Watch an AI assistant build production-ready onboarding — a flow, a checklist, a survey, an announcement and a resource center — in a real app, then follow along with the exact prompts.","icon":"sparkles","href":"/build-onboarding-with-ai"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Watch an AI assistant build production-ready onboarding — a flow, a checklist, a survey, an announcement and a resource center — in a real app, then follow along with the exact prompts.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,..._provideComponents(),...props.components},{Card,CardGroup,CodeBlock,Heading,Note,OptimizedFrame,Tip}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedFrame)_missingMdxReference(`OptimizedFrame`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Usertour is open-source user onboarding with an `,_jsx(_components.a,{href:`/api-reference-v2/mcp`,children:`MCP server`}),`\nbuilt in: connect an AI assistant like Claude Code, Cursor or Codex, describe the\nexperience you want, and it authors, themes and publishes the content directly in\nyour project — matched to your app’s design, verified in your running app.`]}),`\n`,_jsxs(_components.p,{children:[`The video below does exactly that against a real app\n(`,_jsx(_components.a,{href:`https://github.com/satnaing/shadcn-admin`,children:`shadcn-admin`}),`): four prompts, and\nafter each one — the result live in the app, then the content and data in the\nUsertour dashboard.`]}),`\n`,_jsx(OptimizedFrame,{className:`mint-w-full mint-aspect-video mint-rounded-xl`,src:`https://www.youtube.com/embed/StOBwVbiG-Y`,title:`Build your onboarding with AI — Usertour MCP demo`,allowFullScreen:true}),`\n`,_jsx(Heading,{level:`2`,id:`before-you-start`,children:`Before you start`}),`\n`,_jsx(_components.p,{children:`All you need is a Usertour account and an AI assistant connected to the MCP\nserver. With Claude Code that’s the plugin (it registers the MCP connection,\nthe authoring skills, and the SDK-install skill in one):`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`/plugin marketplace add usertour/skills`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`/plugin install usertour@usertour`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`Then run `,_jsx(_components.code,{children:`/mcp`}),` and authorize in the browser — pick the project, the\nenvironments, and the access level. That’s the whole setup: you don’t even\ninstall the `,_jsx(_components.a,{href:`/quickstart`,children:`Usertour SDK`}),` by hand — on the first prompt the\nassistant notices it’s missing and wires it into the app itself, then builds\nthe content.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Self-hosting?`}),` The plugin defaults to Cloud — point it at your own\ninstance before connecting (your exact URL is shown in `,_jsx(_components.strong,{children:`Settings → MCP`}),`):\n`,_jsx(_components.code,{children:`export USERTOUR_MCP_URL=\"https://\u003cyour-usertour-host>/mcp\"`})]})}),`\n`,_jsxs(Tip,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Optional, recommended:`}),` also install the\n`,_jsx(_components.a,{href:`https://github.com/ChromeDevTools/chrome-devtools-mcp`,children:`Chrome DevTools plugin`}),`\nso the assistant can open your running app, pick element selectors from the\nreal DOM, and verify each experience actually renders before publishing —\nnoticeably better tooltip accuracy.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`/plugin marketplace add ChromeDevTools/chrome-devtools-mcp`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`/plugin install chrome-devtools-mcp@chrome-devtools-plugins`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})})]}),`\n`,_jsxs(_components.p,{children:[`Using Cursor, Codex, VS Code or another client? See the\n`,_jsx(_components.a,{href:`/api-reference-v2/mcp`,children:`MCP connection guide`}),` — every client gets the same\none-URL setup, and `,_jsx(_components.strong,{children:`Settings → MCP`}),` in the app shows the steps with your\ninstance’s URL pre-filled.`]}),`\n`,_jsx(Heading,{level:`2`,id:`step-1-—-a-feature-onboarding-flow`,children:`Step 1 — A feature onboarding flow`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Using Usertour, build a user onboarding flow for the Create Task feature.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Requirements:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- The visual theme must match the website's existing design.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- The flow must be production-ready and suitable for launch.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Every step should provide genuine value to users. Avoid adding steps`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` simply for the sake of having a flow — the experience should help users`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` understand and successfully use the feature.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`In the app`}),` — before building anything, the assistant notices the app has\nno Usertour SDK yet and installs it on its own (the loader snippet, `,_jsx(_components.code,{children:`init()`}),`\nand `,_jsx(_components.code,{children:`identify()`}),`); then the flow runs against the real UI: tooltips anchor to\nthe actual Create Task controls, and the styling matches the app because the\nagent read the design system first and themed the content to it.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`In the dashboard`}),` — the flow appears under `,_jsx(_components.strong,{children:`Content`}),` with its steps,\ntargeting and a published version; `,_jsx(_components.strong,{children:`Analytics`}),` starts counting views and\ncompletions as sessions come in.`]}),`\n`,_jsx(Heading,{level:`2`,id:`step-2-—-an-adoption-checklist`,children:`Step 2 — An adoption checklist`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Create a checklist for the features on the User List page.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Requirements:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Combine the checklist with relevant onboarding flows to significantly`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` improve product adoption.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Ensure production-level quality.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Match the checklist's visual theme to the website's existing style.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`In the app`}),` — a checklist panel lists the User List features as tasks;\ncompleting a task can launch the matching flow, so the two content types work\nas one adoption journey.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`In the dashboard`}),` — the checklist shows per-task completion in\n`,_jsx(_components.strong,{children:`Analytics`}),`, so you can see which features users actually adopt and where\nthey stall.`]}),`\n`,_jsx(Heading,{level:`2`,id:`step-3-—-a-product-feedback-survey`,children:`Step 3 — A product feedback survey`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Create a survey to collect user feedback about the product's different`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`features, including:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Feature ratings`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Overall satisfaction`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Usability feedback`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Suggestions for improvement`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Open-ended comments`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`The survey should be thoughtfully structured and suitable for production use.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`In the app`}),` — a multi-question survey renders in the app’s own look:\nratings, scales and open-text questions in a sensible order.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`In the dashboard`}),` — every question gets its own breakdown under\n`,_jsx(_components.strong,{children:`Analytics`}),`: score distributions for the ratings, and the open-text answers\ncollected per response, ready to read through (or to hand back to the AI to\nsummarize).`]}),`\n`,_jsx(Heading,{level:`2`,id:`step-4-—-a-welcome-announcement-+-resource-center`,children:`Step 4 — A welcome announcement + resource center`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`32`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`32`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Use the Usertour MCP to create a production-ready welcome announcement and`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`improve the Resource Center as one cohesive onboarding experience.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Welcome Announcement — use Usertour's native Announcement feature (not a`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Flow):`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Use the speech bubble announcement format.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Target new users only.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Welcome users and briefly introduce the product's core value.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Guide users to the User List page with a clear primary CTA.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Include a link to https://usertour.io/ explaining that the onboarding`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` experience is powered and maintained by Usertour.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Keep the copy concise, helpful, and professional.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Match the website's existing visual style.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Configure sensible display frequency, dismissal behavior, and audience`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` targeting.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Ensure the announcement does not conflict with other active onboarding`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` experiences.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Resource Center — make it support the same onboarding journey:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Add an entry that helps users navigate to the User List page.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Make the experiences created in the previous steps accessible from the`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` Resource Center.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Organize resources into clear, user-focused groups.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Use concise titles and descriptions that explain the value of each`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` resource.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Remove or avoid duplicate and low-value entries.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Match the Resource Center's design to the website's visual theme.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Configure appropriate visibility and audience rules.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Ensure all links, actions, flows, surveys, and video content launch`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` correctly.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Make the experience accessible, responsive, and production-ready.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`In the app`}),` — new users get a speech-bubble welcome pointing them at the\nUser List page, and the resource center becomes the lasting home for\neverything built above: the flow, the checklist and the survey, organized into\ngroups and launchable on demand.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`In the dashboard`}),` — the announcement and resource center sit alongside the\nrest under `,_jsx(_components.strong,{children:`Content`}),`, each with its own targeting and analytics, and\n`,_jsx(_components.strong,{children:`Publish history`}),` records what went live in which environment.`]}),`\n`,_jsx(Heading,{level:`2`,id:`one-more-a-one-prompt-task`,children:`One more: a one-prompt task`}),`\n`,_jsx(_components.p,{children:`Not everything is a four-step journey — one-off tasks are a single prompt. Here\nthe assistant builds a video modal, verifies the embed actually plays, and\nleaves it as a draft for review instead of publishing:`}),`\n`,_jsx(OptimizedFrame,{className:`mint-w-full mint-aspect-video mint-rounded-xl`,src:`https://www.youtube.com/embed/vaP2QuhOHLk`,title:`One-prompt video modal — Usertour MCP demo`,allowFullScreen:true}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`16`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`16`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Use the Usertour MCP to create a one-step modal flow featuring this`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`YouTube video:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://www.youtube.com/watch?v=ZIaOBAjvc38`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Use the title:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`**Sam Altman: \"Never a Better Time to Do a Startup\"**`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Add concise supporting copy explaining why this is a uniquely promising`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`time to build a startup and what viewers can learn from the video.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Include a clear watch action and an easy way to close the modal.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Match the product's visual style, verify that the video embed works`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`correctly, and save the flow as a draft.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`2`,id:`where-to-next`,children:`Where to next`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Analyze your onboarding with AI`,icon:`chart-line`,href:`/use-cases/analyze-onboarding-with-ai`,children:_jsx(_components.p,{children:`The other half of the loop — five prompts that turn the collected data\ninto rankings, funnels and survey readouts.`})}),_jsx(Card,{title:`Quickstart`,icon:`rocket`,href:`/quickstart`,children:_jsx(_components.p,{children:`Install the SDK and identify your users — everything above builds on it.`})}),_jsx(Card,{title:`MCP server reference`,icon:`robot`,href:`/api-reference-v2/mcp`,children:_jsx(_components.p,{children:`Connect any client, see every tool, understand scopes and read-only mode.`})}),_jsx(Card,{title:`Build in the visual builder`,icon:`wand-magic-sparkles`,href:`/building-experiences/creating-your-first-flow`,children:_jsx(_components.p,{children:`Prefer hands-on? Build the same flows, checklists and surveys visually.`})}),_jsx(Card,{title:`Self-host Usertour`,icon:`server`,href:`/open-source/self-hosting`,children:_jsx(_components.p,{children:`Run the whole platform — MCP server included — on your own\ninfrastructure.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Build Your Onboarding with AI","description":"Watch an AI assistant build production-ready onboarding — a flow, a checklist, a survey, an announcement and a resource center — in a real app, then follow along with the exact prompts.","icon":"sparkles","href":"/build-onboarding-with-ai"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Before you start","slug":"before-you-start","depth":2,"children":[]},{"title":"Step 1 — A feature onboarding flow","slug":"step-1-—-a-feature-onboarding-flow","depth":2,"children":[]},{"title":"Step 2 — An adoption checklist","slug":"step-2-—-an-adoption-checklist","depth":2,"children":[]},{"title":"Step 3 — A product feedback survey","slug":"step-3-—-a-product-feedback-survey","depth":2,"children":[]},{"title":"Step 4 — A welcome announcement + resource center","slug":"step-4-—-a-welcome-announcement-+-resource-center","depth":2,"children":[]},{"title":"One more: a one-prompt task","slug":"one-more-a-one-prompt-task","depth":2,"children":[]},{"title":"Where to next","slug":"where-to-next","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"dynamicCss":".mint-aspect-video {\n aspect-ratio: 16 / 9\n}\n.mint-w-full {\n width: 100%\n}\n.mint-rounded-xl {\n border-radius: 0.75rem\n}","subdomain":"usertour","siteName":"Usertour documention","title":"Build Your Onboarding with AI - Usertour documention","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-15T09:01:20.098Z","originalFileLocation":"build-onboarding-with-ai.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Watch an AI assistant build production-ready onboarding — a flow, a checklist, a survey, an announcement and a resource center — in a real app, then follow along with the exact prompts.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Usertour documention\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/usertour/vM2wRfIVfuMnzscJ/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/usertour/vM2wRfIVfuMnzscJ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/usertour/vM2wRfIVfuMnzscJ/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/usertour/vM2wRfIVfuMnzscJ/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/usertour/vM2wRfIVfuMnzscJ/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/usertour/vM2wRfIVfuMnzscJ/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/usertour/vM2wRfIVfuMnzscJ/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/usertour/vM2wRfIVfuMnzscJ/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/usertour/vM2wRfIVfuMnzscJ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Build Your Onboarding with AI - Usertour documention\">\u003cmeta data-mint-head property=\"og:description\" content=\"Watch an AI assistant build production-ready onboarding — a flow, a checklist, a survey, an announcement and a resource center — in a real app, then follow along with the exact prompts.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Usertour documention\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.usertour.io/build-onboarding-with-ai\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://usertour.mintlify.site/_mintlify/api/og/v2?division=Get+Started\u0026amp;title=Build+Your+Onboarding+with+AI\u0026amp;description=Watch+an+AI+assistant+build+production-ready+onboarding+%E2%80%94+a+flow%2C+a+checklist%2C+a+survey%2C+an+announcement+and+a+resource+center+%E2%80%94+in+a+real+app%2C+then+follow+alon\u0026amp;theme=51092ed6781dc62f07a52a12\u0026amp;signature=cccf1de31daf6441bd670a7d789374e0764476960d671696e6ae311a4630b139\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Build Your Onboarding with AI - Usertour documention\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Watch an AI assistant build production-ready onboarding — a flow, a checklist, a survey, an announcement and a resource center — in a real app, then follow along with the exact prompts.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://usertour.mintlify.site/_mintlify/api/og/v2?division=Get+Started\u0026amp;title=Build+Your+Onboarding+with+AI\u0026amp;description=Watch+an+AI+assistant+build+production-ready+onboarding+%E2%80%94+a+flow%2C+a+checklist%2C+a+survey%2C+an+announcement+and+a+resource+center+%E2%80%94+in+a+real+app%2C+then+follow+alon\u0026amp;theme=51092ed6781dc62f07a52a12\u0026amp;signature=cccf1de31daf6441bd670a7d789374e0764476960d671696e6ae311a4630b139\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/usertour/vM2wRfIVfuMnzscJ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Usertour documention\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0D9373\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.usertour.io/build-onboarding-with-ai\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/build-onboarding-with-ai.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.usertour.io/#organization\",\"name\":\"Usertour documention\",\"url\":\"https://docs.usertour.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/usertour/fGy2waOqk2YYQ2QK/logo-dark.svg?fit=max\u0026auto=format\u0026n=fGy2waOqk2YYQ2QK\u0026q=85\u0026s=841070ff620cff55401ec69cfc514e27\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.usertour.io#website\",\"name\":\"Usertour documention\",\"url\":\"https://docs.usertour.io\",\"publisher\":{\"@id\":\"https://docs.usertour.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.usertour.io/build-onboarding-with-ai#webpage\",\"url\":\"https://docs.usertour.io/build-onboarding-with-ai\",\"name\":\"Build Your Onboarding with AI\",\"description\":\"Watch an AI assistant build production-ready onboarding — a flow, a checklist, a survey, an announcement and a resource center — in a real app, then follow along with the exact prompts.\",\"dateModified\":\"2026-08-15T09:01:20.098Z\",\"isPartOf\":{\"@id\":\"https://docs.usertour.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.usertour.io/build-onboarding-with-ai#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.usertour.io/build-onboarding-with-ai#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Usertour documention\",\"item\":\"https://docs.usertour.io\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Build Your Onboarding with AI\",\"item\":\"https://docs.usertour.io/build-onboarding-with-ai\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.usertour.io/build-onboarding-with-ai#article\",\"headline\":\"Build Your Onboarding with AI\",\"name\":\"Build Your Onboarding with AI\",\"description\":\"Watch an AI assistant build production-ready onboarding — a flow, a checklist, a survey, an announcement and a resource center — in a real app, then follow along with the exact prompts.\",\"url\":\"https://docs.usertour.io/build-onboarding-with-ai\",\"mainEntityOfPage\":{\"@id\":\"https://docs.usertour.io/build-onboarding-with-ai#webpage\"},\"dateModified\":\"2026-08-15T09:01:20.098Z\",\"publisher\":{\"@id\":\"https://docs.usertour.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.usertour.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Usertour documention\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Usertour documention\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/build-onboarding-with-ai.md","siteName":"Usertour documention","nav":{"global":null,"anchors":[{"anchor":"Documentation","icon":"book-open","groups":[{"group":"Get Started","pages":[{"title":"Build Your Onboarding with AI","icon":"sparkles","href":"/build-onboarding-with-ai"},{"title":"Getting Started","description":"Get started with Usertour - a powerful platform for building product tours, checklists, and launchers. Follow this guide to integrate Usertour into your application and create your first user experience.","icon":"rocket","href":"/quickstart"},{"title":"FAQ","icon":"circle-question","href":"/faq"}]},{"group":"Core Concepts","pages":[{"title":"Understanding In-App Flows","icon":"lightbulb","href":"/building-experiences/understanding-in-app-flows"},{"title":"Content startup","icon":"play","href":"/concepts/content-startup"},{"title":"Session lifecycle","icon":"route","href":"/concepts/session-lifecycle"}]},{"group":"How-to Guides","pages":[{"title":"Flows","icon":"firstdraft","href":"/building-experiences/creating-your-first-flow"},{"title":"Checklists","icon":"list-check","href":"/how-to-guides/checklists"},{"title":"Launchers","icon":"circle","href":"/how-to-guides/launchers"},{"title":"Resource Center","icon":"circle-question","href":"/how-to-guides/resource-center"},{"title":"Announcements","icon":"bullhorn","href":"/how-to-guides/announcements"},{"title":"Surveys/NPS","icon":"square-poll-horizontal","href":"/how-to-guides/surveys"},{"title":"Banners","icon":"bell","href":"/how-to-guides/banners"},{"title":"Event Trackers","icon":"bolt","href":"/how-to-guides/event-trackers"},{"title":"Starting Content","icon":"play","href":"/how-to-guides/starting-flows"},{"title":"How Start Rules Work","icon":"filter","href":"/how-to-guides/how-start-rules-work"},{"title":"Selecting Elements","icon":"crosshairs","href":"/how-to-guides/selecting-elements"},{"title":"Elements inside iframes","icon":"window-restore","href":"/how-to-guides/iframes"},{"title":"Go to page when flow starts","icon":"arrows-repeat","href":"/how-to-guides/go-to-page-when-starts"},{"title":"Hidden Steps","icon":"eye-slash","href":"/how-to-guides/hidden-steps"},{"title":"Deleting user data","icon":"user-xmark","href":"/how-to-guides/deleting-user-data"},{"title":"Delete and duplicate content","icon":"trash","href":"/how-to-guides/delete-and-duplicate-content"},{"title":"Projects","icon":"folder-tree","href":"/how-to-guides/projects"},{"title":"Team Management","icon":"people-group","href":"/how-to-guides/team"},{"title":"Two-Factor Authentication","icon":"lock","href":"/how-to-guides/two-factor-authentication"},{"title":"Single Sign-On (SSO)","icon":"key","href":"/how-to-guides/single-sign-on"},{"title":"Billing \u0026 Invoices","icon":"credit-card","href":"/how-to-guides/billing"},{"title":"Environments","icon":"envira","href":"/how-to-guides/environments"},{"title":"Localization","icon":"language","href":"/how-to-guides/localization"},{"title":"Customizing Themes","icon":"palette","href":"/how-to-guides/customizing-themes"},{"title":"Custom Fonts \u0026 CSS","icon":"font","href":"/how-to-guides/custom-fonts-and-css"},{"title":"Users and Segments","icon":"user","href":"/how-to-guides/users-and-segments"},{"title":"Companies","icon":"people-roof","href":"/how-to-guides/companies"},{"title":"URL pattern matching","icon":"link","href":"/how-to-guides/urls"},{"title":"Flow Analytics","icon":"chart-simple","href":"/how-to-guides/flow-analytics"},{"title":"Embed any content","icon":"people-group","href":"/how-to-guides/embed"},{"title":"Mobile","icon":"mobile","href":"/how-to-guides/mobile"}]},{"group":"Integrations","pages":[{"title":"Overview","icon":"plug","href":"/integrations/overview"},{"title":"Cohort sync","icon":"arrows-rotate","href":"/integrations/cohort-sync"},{"title":"Zapier","icon":"bolt","href":"/integrations/zapier"},{"title":"HubSpot","icon":"address-book","href":"/integrations/hubspot"},{"title":"Amplitude","icon":"wave-square","href":"/integrations/amplitude"},{"title":"Heap","icon":"layer-group","href":"/integrations/heap"},{"title":"Mixpanel","icon":"chart-column","href":"/integrations/mixpanel"},{"title":"PostHog","icon":"chart-line","href":"/integrations/posthog"},{"title":"Segment","icon":"chart-pie","href":"/integrations/segment"}]},{"group":"Developers","pages":[{"title":"Webhooks","icon":"webhook","href":"/developers/webhooks"},{"title":"Identity Verification","icon":"shield-check","href":"/developers/identity-verification"},{"title":"Content Security Policy","icon":"shield","href":"/developers/csp"}]}]},{"anchor":"Usertour.js Reference","icon":"connectdevelop","pages":[{"title":"Usertour.js Reference","href":"/developers/usertourjs-reference/overview"}]},{"anchor":"API Reference","icon":"terminal","pages":[{"title":"API Reference","href":"/api-reference-v2/introduction"}]},{"anchor":"Self-Hosting","icon":"github","pages":[{"title":"Self-Hosting","href":"/open-source/self-hosting"}]},{"anchor":"Use Cases","icon":"route","pages":[{"title":"Use Cases","href":"/use-cases/analyze-onboarding-with-ai"}]},{"anchor":"API Reference (v1)","icon":"terminal","pages":[{"title":"API Reference (v1)","href":"/api-reference/introduction"}]},{"anchor":"Changelog","icon":"clock-rotate-left","pages":[{"title":"Changelog","href":"/changelog/2026"}]}]},"basePath":"","title":"Build Your Onboarding with AI - Usertour documention","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":[],"chunks":[]}