We've been collecting SaaS onboarding flows on this site for a couple of years now, with screenshots and screen recordings of each one. This is the list I send people when they ask which ones are worth copying. Every example links to the full write-up with the media.
I've grouped them by what the onboarding is trying to do. If your product needs an install, those first five minutes will look different from a product where you need to invite your team. Slack's redesign tour won't help you figure out that install flow. I've also included a few examples that get something wrong, because seeing where a flow breaks down can be useful when you're building your own.
Warp has the best checklist I've seen in a developer tool. It lives in a panel on the right, out of the way while you work. Each step asks you to try something in the terminal, like "use this shortcut to try this." Do it and the step ticks itself off, even if the checklist is closed. You can keep working without opening the panel to mark anything complete.
Loom embeds a four-step checklist on the home page (download, record, share, invite) tied to real product actions. It also strips the whole UI down while you're in the onboarding state. I wanted to upload a video instead of record one, couldn't find the button, and left. The simpler interface hid the workflow I'd signed up to use.
Cal.com keeps its checklist on the teams page, with just a few steps to get through. The buttons take you to the actions you need to complete. There are also stacked cards in the left nav for new features, and they disappear once you've used them, so you aren't looking at the same promotion every time you come back.
Mercury pre-fills the fields it can and keeps each registration step short. If it can look something up, it doesn't ask you to type it in again. I wish more bank account applications worked this way, given how much information you have to provide to open one.
Super asks what you're trying to do up front and uses the answer to decide what you see next. The signup page gives you several ways to sign in. It also has customer logos and a reminder of what you're signing up for, which helps if you're still deciding whether to try it.
Dropbox asks about your use case, company size, and industry in a short form. You can see your progress and skip it if you want. After that you get a checklist and an announcement. Dropbox uses the answers to personalize what you see and pass information to sales. Keeping the form quick and optional makes it easier to fill in without delaying whatever you came to do.
Notion has a simple intercept form for people who were invited into a workspace by someone else. They're joining a workspace that's already there, so they need a different introduction from someone signing up on their own. Notion gives invited users their own form.
Framer opens an example project and offers a guided tour you can decline. The welcome modal shows an animated preview, so you get a sense of what you'll see before agreeing to it. The tour uses a semi-interactive video to explain an editor that would be difficult to cover with tooltips. A forced tour can get dismissed in seconds. Here you can skip it and start working in the example project right away.
Typeform also asks whether you want help, but keeps the guidance smaller. Say yes and hints appear on the builder's buttons, including where to set a form ending and how to publish. You can leave them there while you work and read them when you need them.
Figma introduced its redesign with an announcement and an optional tour. The tour is short, and you advance by clicking the highlighted element. You get to try the changed interface as you go, without clicking a Next button after every explanation.
Slack rolled its redesign out workspace by workspace. An animated announcement offers an interactive walkthrough of what moved, and you can decline it. It only appears the first time you enter a workspace with the new design.
Anthropic points new users to the tone selector in Claude with a single hint. It also uses an inline banner with a "New" badge to announce a launch. You can keep having your conversation with either one on screen.
Linear puts its promotions in the bottom left of the app. You can dismiss a card or click it to open a modal with the details. Because every announcement uses that same spot, you don't get several promotions covering the screen at once. You can see that happen in our Google write-up.
Stripe uses tooltips to tell you when something has moved in the dashboard. If you're used to finding a feature in a particular place, the tooltip explains where it went while you're looking for it.
We generally find these examples have three things in common. Framer, Typeform, Figma, and Slack all ask whether you want a tour before starting one. With Warp, Loom, and Cal.com, checklist progress follows what you do in the product, so you can finish setup while the checklist keeps track. The interactions are short, and you can dismiss them when you want to get back to work. Loom and Google show where this can go wrong. Loom hid the upload workflow I needed, and Google's overlapping promotions covered the screen people were trying to use.
The other thing they have in common is less obvious. None of these companies hand-built a checklist that ticks itself off, or an announcement that fires once per workspace and never again, or a card that knows you already clicked it. They have a platform for it. Warp's checklist completes on its own because the product reports actions to something that tracks per-user state. Linear's promotions never collide because they all go through one channel. Slack's redesign tour rolled out workspace by workspace because the targeting could tell which workspace you were in. Building that plumbing yourself is a quarter of engineering work, and keeping it working as the product changes is a permanent job.
We built a platform like this at Frigade. Engage gives you the checklists, announcements, tours, and cards with the per-user state, targeting, and orchestration already done, from a React SDK or a no-code editor, so a product team can ship the Cal.com nav card or the Framer opt-in modal in an afternoon instead of a sprint. And the Assistant covers the part none of these examples solve, which is the user who ignores the checklist and just asks how to do something. If you want the building blocks first, the onboarding UX patterns library breaks down the eight components in these flows, and our user onboarding tools list compares the platforms.
I usually point people to Warp's self-completing checklist and Mercury's pre-filled registration first. Framer and Typeform are useful if you're working out how to offer help inside an editor. For a redesign, look at Figma and Slack's tours; for announcements, look at Linear's single promotion slot. The write-ups above have screenshots and video so you can see how each flow works.
Start with what the user signed up to do and get them through that workflow. Collect the information you need along the way, pre-fill what you can, and let people choose whether they want help. Progress should update when they complete an action. You can see those four choices across Mercury's registration, Warp's checklist, and Framer's optional tour. Keep other workflows available during setup, too. I left Loom because I couldn't find the upload button in its onboarding interface.
Make tours opt-in and keep them under five steps. A checklist should update when the user completes an action, and forms should pre-fill whatever information you already have. Let people skip them. Give announcements a shared spot in the interface so they don't overlap. When you measure activation, check whether the user got their first result in the product. Completing a tour alone won't tell you that.
Three to five steps, each with a result the user can see. Depending on your product, that could mean installing or connecting something, then creating the first thing they'll use. Include sharing or inviting someone if that's part of getting started, plus one step for a feature they might miss. Loom uses download, record, share, invite. The product should be able to detect when each action is done, which is why "watch this video" is a poor checklist item. Keep the checklist available after the first session so people can finish later.




