Log inSign up

User onboarding for
Svelte and SvelteKit

Flows integrates with Svelte and SvelteKit via a lightweight SDK. Add user onboarding and iterate without code changes.

How Flows powers Svelte user onboarding

Flows integrates into Svelte apps via a lightweight client-side SDK. Initialize it in an onMount callback, pass user identity, and trigger onboarding workflows on page load, route change, or user action.

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.

Localization

Localization

Support any language or locale to reach a global audience.

Segmentation

Segmentation

Target specific users or companies based on properties or behavior.

Versioning

Versioning

Deploy, audit, and restore your changes across environments.

Analytics

Analytics

Understand how users interact with your workflows.

Environments

Environments

Test workflows on staging before deploying them to production.

Actions

Actions

Trigger actions based on user behavior.

Workflow logic

Workflow logic

Branch, filter, and control the path of your workflows.

Privacy first

Privacy first

Built with privacy in mind. Minimizing data collection.

Questions and Answers

Call the Flows SDK inside an onMount callback in your root layout component and pass user identity and properties. Flows then handles targeting and workflow activation automatically, without adding any onboarding logic to your individual Svelte components. See the Svelte installation guide for step-by-step instructions and code examples.

Yes. Initialize Flows in your SvelteKit root layout's onMount to ensure it runs only in the browser. SvelteKit client-side navigations are detected automatically, so onboarding steps trigger correctly across route changes.

Yes. Flows exposes event callbacks you can use to write workflow state into a Svelte writable store. From there, any component that subscribes to the store will react automatically, keeping your onboarding UI consistent with Svelte's reactivity model.

Pass user properties when initializing Flows, such as isNewUser or signupDate. Targeting rules are configured in the Flows dashboard and evaluated locally, so returning users are automatically excluded without any conditional logic in your Svelte components. See the guide on targeting only new users.

No. Flows is a client-side SDK and never runs during SSR. Wrapping initialization in the onMount hook guarantees it only loads in the browser, so your SvelteKit pages render on the server as normal.

Build better Svelte user onboarding today

A lightweight SDK that fits Svelte's compiler-first philosophy. Add onboarding to your Svelte or SvelteKit app without the bloat.

Get started for free

No credit card required. Free forever.