What you'll learn

  • Upgrade Bubble error UX: Replace Bubble.io’s default browser alerts with custom toast notifications for cleaner, more professional sign up flows.
  • Handle existing-user signups: Detect the “email already in use” error code and automatically redirect users from registration to the correct login experience.
  • Design smarter auth flows: Use Bubble.io language settings and unhandled error workflows to support complex team/organisation account scenarios.
Need help with your specific app?

Book a 1‑to‑1 Bubble coaching call with Matt

Book a Coaching Call

The Problem with Bubble's Default Auth Error Alert

When a user tries to register with an email that already has an account, Bubble shows a browser-native alert box. The message is accurate, but the experience is jarring: a plain system dialogue that looks out of place in a polished web app, gives no path forward, and disappears when the user dismisses it, leaving them back on a registration form with no indication of what to do next.

Replacing this with something better requires intercepting the error before it surfaces as a browser alert, and Bubble gives you exactly the tool to do that.

Finding the Error Codes in Bubble's Language Settings

The starting point is Bubble's Languages section, accessible from your app settings. This is where Bubble stores the text strings for every authentication-related message, including error codes like usedemail for "this email is already in use."

The codes here are what Bubble fires internally when an auth action fails. They are available as trigger conditions in your workflows, which means you can build custom logic that runs specifically when a registration attempt hits a particular error, rather than handling all auth failures the same way.

Intercepting the Error with an Unhandled Error Workflow

On any page that has auth actions, you can add a workflow triggered by An unhandled error occurs. Set the condition to check that the error code equals usedemail. This workflow fires precisely when a user tries to register with an email already in the Bubble database, and it fires before the browser alert appears.

Inside that workflow, you now have full control over what happens next.

Replacing the Alert with a Toast Notification

The most immediate improvement is swapping the browser alert for a toast notification. Toast notifications are small, non-blocking messages that appear briefly and disappear on their own, which is far less disruptive than a system dialogue that demands acknowledgment.

Bubble has several toast notification plugins available in the plugin directory. After installing one, add its element to the page (most require a page-level element to load the necessary scripts) and then trigger the notification from your unhandled error workflow. The message can say anything helpful, for example "An account with that email already exists. Please sign in instead."

Redirecting to the Login Page

Beyond the notification, the most useful thing you can do is send the user directly to where they need to be. Using Go to page within the same unhandled error workflow, navigate the user to your login page. If your login and registration are on the same page controlled by URL parameters, pass the relevant parameter to switch the view automatically.

For apps where accounts are pre-created on behalf of users, for example team or organisation tools where managers set up accounts before staff first log in, this redirect becomes especially valuable. A user who lands on registration because they did not know they already had an account gets a seamless path to logging in rather than a confusing dead end.

Covering Other Auth Errors

The Languages section reveals just how many auth error states exist: wrong password, invalid email format, expired reset link, incorrect two-factor token, and more. Adding toast notifications for the most common ones, wrong password and password reset in particular, brings significant polish to any registration and login flow.

Each error code becomes an An unhandled error occurs workflow condition. The pattern is the same for all of them: detect the specific error code, show a contextually appropriate message, and if helpful, navigate the user to the right next step. Building this out systematically makes the entire auth experience feel intentional rather than like a default Bubble installation.

Stop going in circles.

Your waitlist is waiting. Book a coaching call with Matt and get unstuck this week.

Book a Call