Build the procedure once. Run it forever.
Actionist workflows are visual graphs of typed nodes — actions, conditions, loops, tools — wired together into a procedure you design once in the editor and trigger from chat, a schedule, or the Run button.
Write the procedure once. Run it forever.
Every time you describe the same multi-step task from scratch, you pay twice — once to think it through and once to supervise it. A workflow locks the procedure in so you never repeat yourself.
An ad-hoc task
An Actionist workflow
How a workflow moves.
A trigger starts the run. Execution walks the graph node by node, evaluating conditions and loops, until it reaches the end node.
false. Design the false branch as the guard path — retry, exit, or escalate — not the destructive step.Two halves, one editor.
The workflow editor is split into a configuration panel on the left and a visual graph canvas on the right. Both must be complete before you save.
The left panel holds seven collapsible sections. Drag the divider to give more room to the canvas or the config.
text, number, boolean, date, select.The canvas is where you design the workflow’s logic. Nodes live on the canvas; edges wire them together.
| Control | Action |
|---|---|
Back (chevron) | Returns to the workflow list — “Back to Workflows” |
Undo / Redo | Stepped history of canvas changes |
Validation icon | Shows error or warning count; click to surface issues per node. Shakes and blocks save on hard errors. |
UNSAVED badge | Orange badge with alert icon — appears when there are unsaved changes. Disappears on save. |
Export (download) | Downloads full workflow JSON including graph, nodes, edges, variables, and rules. |
Import (upload) | Loads a workflow JSON file; fresh IDs are assigned so it never conflicts with existing workflows. |
Save | Commits the workflow. Absent on subscribed marketplace workflows — they open view-only. |
Eleven building blocks.
Every workflow is composed from these node types. Select a type below to see its fields, when to use it, and why it exists.
Action node
ExecutionWhat it does
Drives computer-use automation. Each action node has a subtype that maps to a specific CUA operation. The orchestrator executes it against the live screen.
Subtypes
Key fields
Step node
ExecutionWhat it does
A higher-level natural-language instruction. OrchAgent interprets the step and decides which tool calls or CUA operations to use. Less precise than an action node; useful for exploratory or variable steps.
Key fields
Condition node
Control flowWhat it does
Evaluates a check and routes execution down the true or false edge. On any evaluator failure, defaults to false — so design the false branch as the safe path.
Check types
Key fields
Loop node
Control flowWhat it does
Repeats a subgraph until a condition is met or maxIterations is reached. Default cap is 50. On any evaluator error during a loop, the loop exits immediately — fail-closed, not runaway.
Key fields
Custom tool node
ExecutionWhat it does
Invokes an MCP-backed or built-in tool directly by ID, bypassing computer use entirely. Faster, cheaper, and more reliable than screen automation when a direct integration exists.
Key fields
File operation node
UtilityWhat it does
Reads, writes, or updates files in the workflow’s isolated file workspace. Tag each operation with a purpose so the orchestrator and downstream steps know how to use the data.
Purpose tags
Key fields
Every workflow begins at exactly one Start node (receives trigger payload and variable values) and exits at one or more End nodes. Multiple end nodes are allowed for different exit paths.
Joins two or more incoming edges back into a single execution path. Use it to reunite branches after a condition split so the rest of the graph sees one stream.
Goto jumps execution to another node by reference — use sparingly. Subroutine embeds another workflow by ID and runs it inline; the parent waits for it to complete. Subroutines compose — they can themselves contain subroutines.
One workflow, any input.
Variables are typed inputs you declare once at design time and fill in at run time. The same “extract data from site X” workflow works for any URL you supply — just change the variable.
Declare the variable in the left panel
snake_case — it becomes the form label in the run modal), a type, and an optional default value.Supported types: text, number, boolean, date, select.Reference it in a node parameter
Fill in values at run time
Your first workflow, step by step.
Open the workflow library
/workflows, sorted by last updated. You will see three tabs at the top: All, Mine, and Subscribed.Create a new workflow
/workflows/editor with a blank canvas and an empty left panel.Fill in Basic Information
Declare your variables
snake_case name and a type.Build the graph
${var_name} syntax.Add Rules and completion hints
completionCriteria in the node detail panel — success and failure indicators help the orchestration layer know when a step has genuinely finished.Running a workflow.
Find the workflow card
Click Run workflow
Fill in variable values and run
Portable and composable.
Export a workflow for safekeeping or to share with a teammate. Install one from the marketplace and customise it for your own context.
- Import and export
- Subscribed workflows
- Before a major restructure — snapshot first, experiment freely.
- To share a workflow with a teammate who does not have access to your workspace.
- To version-control your workflows alongside the rest of your project.
What the system defaults to.
These values apply when you do not configure them explicitly. Most can be overridden at the node level.
Build workflows that hold up.
Add completion criteria to action nodes
Add completion criteria to action nodes
completionCriteria with successIndicators[] and failureIndicators[], plus a per-node timeoutMs and maxAttempts. Without these, the orchestrator guesses from raw CUA output. Add evidenceHints.urlPatterns[] on navigation steps to eliminate false-positive completions.Cap loop maxIterations explicitly
Cap loop maxIterations explicitly
Use file-operation nodes for cross-step state
Use file-operation nodes for cross-step state
file-operation nodes tagged purpose: ‘memory’ or ‘artifact’. This keeps the context window clean across many steps and prevents variable bloat.Check MCP connections before running
Check MCP connections before running
Design the condition false branch as the safe path
Design the condition false branch as the safe path
false on any evaluator failure. Wire the false edge to the safer action — retry, exit, or escalate — not to the destructive or irreversible step. The true branch should be the happy path; the false branch should be the guard.Export before editing complex workflows
Export before editing complex workflows
Subscribed marketplace workflows are read-only — duplicate to edit
Subscribed marketplace workflows are read-only — duplicate to edit
Use descriptive snake_case variable names
Use descriptive snake_case variable names
${varName} and {{varName}} syntax work. The run modal displays variable names verbatim as form labels — target_url is self-documenting; v1 is not. Descriptive names mean anyone filling in the modal needs no additional explanation.Prefer custom-tool nodes over action nodes when a direct tool exists
Prefer custom-tool nodes over action nodes when a direct tool exists
custom-tool nodes invoke MCP-backed tools directly, bypassing computer use entirely. They are faster, cheaper, and more reliable than screen automation for apps that expose a proper integration. Use action nodes only when no tool covers the step.Use subroutines to stay DRY
Use subroutines to stay DRY
From a four-hour checklist to one run.
The monthly close involves the same sequence of steps every time. Below is what it looks like before and after encoding it as a workflow with built-in approval gates.
You brief the process once. After that, the workflow holds the knowledge — approvals, sequencing, edge cases and all. Next month you just hit Run.
Felix · Finance and Ops — illustrative scenario based on the features documented on this pageEncode your first automation today.
Open the Dashboard, click New workflow, and start with the task you repeat most.
Design once. Run on any trigger, any schedule, any surface.
Visual graph editor · Typed variables · MCP + CUA in one graph.