When you run a workflow, Sim works out the order from the connections: a block runs as soon as the blocks it depends on have finished.
Blocks run as soon as they can
Multiple blocks in a workflow can be executing at the same time. A block starts the moment its dependencies finish, and it waits on nothing else.
Here the Customer Support and Deep Researcher agents each depend only on Start, so neither waits for the other.
A block waits for all its inputs
When several blocks feed into one, that block waits for every feeder that is going to run, then runs once with each of their outputs available to read. A feeder on a branch that wasn't taken doesn't hold it up. You don't merge the outputs yourself.
The Function block here runs after both agents complete, with both of their outputs ready.
Branches follow one path
A workflow can split. A Condition block branches on an explicit rule; a Router block lets a model choose the path. Only the branch that is taken runs. A block on a branch that didn't run produces no output, which is why a connection tag pointing at it comes back empty.
To repeat work, a Loop block runs its inner blocks over a list, a count, or while a condition holds, and a Parallel block runs them for several items at once.
A workflow can call other workflows, through a Workflow block, an MCP tool, or an API block. Sim tracks the call chain and stops a run that exceeds 25 hops, so workflows that call each other can't loop forever.
When a block fails
A block that errors fails the run: blocks already running finish, and nothing new starts. To handle the failure instead, connect the block's error port — the run follows the error path and continues.
Here throwError fails, so the run leaves through its red error port to handleError; handleSuccess on the normal path never runs.
How long a run can take
A synchronous run is capped at 5 minutes on the free plan and 50 minutes on paid plans; an async run gets 90 minutes. A run that hits the ceiling fails with "Execution timed out." The usual causes are a loop over a large list or a slow agent or API call — split the work, or run it async. Self-hosted deployments can configure these limits.
Watching a run
While a workflow runs, the editor shows each block's state live: queued, running, done, or errored. Every run is recorded, so you can open the logs to see what each block received and returned after it finishes.