Skip to main content

Workflows Overview

A workflow in TARX is a directed acyclic graph (DAG) of nodes that execute in sequence. You build workflows visually on a canvas — drag nodes from a palette, connect them with edges, configure each node in an inspector panel, and run the entire pipeline with a single click.

Workflows are the heart of TARX. Every automation, every multi-agent pipeline, every integration — it all lives in a workflow.


The Visual Canvas

The workflow editor is a full-screen canvas powered by React Flow. The interface has three areas:

┌──────────────────────────────────────────────────────────────────────┐
│ Toolbar: [Save] [Run ▶] [Export] [Templates] [Status: Live] │
├────────┬─────────────────────────────────────────────┬───────────────┤
│ Node │ │ Inspector │
│ Palette│ Canvas (React Flow) │ Panel │
│ │ │ │
│ Trigger│ [Trigger]──→[Agent]──→[Branch] │ (selected │
│ Agent │ ↓ ↓ │ node config)│
│ Branch │ [Agent 2] [Agent 3] │ │
│ Loop │ ↓ ↓ │ │
│ Output │ [Output]←─┘ │ │
│ HiL │ │ │
│ Note │ │ │
└────────┴─────────────────────────────────────────────┴───────────────┘
  • Node Palette (left) — Drag nodes onto the canvas
  • Canvas (center) — The visual graph editor
  • Inspector Panel (right) — Configuration for the selected node

DAG Execution Model

Workflows execute as a Directed Acyclic Graph (DAG):

  1. Execution starts at the Trigger node
  2. Nodes execute in topological order — a node only runs after all its upstream nodes have completed
  3. Branches execute in parallel when possible (if two branches have no dependency on each other)
  4. Each node's output is available to downstream nodes via expressions like {{agent_1.output}}

In this example:

  • researcher runs first (after trigger)
  • Branch evaluates the condition
  • summarizer OR expander runs (depending on the branch)
  • Output shows the final result — connect both branches to it to rejoin paths (the skipped branch is ignored)

Node Types

NodeType NamePurpose
TriggertriggerNodeStarts execution (Manual / Webhook / Schedule / HTTP)
AgentagentNodeRuns an LLM agent call
Branch (Condition)branchNodeRoutes execution based on a Python expression
Loop / IteratorloopNodeIterates over a list, running downstream nodes once per item
OutputoutputNodeMarks the end of a workflow path, collects results
Human-in-LoophumanLoopNodePauses execution for human approval
NotenoteNodeVisual annotation (no execution effect)

See Node Types Reference for the full technical spec of each node.


Execution Flow

When a workflow runs:

Key points:

  • Execution is asynchronous — the API returns 202 immediately with an execution_id
  • The canvas shows live animation via Server-Sent Events (SSE) streaming
  • Nodes show different states: idle → pulsing (running) → green (complete) → red (failed)
  • A "Live" indicator appears in the topbar during active execution
  • Results are saved for the Executions history page

Expressions

Nodes communicate via expressions{{variable.output}} placeholders that are resolved at execution time:

ExpressionResolved Value
{{trigger.output}}The trigger's output (user input, webhook payload, etc.)
{{agent_1.output}}The output text from the agent named "agent_1"
{{loop_1.current_item}}Current item in a loop iteration
{{loop_1.index}}Current loop index (0-based)
{{branch_1.output}}The branch node's output

Expressions can appear in any text field in the node inspector — agent input, condition expressions, output values, etc.

See Expressions for the complete reference.


Workflow Lifecycle


Workflow Scope and Access

Workflows are project-scoped:

  • Only members of the project can view/edit/run workflows
  • Roles control access: Readers can trigger; Editors create/edit; Admins manage all

Workflows reference agents by ID. If an agent is deleted, the workflow node referencing it will fail at runtime.


Next Steps