Email Confirmed Field

The manual states: “A second field is ‘email confirmed’, which is a way to know whether the user clicked a link to validate the ownership of an email account. This fields returns a yes/no value.”

However, I cannot see this field anywhere. Is it hidden even though it is a built in field for users?

Hi @lortie.jason, welcome to Bubble

Yes it’s a hidden field. It automatically sets itself to ‘yes’ when the user clicks on the link Bubble sends via email

1 Like

Thanks… If it is hidden, how can I utilize it in workflows?

Well, you can’t :slight_smile: the only way to change the value of that field is through the email validation feature included in Bubble.

This field is set to “no” by default. If you tick the “Send an email to confirm the email” checkbox in the screenshot below, the user will receive an email from Bubble, with a link redirecting the page you set in “Confirmation page”. When clicked, the field will be set to “yes”.


There are ways to use manual email validation though. If you’re interested in doing that, I would advise to read this: How to custom validate a new user email


That part I understand. But what I’m getting at is being able to use that hidden field in other workflows… Not to change it, but as a validation for example.

Specifically, I do not want to allow users to login until they have validated their email. If that field is hidden, how could I accomplish this?

Ah okay got you. You can use it in conditions (in elements or workflows) but not as actions in workflows

For the login example, you can set a condition in the Login button so that « when current user’s email confirmed is no » > this element is not clickable


Ah - thanks so much. It is crazy, I never noticed that field popped up in workflows. I guess since it wasn’t viewable in the data structure I never looked for it in the workflows.
Appreciate the help!

1 Like

So I was able to get this working. Currently if a user tries to login and they haven’t confirmed their email, they got a pop-up telling them to confirm their email.

The login button uses the current workflow to trigger this popup for no email confirmed:


It uses this for when they put in a wrong email and triggers a popup saying they have not signed up:


And uses this for logging in successfully:


However, how do I get this to work with privacy roles? By default I do not want to expose emails, but I am not sure the correct way to setup the role because everything I have tried hides the email when the system is trying to search for the email to run these workflows.

Bump… Any suggestions?

Leave “Find This In Searches” checked, and “SHow All Fields” unchecked. This allows Bubble to verify the existance or not of an email without allowing it to ever expose your email data to users.

Hey @anon38627393, thanks for the suggestion. Tried this and left “Find This In Searches” checked but does not seem to work. Here is what the debugger shows:

The search for the user works. But I am assuming since the email is hidden, it cannot verify the “email confirmed” field:


Hmm this is exactly how I currently have it working.

Do A Search For Users
User = your user
Filtered:email confirmed = yes

Is there a way to manually confirm an email? For testing and for some other specific scenarios.