Master Bubble's built-in debugging toolkit to find and fix issues fast. This tutorial covers the step-by-step debugger, Server Logs, the Issue Checker, and common debugging patterns for workflow timing problems, missing data, and display bugs — all from the visual editor without any code.
Overview: Managing Errors and Debugging in Bubble
Every Bubble builder eventually encounters bugs — workflows that do not fire, data that does not appear, or mysterious errors with no clear cause. This tutorial walks you through Bubble's complete debugging toolkit: the visual debugger for stepping through frontend workflows, Server Logs for backend issues, and the Issue Checker for catching problems early. You will also learn the most common debugging patterns that experienced Bubble builders rely on.
Prerequisites
- A Bubble account with at least one app
- An app with at least one workflow to debug
- Basic understanding of Bubble workflows (events and actions)
Step-by-step guide
Launch the step-by-step debugger
Launch the step-by-step debugger
Open your app in the Bubble editor and click Preview in the top-right corner. When your app opens in preview mode, you will see a debugger toolbar at the bottom of the page. Click the 'Step-by-step' button on the left side of this toolbar. Now trigger any workflow — for example, click a button. The debugger pauses at each action and shows you: which workflow fired, what event triggered it, and each action in sequence. Click the 'Next' arrow to step through actions one at a time. Watch the 'Properties' panel on the right to inspect element values at each step.
Pro tip: Click the 'Slow' button instead of 'Step-by-step' if you want workflows to run automatically with a delay between each action — useful for watching the flow without manual stepping.
Expected result: The debugger pauses on each workflow action, letting you inspect data and see exactly what happens at each step.
Inspect element states and expressions in the debugger
Inspect element states and expressions in the debugger
While in the debugger, click on any element in your app preview. The debugger panel expands to show that element's current properties: its data source value, visibility state, conditional evaluations, and Custom State values. This is critical for diagnosing 'why is this element not showing the right data' issues. You can also hover over any dynamic expression in the Properties panel to see its evaluated value. If a Text element shows blank, inspect it — the debugger will reveal whether the expression returns empty or if a condition is hiding the element.
Expected result: You can click any element to see its live property values, data source results, and conditional states in real time.
Read Server Logs for backend workflow errors
Read Server Logs for backend workflow errors
In the Bubble editor, click the Logs tab in the left sidebar. This opens the Server Logs view. You will see a chronological list of server-side events including backend workflow executions, scheduled workflows, database trigger events, and API calls. Each log entry shows a timestamp, the workflow name, and a status (success or error). Click any entry to expand it and see detailed information: which actions ran, what data was passed, and if an error occurred, the error message. Use the filter options at the top to narrow logs by type or time range.
Pro tip: Free plan logs are retained for only 6 hours. On paid plans, logs persist longer. If you are debugging a production issue, check logs immediately — they disappear fast on lower plans.
Expected result: You can view detailed server-side execution logs showing which backend workflows ran, what data they processed, and any errors.
Run the Issue Checker to catch configuration problems
Run the Issue Checker to catch configuration problems
In the Bubble editor, look for the Issue Checker icon in the top toolbar — it looks like a warning triangle. Click it to open the Issues panel. Bubble scans your entire app and lists every problem it finds: missing data sources, broken references to deleted elements, invalid dynamic expressions, and incomplete workflow actions. Each issue has a description and a clickable link that takes you directly to the problematic element or workflow. Fix issues from top to bottom — some issues cascade, so fixing one may resolve others automatically.
Expected result: The Issue Checker displays a list of all configuration problems in your app with direct links to fix each one.
Debug workflow timing issues with Result of step X
Debug workflow timing issues with Result of step X
One of the most common Bubble bugs is actions running before previous actions finish. For example, creating a record in Step 1 and searching for it in Step 2 — the search may not find it because Step 1 has not committed yet. To fix this, never use 'Do a search for' to find data you just created. Instead, use 'Result of step 1' to reference the newly created thing directly. In the workflow editor, when configuring Step 2, click 'Insert dynamic data' and select 'Result of step 1'. This guarantees you are referencing the exact thing created in the previous action.
Pro tip: If you need to trigger a sequence of actions that must wait for each other, create a Custom Event and trigger it from your workflow — Custom Events wait for completion before the parent workflow continues.
Expected result: Workflow actions reliably reference data from previous steps using Result of step X instead of fragile database searches.
Add error handling with the unhandled error event
Add error handling with the unhandled error event
Go to the Workflow tab and click to add a new event. Scroll to General and select 'An unhandled error occurs'. This event fires whenever any workflow encounters an error that is not caught elsewhere. In the actions for this event, add 'Show an alert' with a user-friendly message like 'Something went wrong. Please try again.' You can also log the error: create a new thing (Type: ErrorLog) with fields for 'Current workflow error's code' and 'Current workflow error's message'. This gives you a database record of every error for later review.
Pro tip: Customize error messages in Settings → Languages tab to replace Bubble's default technical messages with friendly text your users will understand.
Expected result: Your app catches unhandled errors, displays a friendly message to the user, and logs error details for debugging.
Complete working example
1DEBUGGING TOOLKIT — WORKFLOW SUMMARY2=====================================34DEBUGGER (Frontend):5 1. Preview app → Click 'Step-by-step' in debugger toolbar6 2. Trigger a workflow (click button, load page, etc.)7 3. Step through each action with Next arrow8 4. Inspect element properties by clicking on elements9 5. Check dynamic expression values in Properties panel1011SERVER LOGS (Backend):12 1. Logs tab → View chronological server events13 2. Filter by type: Backend workflows, Scheduled, Triggers14 3. Click entry to expand: actions, data, errors15 4. Note: Free = 6hr retention, Paid = longer1617ISSUE CHECKER:18 1. Top toolbar → Warning triangle icon19 2. Review all listed issues20 3. Click issue link → go directly to problem21 4. Fix top-to-bottom (cascading fixes)2223ERROR HANDLING WORKFLOW:24 Event: An unhandled error occurs25 Action 1: Show alert — 'Something went wrong. Please try again.'26 Action 2: Create new ErrorLog27 - error_code = Current workflow error's code28 - error_message = Current workflow error's message29 - timestamp = Current date/time30 - user = Current User3132Data Type — ErrorLog:33 error_code (text)34 error_message (text)35 timestamp (date)36 user (User)3738COMMON DEBUGGING PATTERNS:39 Problem: Data not found after creation40 Fix: Use 'Result of step X' instead of Search4142 Problem: Workflow not firing43 Fix: Check 'Only when' conditions on the event4445 Problem: Element shows wrong data46 Fix: Debugger → click element → inspect data source4748 Problem: Backend workflow 40449 Fix: Ensure workflow is deployed and name matchesCommon mistakes when debugging errors in Bubble
Why it's a problem: Searching for a newly created record instead of using Result of step X
How to avoid: Always use 'Result of step X' to reference data created in a previous action within the same workflow.
Why it's a problem: Only testing with an admin account
How to avoid: Use the 'Run as' feature in preview mode to test your app as a non-admin user and verify Privacy Rules work correctly.
Why it's a problem: Ignoring the Issue Checker warnings
How to avoid: Run the Issue Checker before every deployment and resolve all listed issues.
Best practices
- Run the Issue Checker before every deployment to catch configuration problems early
- Use the step-by-step debugger as your first investigation tool for any frontend bug
- Create an ErrorLog Data Type to persist error details beyond Server Log retention limits
- Add user-friendly error messages in Settings → Languages instead of showing technical Bubble errors
- Test every workflow as a non-admin user to catch Privacy Rule issues
- Use 'Result of step X' instead of searches to reference data from previous workflow steps
- Check Server Logs immediately when a backend workflow fails — Free plan logs expire in 6 hours
- Add the 'An unhandled error occurs' event to every page for graceful error handling
Still stuck?
Copy one of these prompts to get a personalized, step-by-step explanation.
I'm debugging a Bubble.io app where a workflow creates a new record but the next step can't find it. Can you explain the workflow timing issue in Bubble and how to use 'Result of step X' to fix it? Also suggest other common debugging patterns.
Help me set up error handling in my app. I want to catch unhandled errors, show a friendly message to users, and log the error details to a database table called ErrorLog with fields for error code, message, and timestamp.
Frequently asked questions
How long are Server Logs retained?
On the Free plan, server logs are retained for only 6 hours. Paid plans retain logs longer. For persistent error tracking, create an ErrorLog Data Type and write errors to the database.
Can I debug backend workflows with the step-by-step debugger?
No. The visual debugger only works for frontend workflows in preview mode. For backend workflows, use Server Logs in the Logs tab to inspect execution details and errors.
Why does my workflow fire but the action does not run?
Check if the individual action has an 'Only when' condition that evaluates to no. Open the workflow editor, click the action, and review the 'Only when' field. Also check Privacy Rules — the action may be blocked by data access restrictions.
How do I find which element or workflow is causing an error?
Start with the Issue Checker (warning triangle in the toolbar) for configuration errors. For runtime errors, use the step-by-step debugger to trigger the problematic workflow and step through each action to identify where it fails.
What does 'X Hidden Fields because of privacy rules' mean?
This means the current user does not have permission to view certain fields on a Data Type. Check Data tab → Privacy and verify that the relevant Privacy Rule grants 'View all fields' or the specific field visibility for the user's role.
Can RapidDev help debug complex Bubble applications?
Yes. RapidDev's engineering team specializes in diagnosing performance bottlenecks, Privacy Rule misconfigurations, and workflow timing issues in Bubble apps. They can audit your app and identify root causes that are difficult to trace with Bubble's built-in tools.
Is there a way to add console.log style debugging in Bubble?
Bubble does not have console.log, but you can approximate it by adding a 'Create a new thing' action (Type: DebugLog) at any point in a workflow to save current values to the database for inspection.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your project.
Book a free consultation