AgentSDEDocs
Open console

Flow graph

By default a design runs its phases top to bottom. The flow graph is where you shape that · branch on success or failure, run phases in parallel, loop, and wire external events straight into a phase.

8 min readUpdated 2026-08-12 · Priya NEdit this page

#Flow and List

The Phases section has two tabs over the same working draft:

  • List · the phase inventory and prompt editor.
  • Flow · the canvas where you wire phases together.

An empty graph runs linearly by phase order. The moment you draw an edge, order follows the wiring.

Refine
Plan
Deliver
Review
Compound
A linear design · phases run in order until you add branching edges.

#Add and connect phases

1

Add a phase

Use Add phase on the canvas toolbar. A new phase drops onto the canvas unconnected.

2

Connect it

Every node has two out-handles · a green success handle and a red failure handle. Drag from a handle onto another phase, or onto the End pill, to draw an edge.

Click a node to open its editor in a side panel; click an edge to open the edge editor. Drag the background to pan, use the toolbar (or the scroll wheel) to zoom, and Tidy to auto-layout the graph.

#Branch

Give a phase more than one outgoing edge and it branches:

  • Fan-out · toggle the node between parallel (run every downstream phase) and conditional (a switch · follow the edge whose condition matches).
  • Join · where several edges arrive at one phase, choose wait for all or first wins.
  • Success vs failure · the green edge is taken when the phase succeeds, the dashed red edge when it fails. Wire a failure lane to handle errors, for example a Rollback phase.

Label an edge in the edge editor to record the condition it represents, for example exploitable vs not exploitable.

#Loop

Two ways to repeat work:

  • Repeat one phase · set the phase’s max iterations in Advanced settings (1 – 50). The node shows a ↻ N× chip.
  • Loop back · drag a later node’s edge onto an earlier node. AgentSDE turns it into a capped loop rather than rejecting it · the edge shows a ↺ ≤N badge and defaults to 3 passes, after which the flow continues forward. Set the cap in the edge editor.

Non-loop flow stays forward-only · the canvas will not let you create an uncapped cycle.

#Splice and swap

  • Splice · drop an unconnected phase onto an edge and it inserts between the two ends (A → B becomes A → node → B).
  • Swap · drop a phase onto another phase to reorder them.

#The edge editor

Click any edge to set:

  • its condition label,
  • whether it fires on success or failure,
  • for a loop-back edge, the max iterations cap.

You can also straighten or remove the edge from here.

#Wire in triggers

A phase does not have to wait for the phase before it · a trigger can start it from an outside event or from another phase’s lifecycle.

Two kinds:

  • External event · from a connected integration. GitHub, Jira, Slack and CI events are available · for example Pull request merged, Review requests changes, or Build failed. Add filters as plain field = value rows the event offers · an unset field means “any”, and no filters means “every time”.
  • Lifecycle hook · fire relative to another phase · before it starts, after it completes, or when it is blocked.
1

Open the trigger picker

Add a trigger from the canvas toolbar, or from the List tab’s “Starts on” row. The picker groups events by integration, plus a Phase lifecycle group for hooks.

2

Pick an event

Only providers you have actually connected are selectable · the rest are listed but locked, with a link to Settings → Integrations. A trigger never asks for a repository or branch · those come from the agent’s scope and environment.

A phase whose only inbound wires are triggers is event-started · it sits outside the main sequence and is marked accordingly. Use this for “reply when a review requests changes” or “fix the build when CI fails” without bolting those onto the linear pipeline.

Editing is draft-only

You shape the graph on a draft version. Archived versions render read-only · fork one to change it.