User onboarding built
for SolidJS
Flows works alongside SolidJS signals and SolidStart. Add user onboarding without disrupting your reactivity model.
How Flows powers SolidJS user onboarding
Flows initializes client-side and works alongside SolidJS's fine-grained reactivity. Trigger onboarding workflows from effects, route events, or user actions without disrupting your signal graph.
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
Initialize the Flows SDK inside an onMount callback or a root-level effect and pass user identity and properties. Flows evaluates targeting rules independently and triggers the right onboarding workflow without adding reactive primitives to your own signal graph. See the SolidJS installation guide for step-by-step instructions and code examples.
Yes. Initialize Flows inside an onMount method to ensure it runs in the browser. SolidStart route transitions are detected automatically, so onboarding steps can trigger on specific page visits without custom router hooks.
Yes. Flows is headless. You can use your own SolidJS components and Flows controls when they appear. Your reactivity model, stores, and component patterns stay exactly as they are.
Flows manages its own internal state independently from your signal graph. If you need to, you can listen and react to workflow changes in your SolidJS components with supplied Flows methods.
Pass user properties (like plan, createdAt, or custom attributes) when initializing Flows. Targeting rules are defined in the Flows dashboard and evaluated locally, so new users get onboarding flows while returning users are automatically skipped. See the guide on targeting only new users.
Build better SolidJS user onboarding today
Flows works with fine-grained reactivity, not against it. Add onboarding to your SolidJS app without compromising performance.
No credit card required. Free forever.

