Basics

How Connections Work

Connections are the pathways that allow data to flow between blocks in your workflow. In Sim, connections define how information passes from one block to another, enabling data flow throughout your workflow.

Each connection represents a directed relationship where data flows from a source block's output to a destination block's input.

Creating Connections

Select Source Block: Click on the output port of the block you want to connect from

Draw Connection: Drag to the input port of the destination block

Confirm Connection: Release to create the connection

Connection Flow

The flow of data through connections follows these principles:

  1. Directional Flow: Data always flows from outputs to inputs
  2. Execution Order: Blocks execute in order based on their connections
  3. Data Transformation: Data may be transformed as it passes between blocks
  4. Conditional Paths: Some blocks (like Router and Condition) can direct flow to different paths

Deleting a connection will immediately stop data flow between the blocks. Make sure this is intended before removing connections.

Common Questions

Sim builds a directed acyclic graph (DAG) from your connections. Blocks with no unresolved incoming edges execute first. Once a block completes, the engine removes its edge from downstream blocks and queues any block whose incoming edges are all satisfied. This means execution order is entirely determined by how you wire your connections.
Yes. A block with multiple incoming connections will wait until all source blocks have completed before it executes. The engine tracks incoming edges and only marks a block as ready when every incoming edge has been resolved.
Yes. A single block can have outgoing connections to multiple destination blocks. When the source block completes, all connected downstream blocks that are ready (all their other incoming edges are satisfied) will be queued for execution.
The engine activates only the edge matching the selected condition or route. Edges on unselected paths are deactivated, and any blocks reachable only through those deactivated edges are cascadingly skipped for that execution.
Yes. The engine inserts sentinel nodes (start and end) around Loop and Parallel subflows. Connections that cross a loop boundary are redirected through these sentinels, and Loop back-edges are wired automatically so blocks inside the loop re-execute on each iteration.
Yes. Connections can use an error source handle. If a block produces an error, only edges marked with the error handle are activated, while the normal source edges are deactivated. This lets you route errors to a dedicated error-handling branch in your workflow.

On this page