Which control from the
Flow Control menu should you drop, and what will the canvas and the run do?
Flow controls change
how your steps run — loop, run in parallel, branch, or wait. They are not connectors. On the bottom bar, click
Σ, then choose
Flow Control.
Connectors add steps that call systems. Flow controls shape the path between those steps.
Before you start #
At a glance #
| Control |
Choose it when… |
| Async Foreach |
You have a list and need the same work for every item. |
| Scatter Gather |
You have separate jobs that can run together, then you need all of them done before continuing. |
| Flow Router |
Only one path should run, based on your data (like a switch). |
| Sleep |
You need to pause before the next step. |
Exception and audit workflows: Async Foreach and Scatter Gather are not available on these workflow types. See Creating a workflow.
Async Foreach #
Use Async Foreach when you need to
apply the same process to many items without manually duplicating tasks. It runs the steps inside it
once per item in a list you choose (for example, rows from a query). Items can run
in parallel — the workflow does not wait for one item to finish before starting the next. When the loop is done, the run continues to the next task on the main path.
On the canvas you will see one inner lane; that path repeats for each item. The work inside is often a
subflow — see
Using Subflows with Async Foreach.
Scatter Gather #
Use Scatter Gather to run
independent work in parallel and
reduce end-to-end processing time. It starts several paths at once and
waits until every path finishes before the next step on the main path — use it when branches do not depend on each other but you need all their results before moving on.
On the canvas, parallel lanes join back to one line. Each lane is often its own
subflow — see
Using Subflows with Scatter Gather.
Flow Router #
Sends the run down
one route only. You define routes with conditions; if none match, the
default route runs. Other routes are skipped for that run.
Route conditions are Mapper statements — see the Mapper language expressions (syntax is not covered here).
Sleep #
Waits for the time you set, then continues. Use it to add a
delay between tasks — for example after a heavy API call and before the next step, or to stay within a system’s rate limits.
Also read #