How to set up user onboarding in a Bolt.new app without a developer
A complete first-session flow in a Bolt.new app — welcome, guided first action, getting-started list — built from three Clew items that follow the user through the app instead of one long tour on page load.
- Time
- ● 40 minutes
- Price
- Tours free · rest 14-day trial
- Who does it
- You and the Bolt chat
Example: user onboarding in a Bolt.new app
A Bolt.new portfolio builder. Welcome modal on /projects, a tour of the editor on /projects/new, and on the third visit a checklist: custom domain, SEO title, share link.
The product tour part is free on the Free plan (up to 3 published). The Modal, Checklist and audience rules are part of Pro: every new account gets a 14-day trial with everything included, no card. When the trial ends nothing is deleted and published items keep showing.
How to set up user onboarding in a Bolt.new app, step by step
- Step 01
Copy your Clew snippet
Create a free account (or sign in), add your site and open Admin → Overview. Click the line in the “No signal from the widget yet.” card to copy it — it carries your real site key instead of the placeholder.
<!-- Clew: replace PASTE_YOUR_SITE_KEY with the site key from Admin > Overview --> <script src="https://tryclew.io/widget/PASTE_YOUR_SITE_KEY.js" async></script>

Step 1 · schematic illustration - Step 02
Open the project in Bolt.new
Open the project at bolt.new. Bolt runs it in the browser and edits files from the chat.

Step 2 · schematic illustration - Step 03
Send the prompt with your key
Replace
PASTE_YOUR_SITE_KEYwith your key and send the prompt below. It covers the tag and what the user onboarding needs.Add the Clew onboarding widget to this app. Insert this exact tag once so it loads on every page, including after client-side route changes: <script src="https://tryclew.io/widget/PASTE_YOUR_SITE_KEY.js" async></script> This is a Bolt.new project (usually Vite): put the tag in the root index.html right before </head>; if it is Next.js, use next/script in the root layout. After sign-in, call Clew.identify() with non-personal properties as strings that tell a new user from an existing one — for example { signup_source: "web", onboarded: "false", role: "owner" } — and update onboarded to "true" when the user completes the key action. If the widget may not have loaded yet, first define the queue stub: window.TutorKit = window.TutorKit || { q: [], identify: function (p) { this.q.push(["identify", p]); } }; then call window.TutorKit.identify(...). Also add data-tour attributes to the main navigation and the primary create button. Never pass names or emails. Rules: - Use the script URL exactly as given. Do not download it, bundle it or install an npm package. - If the project sets a Content-Security-Policy, allow https://tryclew.io in script-src and connect-src. - Change nothing else and show me the diff.
Step 3 · schematic illustration - Step 04
Review the files and deploy
Check that
index.htmlgot one line and nothing was installed from npm, then press Deploy (Netlify or Bolt hosting). The preview inside Bolt doesn’t count as the live app.
Step 4 · schematic illustration - Step 05
Create the three onboarding items
In Clew create three items in Flows: a Modal window with one welcome sentence and a link to the key screen; a Step-by-step tooltips tour of 3–4 steps on that screen, built with Edit on your site and Pick element; and a Onboarding checklist with the remaining setup tasks.

Step 5 · schematic illustration - Step 06
Choose where, when and for whom it shows
In the same editor, set Where to show (page URL), When to show, Audience targeting and Frequency. These are the settings of the example above:
Setting Value Welcome popup Format Modal window Where to show (page URL) Exact path /projectsWhen to show Right on page load Audience targeting No rules — everyone who opens the page Frequency Once per visitor Product tour Format Step-by-step tooltips Where to show (page URL) Section by prefix /projects/newWhen to show Right on page load Audience targeting No rules — everyone who opens the page Frequency Once per visitor Checklist Format Onboarding checklist Where to show (page URL) Section by prefix /projectsWhen to show On the Nth visit: 3 Audience targeting No rules — everyone who opens the page Frequency Once per visitor 
Step 6 · schematic illustration - Step 07
Publish and check it on the live site
Set Status to Published and save. Open the page in a private window — Clew remembers who has already seen a “once” item, so your usual browser may skip it. Views, completions and drop-offs appear in the tour stats.

Step 7 · schematic illustration
Pitfalls: user onboarding in a Bolt.new app
The in-browser preview runs on a temporary origin
Bolt’s preview URL changes between sessions. Test the user onboarding on the deployed domain; paths in URL rules stay the same.
A “fix it” prompt may rewrite index.html
When Bolt regenerates the project template, the tag can disappear. After large regenerations, check Admin → Overview for “Widget is live”.
The welcome popup must not fire for existing users
“Once per visitor” is per browser: an old customer on a new laptop is a new visitor. If your app knows the user, add a rule on a property like onboarded so long-time users skip the welcome.
Don’t start everything on one page
If the popup, the tour and the checklist all match the same URL, only one starts and the others wait. Give each item its own page or trigger, as in the table above.
Questions and answers
Can I test the flow as a new user?
Use a private window: it has no Clew memory, so every item shows as for a newcomer.
Do I need to download the code from Bolt?
No. Bolt edits the project and deploys it; the Clew line goes in with one prompt.
Which parts are free?
Tours are free on the Free plan. The welcome popup, the checklist and audience rules are in Pro; the 14-day trial includes them all, no card.
How long does it take?
About forty minutes for a first version: ten for the popup, twenty for the tour, ten for the checklist. Then improve by the funnel.
What else you can add in a Bolt.new app
- How to create a product tour in a Bolt.new app without a developer
- How to add an onboarding checklist in a Bolt.new app without a developer
- How to add a paywall upgrade prompt in a Bolt.new app without a developer
User onboarding on other platforms
- Google Tag ManagerHow to set up user onboarding via Google Tag Manager without a developer
- LovableHow to set up user onboarding in a Lovable app without a developer
- v0How to set up user onboarding in a v0 app without a developer
- ReplitHow to set up user onboarding in a Replit app without a developer
- CursorHow to set up user onboarding in an app built with Cursor without a developer
- Claude CodeHow to set up user onboarding with Claude Code without a developer
- ChatGPT CodexHow to set up user onboarding with ChatGPT Codex without a developer
- Qwen CodeHow to set up user onboarding with Qwen Code without a developer