Onboarding for Stripe Apps
Learn how to build an onboarding flow for your Stripe app users.
Before you begin
Best practices
The ideal onboarding flow is:
- Effortless: Users can onboard quickly and easily, while staying focused on their immediate task and providing only necessary information.
- Customizable: Onboarding can scale up or down based on user needs. Make sure the flow is versatile, yet focused.
- Relevant: Users can complete the most important tasks so they can start using the app.
Onboarding flow
Enable users to use your app as quickly as possible with minimal setup. Keep the onboarding flow brief and include authorization to connect your users’ Stripe accounts to your product.
If users must complete setup tasks before using the app, use the OnboardingView component in the onboarding viewport to clearly communicate the required setup tasks. For each onboarding step, show users a primary action to continue to the next step, such as “Continue.”
Note
You can’t use the OnboardingView component for new feature guidance, promotional offers, or to display large documents unrelated to onboarding.
Launch the onboarding flow
After users install the app, launch the onboarding flow as a post-install action. You can also create a deep link to launch the onboarding flow from your app drawer or from an email or other source.
To customize the onboarding experience, use environment.queryParams to pass in context. For example, a deep link with ?app_ allows users to resume onboarding at a specific step, or ?app_ tracks how users arrived at your onboarding flow.
Sign in flow
Detect whether the user already has an account for your product and allow them to enter a sign in flow. The sign in flow must provide the path of least resistance and avoid unnecessary steps, as shown in the following example:

If users must sign in as part of the setup process, use the SignInView component as a step during onboarding.
If users must sign in to an external site, be sure to collect sensitive credentials on that site and not within the Stripe Dashboard. This helps to avoid compromising passwords.
Always redirect users back to Stripe after sign in is complete.