Password reset: login page workflow with custom states
In this Bubble.io tutorial video we show how to use custom states to create a password reset form which optimises user experience and won't frustrate your users.
Forgot your password? Learn how to create a user-friendly reset workflow without asking for redundant information. Enhance your login process with this tutorial.
Custom states for seamless UX: Discover how to use custom states to adapt your login form dynamically. Master custom states to create intuitive user experiences.
Streamline password resets: Implement a workflow that hides unnecessary fields and provides clear feedback. Learn to optimize your app's user management features.
Creating a Forgotten Password Workflow
In this video, I demonstrate how to create a forgotten password workflow and the UI elements required on an existing login page. We're going to approach this in a way that strives to be really friendly to the user without asking them to re-enter additional bits of information or re-enter previously-entered bits of information such as the email address.
Setting Up the Login Form
We have the login form here, and I'm going to set up a series of workflows that use custom states in order for when this button is clicked to hide password and then use the email address that's already been entered and perhaps also check that that's valid and change the action of this button.
Using Custom States
So let's go into it. I'm going to use the parent group here, I'll just call this container as a place to store my custom state. We'll call it "forgotten password" and then this is going to be a yes/no or a boolean and the default is going to be no. So when the page loads, it won't be activated.
Setting Up the Workflow
Then we set up a workflow of this button, this piece of text, and turn it effectively into a button for the container forgotten password is yes. We want to hide the password field because we want the form to be adapted so that it only has an email field now.
Using Conditional Statements
In here, we say collapse when hidden. We can even animate it and we'll just go for a conditional statement here. So the container password forgotten is yes and then this element is visible, and we leave it unchecked because then it says the element isn't visible if this statement is correct.
Adjusting the Button
We then need to adjust our button here to say it's the same thing when a container forgotten password. One of the reasons I'm using conditional statements here rather than show hide workflows in the workflow editor is one thing is just personal preference, but also I think that it limits the number of steps you need to take.
Implementing the Login Workflow
Now let's work on our workflow. I've not set up the default login one, so let's quickly do that. Login user email address password. And then we'll say only when container forgotten password is no.
Creating the Password Reset Workflow
Then we can duplicate this because we're going to do the invert of it. This time we're going to say when the button is clicked to do a send password reset email and the email is going to be sent to the input email address.
Setting Up Email Integration
If you have set up your own transactional email provider and you're not using the Bubble's built-in provider, you can tick this box and add your own transactional email send action here. For this demonstration, we're just going to have it send the template here and assume that you've got the email integration in the settings domain tab.
Improving User Experience
I'd then suggest that we hide the button. That way they can't keep clicking it over and over again. I think we've incorporated two features here that makes the process easier for users because there are two things that frustrate me with some websites' UI for password reset.
Adding a Confirmation Message
Let's add in a little message. We'll just put that right at the bottom: "Please check your inbox". We'll make it collapse on height and not visible on page load, but we will add it in here element show text.
Conclusion
We cut down the number of steps that the user has to take and we give a clear message of what they should expect having taken the action. They can't keep spamming themselves because we've removed the button, and we've shown the email address that the password reset has been sent to.
Ready to Transform Your App Idea into Reality?
Access 3 courses, 400+ tutorials, and a vibrant community to support every step of your app-building journey.
Start building with total confidence
No more delays. With 30+ hours of expert content, you’ll have the insights needed to build effectively.
Find every solution in one place
No more searching across platforms for tutorials. Our bundle has everything you need, with 400+ videos covering every feature and technique.
Dive deep into every detail
Get beyond the basics with comprehensive, in-depth courses & no code tutorials that empower you to create a feature-rich, professional app.
Valued at $80
Valued at $85
Valued at $30
Valued at $110
Valued at $45
14-Day Money-Back Guarantee
We’re confident this bundle will transform your app development journey. But if you’re not satisfied within 14 days, we’ll refund your full investment—no questions asked.
Can't find what you're looking for?
Search our 300+ Bubble tutorial videos. Start learning no code today!
Frequently Asked Questions
Find answers to common questions about our courses, tutorials & content.
Not at all. Our courses are designed for beginners and guide you step-by-step in using Bubble to build powerful web apps—no coding required.
Forever. You’ll get lifetime access, so you can learn at your own pace and revisit materials anytime.
Our supportive community is here to help. Ask questions, get feedback, and learn from fellow no-coders who’ve been where you are now.
Absolutely. If you’re not satisfied within 14 days, just reach out, and we’ll issue a full refund. We stand by the value of our bundle.
Yes, this is a special limited-time offer. The regular price is $350, so take advantage of the discount while it lasts!