Skip to main content
Blocks can do nothing until they are wired. Wires decide the execution order and the path data flows along.

Making a connection

Click a block and ports appear as circles on its edges. They sit on the left, right, top, and bottom. Drag from a port to another block to create a wire.
  • Wires are directional. The end you dragged from is upstream; where you dropped is downstream.
  • Click a wire to select it; it thickens.
  • To delete one, select it and press Delete.
  • Move a block and its wires follow.
  • A Trigger takes no incoming wires. It is always where the flow starts.
  • An Action has no outgoing wires. It is always where the flow ends.

What travels along the wire

Wire two blocks together and the upstream block’s output is handed to the downstream one. Each block has a fixed output.
  • Trigger → the starting input for the first Agent. The received payload for API and webhook triggers, the configured input for schedule triggers.
  • Agent → the answer and tool-call results.
  • Tool → the tool-call result. It goes back to the Agent mid-reasoning.
  • Action → an Action block always sits at the end, so nothing is passed along a wire.
A Flow is valid even with nothing wired after the Agent. Attach an Action when you want something more to happen after the answer.

How an Agent picks tools

Multiple tools can be wired to one Agent. During a run, the Agent judges which of the wired tools to call. Tools are options the Agent picks in the moment, as the situation calls for them. A tool’s description is what the Agent picks by. See Tool block.

Dispatch mode: when more than one block comes next

When two or more wires run from one Agent block to other Agent blocks, the Flow needs a rule for which Agent block runs next. A Dispatch mode field appears on the inspector’s General tab, offering three modes. The default is Parallel.

1. Parallel

  • Runs every connected next block at the same time. The LLM doesn’t decide.
  • Use it to send a result to several places at once.
  • Example: run a summarize Agent and a translate Agent at the same time and get both results at once

2. Conditional

  • The LLM picks exactly one of the wired next blocks and hands the run off to it.
  • That handoff, including which block it went to, shows up later in the step-by-step record on the trace.
  • The size of the payload the handoff carries to the next Agent is capped by the Agent handoff item in Settings → Response limits.
  • Example: the router/triage pattern, assigning a user query to refunds, tech support, or accounts

3. Routed

  • The LLM picks zero, one, or many of the connected blocks at runtime.
  • You can also have a person confirm the pick. Turn on Approve routing decisions on the Agent block and the router pauses after picking, with an endpoint provided for approving or rejecting the choice.
  • Example: a monitoring Agent that checks for anomalies. When everything is normal it hands off to no one, minor issues go to the report Agent only, and serious ones go to both the report and urgent-alert Agents.
In Conditional and Routed, the LLM picks based on the Agent’s prompt. Spell out clearly in the prompt which block to hand off to in which case.