How to Let Users Set Their Password During Onboarding (Not Reset Password)

Hi everyone!

I’m working on an admin portal where an admin can create accounts for users and send onboarding links.

The email sent includes the user’s unique ID as a parameter in the URL (e.g., yourapp.com/onboarding?uid=unique_id), which brings the user to an onboarding page to complete their setup.

However, I’m running into an issue: Bubble doesn’t allow me to directly modify the user’s password using “Make changes to a thing.” Since this is not a password reset flow, I need the user to set their password securely during onboarding.

What I’ve Tried:

• Using “Make Changes to User”: Unfortunately, Bubble restricts password fields here, likely for security reasons.

• Reset Password Flow: Doesn’t fit this use case, as I want the user to set their password during the initial onboarding.

What I’m Looking For:

Does anyone have suggestions or alternative solutions for this scenario? Specifically:

  1. How can I allow users to set their password securely during onboarding?

  2. Are there workflows or best practices others have used for similar use cases?

I’d appreciate any guidance, examples, or resources you can share. Thanks in advance for your help.

Please note the account has to be pre-setup as the admin needs to load certain data into the account before the user signs up.

These two things need to be considered as to which approach you want, is the user setting their password during an onboarding flow, or is the account created by admin, in which case there needs to be a temporary password assigned.

1 Like

Thanks for your response!

I’ve decided to temporarily set the user’s password when the admin creates their account. What would the workflow look like for the user to set a new password during the onboarding process? Specifically, what actions should I use to let the user update their password during onboarding (without using the “Reset Password” flow as I am using a custom email)?

Any guidance on setting this up would be much appreciated!

Thanks in advance!

Thank you so much for your help! I really appreciate the guidance, it helped me think through the process, and I wanted to share the solution I implemented in case it helps others in the future. I’ve also attached images to make it easier to follow along.

Here’s the workflow I set up:

  1. Sending the Onboarding Link:

When the admin creates the account, I send an email with an onboarding link. The link includes two parameters in the URL:

• The user’s unique ID (uid)

• A temporary password (temp_password)

Example: yourapp.com/onboarding?uid=[user’s_unique_id]&temp_password=[temporary_password]

  1. On the Onboarding Page:

On page load, the workflow does the following:

Step 1: Use the uid parameter in the URL to search the database for the user. This retrieves the user’s email.

Step 2: Use the temp_password parameter from the URL as the password for logging the user in.

Step 3: Log the user in automatically using the “Log the user in” action, with the email from Step 1 and the password from Step 2.

  1. What Happens Next:

Once the user is logged in, they’re taken through the onboarding flow. This includes setting their new password. I used two input fields for “New Password” and “Confirm Password” and validated that they match before allowing the user to save their new password.

  1. Why This Works:

• The uid ensures that only the intended user can access their account.

• The temp_password serves as an extra layer of security while allowing the user to log in automatically.

• By using URL parameters, the workflow dynamically retrieves the necessary details for login without requiring manual entry from the user.

Take a look at the images attached for a visual breakdown of how this is set up in Bubble. I hope this detailed explanation helps anyone looking to implement something similar!

Thanks again for your guidance, it really helped me refine this approach!

1 Like