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.
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.
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.
Questions and Answers
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.
No credit card required. Free forever.

