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.
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.
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.
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.
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).
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.
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.
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":""},"chroma":{"liveDeploymentHistoryId":"6ac75b31be572e7b73287b41","collectionId":"cc2197bc-7ebd-4230-b95d-3bdf19169dd0","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ac75b31be572e7b73287b41"},"entitlements":{},"buildId":"6ac75b31be572e7b73287b41","clientVersion":"0.0.3918","searchFilterCounts":[{"language":"default","tag":"API Reference","count":92},{"language":"default","tag":"Endpoints","count":79},{"language":"default","tag":"Documentation","count":48},{"language":"default","tag":"API Reference (v1)","count":37},{"language":"default","tag":"Usertour.js Reference","count":31},{"language":"default","tag":"How-to Guides","count":30},{"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":{},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"isAtlas":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.app/_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=6757baab4828bf9cfa961d11\u0026amp;signature=6e978e2effbb00064df162e8ef96c6ae4fd20b46360b0d7f36a22d53198b26b8\">\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.app/_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=6757baab4828bf9cfa961d11\u0026amp;signature=6e978e2effbb00064df162e8ef96c6ae4fd20b46360b0d7f36a22d53198b26b8\">\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\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","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":"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"}]}]},"title":"Build Your Onboarding with AI - Usertour documention","buildId":"dpl_22zLaHtK6fmmSqApXTTP5tC7UBZn","deploymentId":"dpl_22zLaHtK6fmmSqApXTTP5tC7UBZn","dynamics":[],"chunks":[]}