← All features

Grow

Checklists

Onboarding that lives in your product — and knows what each user has actually done.

Embed anywhere: one commandPer-user progressSteps complete from real eventsWears your brand + themeMessenger Home card

What it is

A checklist is a set of steps you define — a title, a short blurb, and a link to the exact screen where the step happens — that each user walks at their own pace. One definition renders in three places: as a card in the messenger, inside the Iris inbox (our own agent onboarding runs on this exact engine), and inline in your own product — Iris('checklist', { target: '#el' }) drops it into any element on any page, styled in your brand colors and theme.

Steps complete three ways: the user clicks one, your frontend reports one — Iris('checklist:step', 'key') — or your backend confirms one server-to-server with a signed request, so “connect payouts” only ticks when payouts are actually connected. Progress is per-user and syncs live across every surface: finish a step in the app and the messenger card updates too.

How you’d use it

SaaS team

Embed the activation walk on the dashboard home: invite a teammate, create the first project, install the integration. The steps that matter complete from real product events — not from a user clicking “done” to make the box go away — so the checklist your user sees is the same truth your activation numbers see.

D2C brand

A first-order journey for new customers: create an account, place the first order, track it, join the loyalty list. Each step deep-links to the exact page, and the whole thing sits in your storefront looking like you built it — your colors, your theme, no third-party frame vibes.

Creator platform

Onboarding sellers is a chain of real-world gates: publish your first payment page, complete KYC, make the first sale. The last two can only be confirmed by your backend — the server-to-server call marks them done when they actually happen, and the seller watches the ring fill in.

Agency

Every new client gets the same setup walk — brand assets in, snippet installed, help articles seeded, domain connected. Define it once per workspace and stop running client onboarding from a spreadsheet only you can see.

Get more out of it

  1. Complete steps from events, not clicks

    A click means “I saw this”; a server-confirmed step means “it happened.” Wire the steps that matter to your product’s real events — from your frontend for UI actions, server-to-server for the ones the browser can’t be trusted about.

  2. Keep it to five to seven steps

    A checklist that scrolls is a backlog wearing a progress ring. If setup genuinely takes fifteen steps, ship the seven that get a user to value — the rest belong in your help center.

  3. Link every step to its exact screen

    Each step carries an action: a route straight to the page in your app, or a link. “Connect your domain” with a button that lands on the domain screen completes; the same step with no destination gets read and abandoned.

  4. Treat step keys as permanent

    The key from the builder is the step’s identity — progress hangs off it, and it’s exactly what your code passes when reporting completion. Retitle steps freely; a stable key means nobody’s progress ever resets over wording.

  5. It works before sign-in too

    An embed renders for anonymous visitors, and their progress carries over when they identify on the same browser. Server-confirmed steps deliberately require a verified user — the checklist meets people early without trusting the browser for the parts that count.

Put your onboarding where your users are.

Your workspace takes about a minute to create — no sales call, no credit card.