Link

Creates virtual connections between nodes without visible wires, helping organize complex flows.

The Link In and Link Out nodes help organize flows by creating virtual connections that aren't visible until selected. This is essential for managing complex flows where physical wires would create visual clutter or when you want to reuse logic across multiple locations. By connecting distant parts of your flow without drawing wires across the canvas, you can keep related nodes grouped together, reduce wire crossings, and make flows more maintainable and easier to understand.

Modes of operation

Link nodes work in pairs to create virtual connections:

Sends messages to one or more Link In nodes. You can configure which Link In nodes receive the message by selecting them from a list. The Link Out node can send to Link In nodes on the same tab or on different tabs, enabling cross-flow communication.

Receives messages from Link Out nodes. When a Link Out node sends a message, all connected Link In nodes receive a copy. The Link In node acts as a starting point for a new branch of your flow.

Sends messages to a Link In node and waits for a response, similar to calling a function. This enables request-response patterns where you need to process data and return results. The response comes from a Link Out node configured to return to the calling Link Call node.

How the nodes handle messages

Link Out nodes pass messages to their connected Link In nodes exactly as received - no modifications are made. When multiple Link In nodes are connected to a single Link Out, each receives an independent copy of the message.

Link In nodes emit the received message and start a new flow branch. Any nodes connected to a Link In node process the message as if it came from any other node.

Link Call nodes send messages and pause, waiting for a response. The called Link In node processes the message through its connected nodes until reaching a Link Out node configured to return responses. This creates synchronous, function-like behavior within otherwise asynchronous flows.

The virtual connections between Link nodes only become visible in the editor when you select either the Link In or Link Out node, showing which nodes are connected with dashed lines.

Examples

Organizing flow sections

Link nodes separate different functional areas of a flow without cluttering the canvas with long wires. This example shows input processing separated from output handling, making each section easier to understand and maintain.

Reusable processing logic

Link In nodes enable reusing the same processing logic from multiple sources without duplicating nodes. This example shows multiple inputs feeding into a single processing pipeline through Link nodes, useful for common transformations or validations.

Node Documentation

Create virtual wires between flows.

Details

The node can be connected to any link out node that exists on any tab. Once connected, they behave as if they were wired together.

The wires between link nodes are only displayed when a link node is selected. If there are any wires to other tabs, a virtual node is shown that can be clicked on to jump to the appropriate tab.

Note: Links cannot be created going into, or out of, a subflow.

Create virtual wires between flows.

Details

This node can be configured to either send messages to all link in nodes it is connected to, or to send a response back to the link call node that triggered the flow.

When in 'send to all' mode, the wires between link nodes are only displayed when the node is selected. If there are any wires to other tabs, a virtual node is shown that can be clicked on to jump to the appropriate tab.

Note: Links cannot be created going into, or out of, a subflow.

Calls a flow that starts with a link in node and passes on the response.

Inputs

targetstring
When the option Link Type is set to "Dynamic target", set msg.target to the name of the link in node you wish to call.

Details

This node can be connected to a link in node that exists on any tab. The flow connected to that node must end with a link out node configured in 'return' mode.

When this node receives a message, it is passed to the connected link in node. It then waits for a response which it then sends on.

If no response is received within the configured timeout, default 30 seconds, the node will log an error that can be caught using the catch node.

When the option Link Type is set to "Dynamic target" msg.target can be used to call a link in by name or id.

  • If there is a link in nodes with the same id, it will be called
  • If there are two or more link in nodes with the same name, an error will be raised
  • A link call cannot call a link in node inside a subflow

link out