Clew

How to set up user onboarding with ChatGPT Codex without a developer

A complete first-session flow with ChatGPT Codex — 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 Codex

Example: user onboarding with ChatGPT Codex

A task board maintained with Codex. Welcome modal on /board; the tour starts when the user clicks data-tour="new-task", right when they need it; a checklist on the second visit.

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 with ChatGPT Codex, step by step

  1. 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>
    Clew admin Overview with the embed line and a masked site key (user onboarding with ChatGPT Codex)
    Step 1 · schematic illustration
  2. Step 02

    Connect the repository to Codex

    In ChatGPT open Codex and connect the GitHub repository of your app (or run the Codex CLI in the project folder). A regular ChatGPT chat or canvas only shows code — it doesn’t change your repository.

    An AI coding agent workspace connected to a repository (user onboarding with ChatGPT Codex)
    Step 2 · schematic illustration
  3. Step 03

    Start a task with the prompt

    Replace PASTE_YOUR_SITE_KEY with your key and start a Codex task with the prompt below.

    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>
    
    Find the root HTML file or root layout of this repository (index.html for Vite, app/layout.tsx with next/script for Next.js App Router, nuxt.config.ts app.head.script for Nuxt, the base template for server-rendered apps) and add the tag there.
    
    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.
    AI task input with the Clew prompt (user onboarding with ChatGPT Codex)
    Step 3 · schematic illustration
  4. Step 04

    Review the pull request and merge

    Codex returns the change as a diff you can open as a pull request. Check that it touches the root file and the small additions only, merge, and let your hosting deploy.

    Pull request diff with one script line added (user onboarding with ChatGPT Codex)
    Step 4 · schematic illustration
  5. 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.

    A welcome popup, a tour tooltip and a checklist panel shown as three stages of user onboarding (user onboarding with ChatGPT Codex)
    Step 5 · schematic illustration
  6. 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:

    SettingValue
    Welcome popup
    FormatModal window
    Where to show (page URL)Exact path /board
    When to showRight on page load
    Audience targetingNo rules — everyone who opens the page
    FrequencyOnce per visitor
    Product tour
    FormatStep-by-step tooltips
    Where to show (page URL)Section by prefix /board
    When to showOn click on an element: [data-tour="new-task"]
    Audience targetingNo rules — everyone who opens the page
    FrequencyOnce per visitor
    Checklist
    FormatOnboarding checklist
    Where to show (page URL)Section by prefix /board
    When to showOn the Nth visit: 2
    Audience targetingNo rules — everyone who opens the page
    FrequencyOnce per visitor
    Clew tour editor with the format, page URL rule, trigger and audience rule fields (user onboarding with ChatGPT Codex)
    Step 6 · schematic illustration
  7. 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.

    Clew admin Overview with the green “Widget is live” card (user onboarding with ChatGPT Codex)
    Step 7 · schematic illustration

Pitfalls: user onboarding with ChatGPT Codex

Nothing changes until the PR is merged

Codex works in a cloud copy of the repository. Until you merge and deploy, the user onboarding can’t appear on your site.

Canvas code is a draft

If you paste code from a ChatGPT chat by hand, you are the developer: check the file and the placement yourself, or use Codex so the change is reviewed as a diff.

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

Why start the tour on click?

Because the task form is the moment of confusion. On click on an element starts the tour exactly then.

Can I do it in the ChatGPT app without Codex?

Only if you paste the result into your code yourself. Codex is the part of ChatGPT that edits a real repository.

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.

One line on your site — then tours, tooltips and checklists without releases.

Get your site key — freeHow Clew worksFree plan forever, no credit card

Product tours, popups and onboarding in the age of AI

7 patterns with step counts, copy rules and what to measure, what AI changes, and a checklist before you publish. PDF, 2 pages. What is inside →