Skip to main content
A workflow is an agent whose behavior is a graph of nodes instead of one reasoning loop. You decide the order, the branches and where a person steps in. Open Workflows in the left column of xpander Chat (it can be hidden per user group). Each run is a task like any other, with the same record, budget and approvals.

Nodes

To jump to a step already in the graph, use Go to existing node or Pick on canvas.
Node picker shown in two parts: Routing (Go to existing node, Pick on canvas), Agents (Agent, Workflow), Actions (Action, Custom action, Code, Send email, OCR) and Flow (Classifier, Guardrail, Summarizer, Parallel, Wait, Condition, Schedule, Send to end)

The node picker in the workflow editor, grouped as Routing, Agents, Actions and Flow. The list scrolls; shown here in two parts. Shown with sample data.

How the graph runs

Edges are ordered lists of next nodes. The first regular node is the entry, and an end summarizer produces the output. Branch conditions are regex, contains, equals, greater or less than, not empty, and else. Each node can retry up to a set count, repeat until a condition, stop on failure or a condition, and ignore duplicate input within a window.

Triggers

The Start node shows each trigger and whether it is live: API (always on, at the workflow’s id), Webhook (the URL is itself the credential), Slack (channels routed to the workflow) and Schedule (a cron in UTC). Triggers publish the moment you switch them on. An incoming email can also start a run.

Staged and live

Edits are staged. In xpander Chat, a change marks the workflow DRAFT and shows “1 pending change, Staged for review” with Review (the diff), Publish and Discard (back to the live workflow). On the API, PATCH /v1/workflows/{workflow_id} changes the draft, PUT deploys it, and ?version=draft on POST /v1/workflows/{workflow_id}/invoke runs the draft. Workflows are not listed among agents. GET /v1/workflows lists them, and asking the workflow endpoint for an agent id says so.
Workflow editor with a DRAFT badge, the Runs dropdown listing past runs behind a search box, and a 1 pending change bar with Review, Discard and Publish

A staged workflow with a pending change, ready to publish.

Runs

The Runs menu next to the name lists every run with its status, and each node shows its recent runs. A run opens its task record: execution log, files and cost. A run paused at a wait node keeps its state for up to thirty days and resumes when the webhook arrives or the person decides.