Here’s the link to vote: Advanced Workflow Mode for Precise Control Over Workflow Timing | Bubble
Have you found that sometimes your workflows don’t run as expected or consistently? It can be frustrating when actions happen too fast, out of order, or at the same time, especially with complex processes like data updates or API calls.
What’s Needed:
A mode that gives users more control over workflows, allowing steps to either wait for each other or run in parallel when appropriate. This would empower advanced users to manage more complex processes without encountering execution issues or having to rely on inefficient workarounds.
Why It’s Important:
- Ensures actions happen exactly when they should.
- Reduces errors caused by overlapping or missed steps.
- Improves app performance by running steps concurrently when possible.
Example
For example, when creating multiple records or making several API calls, I need to ensure some actions wait for others to finish, or run certain steps together to save time and avoid delays.
The Problem
Bubble’s workflow editor presents actions in a sequential “Step 1, Step 2, Step 3” format. This is deceiving as it suggests that this is the order that the workflow will run. However this isn’t always the case as bubble runs as many workflows as it can at the same time to improve performance of your application and doesn’t always wait for a workflow to finish before starting another.
Many advanced users, especially those familiar with traditional programming, face limitations when trying to execute workflows with precision, particularly when handling asynchronous operations or when certain actions need to run concurrently.
Proposed Solution: Advanced Workflow Mode
In this Advanced Mode, users could:
- Define Explicit Dependencies: Allow actions to be dependent on the completion of others.
- Set Parallel Execution: Enable steps to run in parallel where dependencies don’t exist, ensuring better performance.
- Use Conditional Joins: Ensure that one step only triggers when multiple parallel actions are complete.
In this Advanced Mode, users would start with a blank workflow canvas where actions run in parallel by default. Developers could then define which actions are dependent on others by connecting them in sequence. This setup allows for full control, ensuring workflows always run consistently. It also gives developers the ability to prioritize performance (speed) by running actions concurrently or ensure function (data accuracy and process completion) by enforcing strict dependencies when needed.
Main Problems with Current System
- Unpredictable Execution: In complex workflows (e.g., involving database updates, API calls, or UI changes), actions often execute out of order, leading to inconsistencies.
- Workarounds Are Inefficient: Using backend workflows, adding pauses, or managing states can be complex, adding unnecessary steps when simple execution control would suffice.
Benefits
- Greater Control for Advanced Users: Helps advanced users create predictable workflows, ensuring specific steps happen when needed.
- Simplified Logic: Eliminates the need for complex workarounds like delays and multiple workflows.
- Improved Performance: By enabling parallel execution for non-dependent steps, workflows can be faster and more efficient.
Community Support
There have been multiple discussions in the forums where users expressed the need for more predictable workflow execution and control over asynchronous operations. These issues frequently arise with complex workflows, and a mode with advanced controls would help solve these problems.