# Do backend API workflows wait until they complete before moving to another step?

**URL:** <https://forum.bubble.io/t/do-backend-api-workflows-wait-until-they-complete-before-moving-to-another-step/230432>\
**Category:** Questions\
**Created:** [October 30, 2022, 4:56am UTC](https://forum.bubble.io/t/do-backend-api-workflows-wait-until-they-complete-before-moving-to-another-step/230432 "2022-10-30T04:56:14Z")\
**Posts on this page:** 3\
**Page:** 2

<div class="post-metadata">

**Author:** ![fedjabosnic](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/fedjabosnic/32/155299_2.png) [@fedjabosnic](https://forum.bubble.io/u/fedjabosnic)\
**Post date:** [January 4, 2023, 5:32pm UTC](https://forum.bubble.io/t/do-backend-api-workflows-wait-until-they-complete-before-moving-to-another-step/230432/21 "2023-01-04T17:32:47Z")

</div>

Aaah okay that’s an interesting hack! I think I now understand why so many templates come with a “hidden variables” element with a bunch of other hidden elements in them! Lol

I’m having most of my issues with backend workflows though so still need to figure that out. For the time-being I either have tons of duplicated spaghetti or jump into private plugin code (neither of which truly solves the underlying issues but alas).

---

<div class="post-metadata">

**Author:** ![brenton.strine](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/brenton.strine/32/124156_2.png) [@brenton.strine](https://forum.bubble.io/u/brenton.strine)\
**Post date:** [January 4, 2023, 5:38pm UTC](https://forum.bubble.io/t/do-backend-api-workflows-wait-until-they-complete-before-moving-to-another-step/230432/22 "2023-01-04T17:38:03Z")

</div>

For backend workflows (and front, for that matter) the best strategy I’ve found so far is to daisy-chain things. So you do a workflow which calculates whatever you need, then pass to the second workflow, which passes to the third, etc. Using my example from above:

A = API\_Request();  
B = A \* Another\_API\_Request();  
C = A + B;  
D = C \* tax\_rate;  
E = C \* B \* A / D;

I’d do it this way:

**Workflow A**

- Call Workflow B and pass A (API\_Request()😉 and tax\_rate as a params.

**Workflow B**

- Call Workflow C and pass A, B and tax\_rate as params.

**Workflow C**

- Call Workflow D and pass A, B, C and tax\_rate as params.

**Workflow D**

- Call Workflow E and pass A, B, C and D as params.

---

<div class="post-metadata">

**Author:** ![cameron4](https://avatars.discourse-cdn.com/v4/letter/c/e495f1/32.png) [@cameron4](https://forum.bubble.io/u/cameron4)\
**Post date:** [May 2, 2024, 7:11am UTC](https://forum.bubble.io/t/do-backend-api-workflows-wait-until-they-complete-before-moving-to-another-step/230432/23 "2024-05-02T07:11:10Z")

</div>

I stumbled upon this forum question when looking for an answer to another question I have about recursive workflows.

Thought I’d add this more recent video that officially clarifies a few things that are discussed in this thread:

[![](https://img.youtube.com/vi/IbhCrciOKHM/maxresdefault.jpg "Understanding Workflow Execution Rules | Bubble Quick Tip") ](https://www.youtube.com/watch?v=IbhCrciOKHM)

It might help someone in future.

[Previous page](https://forum.bubble.io/t/do-backend-api-workflows-wait-until-they-complete-before-moving-to-another-step/230432.md?page=1)
