# A canvas for state-machine workflows

> Source: <https://loomcycle.dev/blog/a-canvas-for-state-machine-workflows.html>
> Published: 2026-10-07 14:00:00+00:00

A multi-agent workflow in loomcycle is a state machine. It has an input, an output, and a graph of transitions between states where each state is a sub-agent run. You can describe one in YAML. You can also describe one by drawing it on a canvas. The teams canvas on loomboard shipped in three arcs. First, states as nodes and transitions as edges, with inline edit of a state's full definition in a side pane and live run visualization (states highlight as a walk progresses, click a running state and the sub-agent's conversation opens streaming live, abort control at the top stops a walk mid-flight). Second, channel and variable nodes with drag-to-inject (drop a channel onto a state and the state binds without typing YAML; drop a variable onto a prompt and it interpolates at the cursor), plus an Input node that starts a walk from a form and an End node that shows the terminal output chunk. Third, the tri-view (Canvas, JSON, Split) with cursor sync between the canvas and the JSON (click a node, the JSON jumps; click a JSON path, the canvas selects), New / Save / Import / Copy / Download, and a Check button that calls TeamDef op=verify on the current unsaved definition and surfaces refused or unrunnable or advisory findings next to the JSON cursor and on the offending node. Three limits: no multi-user editing yet (last-write-wins at save); live run visualization requires the operator token; channel nodes show message counts, not previews. What this makes possible: a workflow prototyped on the canvas by someone who thinks in diagrams can be reviewed in JSON by someone who thinks in text; both halves see the same definition. The canvas and the self-contained team file arrived in the same arc because they are the same work from two sides.
