Skip to main content
A workflow is a directed graph that defines a repeatable process for AI agents, shell commands, and human decisions. Unlike a DAG (directed acyclic graph), a Fabro workflow can and often does include loops — for example, implement-test-fix cycles that repeat until tests pass. You write workflows in Graphviz DOT, check them into version control, and run them with fabro run.

Anatomy of a workflow

Every workflow is a digraph with a goal, a start node, an exit node, and one or more processing nodes connected by edges:
Simple workflow: Start → Scan Files → Analyze → Exit
my-workflow.fabro
The goal attribute describes what the workflow accomplishes. Fabro uses it to guide agent behavior.

Key node types

Each node’s Graphviz shape determines how it executes. The three most important types are: Agents (default box shape) run an LLM with access to tools — bash, file editing, sub-agents — looping autonomously until the task is complete:
Commands (parallelogram) run shell scripts and capture output for downstream nodes:
Human gates (hexagon) pause the workflow and wait for a person to choose a path. Edge labels define the options:
Fabro supports additional node types for one-shot prompts, conditional branching, parallel fan-out/fan-in, and more. See Stages and Nodes for the full reference.

Branching and loops

Branching and loop workflow
Edges can have conditions that route execution based on outcomes:
Loops are natural — just point an edge back to an earlier node. Use max_visits on a node to prevent infinite loops:

Parallel execution

Parallel fan-out and merge workflow
Fan out to run branches concurrently, then merge the results:

Goal gates

Mark critical nodes with goal_gate=true. The workflow fails if any goal gate doesn’t succeed — even if execution reaches the exit node:

Running a workflow

From the CLI:
Or from a run config TOML for repeatable, parameterized runs:
In the web UI, the Workflows page lists all available workflows. Click into a workflow to view its Graphviz definition, rendered graph diagram, and run history.
Fabro web UI Workflows list showing Fix Build, Implement Feature, Sync Drift, and Expand Product workflows

The Workflows page lists all available workflows with their trigger type and last run time.

Fabro web UI workflow detail showing the Graphviz source for Fix Build

The workflow detail view shows the Graphviz definition with syntax highlighting.

Fabro web UI workflow diagram showing the Fix Build workflow graph

The Diagram tab renders the workflow graph visually, showing nodes, edges, and conditions.

Fabro web UI workflow runs tab showing run history for Fix Build

The Runs tab shows all runs for this workflow, filterable by status.

See the Quick Start to try it out, or browse the example workflows for real-world patterns.