User onboarding for
any JavaScript app
Flows works with any JavaScript stack. Add user onboarding to vanilla JS or legacy codebases without a new framework.

Trusted by leading engineering, product, and design teams
How Flows works with JavaScript
The Flows JavaScript SDK is framework-agnostic. Load it via npm, call init with user identity, and Flows handles onboarding workflow activation from there.
Product tours.
Guide users step-by-step through your product with tooltips, modals, and hints that feel native to your app.
Embeddable components.
Embed interactive content directly inside your app layout: checklists, empty states, and contextual guides without floating overlays.
Custom components.
Use your own design system and component library to build adoption experiences that match your product's look and feel exactly.
Localization.
Deliver workflow content in any language to reach a global user base.
User targeting.
Target specific users or segments with AND/OR logic to show the right experience to the right person.
Analytics.
Track workflow performance with built-in analytics. Measure completion rates, drop-off, and engagement across all your adoption experiences.
Designed for unlimited customizability
Flows is designed to be a “Headless product adoption platform”. We’ll focus on user state problems, so you can focus on your own product.
Frequently asked questions
Load the Flows SDK via npm, call init() with your organization ID and user identity, and define your onboarding workflows in the Flows dashboard. No framework, build tool, or bundler required. See the JavaScript installation guide for step-by-step setup instructions.
Pass user properties as a plain object when calling init(). These can include any attributes your backend exposes, such as plan, signup date, or feature flags. Targeting rules are defined in the Flows dashboard and evaluated client-side, so no additional server logic is needed. See the guide on targeting only new users.
Yes. Flows is headless. You can use any HTML custom element to render Flows components. This will allow you to use existing UI patterns, template or a component library without adopting a new rendering approach.
Yes. Once the Flows SDK is on the page, product managers and designers can create and update onboarding workflows entirely from the Flows dashboard. No JavaScript changes, or redeployments needed.
Add user onboarding to any JavaScript app
No framework required. Flows works with whatever JavaScript framework you're running.


