Connections
A connection is a directed relationship between two sub-agents. It tells the orchestrator that one sub-agent is allowed to route work to another, and in which direction. Without connections, sub-agents are isolated — an orchestrator can only hand work to sub-agents it's explicitly wired to.
Creating a connection
Hover over a node on the canvas — small connection handles appear on its edges. Drag from a handle to another node to create a connection. An arrow appears between the two nodes.
By default, a new connection has no routing type set. Select the arrow to open the connection editor in the right panel and configure what kind of routing it carries.
The connection editor
Selecting an arrow opens the connection editor. The header shows the two sub-agents involved: SubAgent A ↔ SubAgent B.
Routing type
Each direction of a connection can carry a transfer, a delegation, both, or neither. The editor shows four checkboxes:
| Checkbox | What it enables |
|---|---|
| A → B transfer | A can hand control entirely to B |
| B → A transfer | B can hand control entirely to A |
| A delegates to B | A can fan work out to B and collect the result |
| B delegates to A | B can fan work out to A and collect the result |
You can check any combination. A single connection can carry both transfer and delegation in both directions if your routing logic requires it.
Transfer vs delegation — choosing the right one
Use transfer when a question clearly belongs to a different domain and should be handled end-to-end by another specialist. The originating sub-agent stops; the new one takes over the conversation with full context of what came before. Think of it as a handoff — the baton passes.
Use delegation when a sub-agent needs input from a specialist but will synthesize the result itself. The delegating sub-agent sends a specific sub-task, waits for the response, and continues its own turn with that result folded into its context. Think of it as a question asked and answered — the delegating sub-agent stays in control.
A flow with a triage router would typically use transfer — the router identifies the right specialist and hands off completely. A reporting agent that needs data from multiple sources would use delegation — it asks each specialist for data, then combines everything into a final answer.
One connection, both directions
A single connection between two sub-agents can carry routing in both directions. If two sub-agents need to be able to reach each other, you only need one arrow — just check the appropriate boxes in both rows of the editor.
Routing mode
The routing mode controls where the connection handles are anchored on each node.
Auto — Anter picks the shortest path between the two nodes and adjusts the anchor points as you move nodes around on the canvas. Use this for most connections.
Manual — You lock the anchor side for each end (top, right, bottom, left). Use this when you want precise visual control over how arrows enter and exit specific nodes — useful in complex graphs where automatic routing produces crossing lines.
Removing a connection
Click Remove connection at the bottom of the connection editor. This deletes the arrow and clears any transfer or delegation permissions between the two sub-agents. The sub-agents themselves are not affected.
Reading the graph
A well-designed graph is readable at a glance. A few conventions that help:
- Arrows flowing downward (in vertical layout) suggest a forward routing path — triage at the top, specialists below
- Bidirectional arrows suggest two sub-agents that collaborate, rather than a strict routing chain
- An isolated node with no connections is not reachable from the entry sub-agent and will never execute
Use Align Nodes in the toolbar to clean up the layout after wiring connections. The auto-layout arranges nodes in a direction that makes routing flow visually obvious.