Guide · 7 min read
Visual workflow builder
The node graph editor in Miton's Automation: triggers, actions, control flow, output nodes, the connection model, the per-node configuration, the integration node types, the keyboard shortcuts.
- Product stage
- Pre-release development
- Last reviewed
- 2026-07-23
- Successful result
- The change is visible in the active project.
What this accomplishes
The node graph editor in Miton’s Automation: triggers, actions, control flow, output nodes, the connection model, the per-node configuration, the integration node types, the keyboard shortcuts.
The visual workflow builder is the node graph editor at the core of the Automation. The builder is a drag-and-drop surface with a node graph, a node palette, a per-node inspector, and a connection model. The builder is the right shape for users who want to automate recurring work without writing code.
This guide covers the visual workflow builder. See the Automation overview for presets; the scheduler is in local scheduler; webhooks in webhook receiver; run history in run inspector and replay; safe testing in dry-run mode; integrations in integration nodes.
Current availability
This page documents behaviour verified in Miton development builds. Miton is still pre-release and is not publicly downloadable; invited beta users will receive a signed desktop build with automatic updates.
Before you start
- A Miton development build, an active project and Automation open.
- A connected model plus permission for every file, network or scheduled action in the workflow.
The node graph
The node graph is a CoW panel that shows the workflow the user is editing. The graph is a directed graph: triggers on the left, actions on the right, control flow in the middle, output nodes at the end. The user can drag nodes within the graph to rearrange; the user can connect nodes by dragging a line from one node’s output to another node’s input.
The graph supports:
- Pan and zoom — the user can pan the graph with the trackpad or the mouse; the user can zoom with the trackpad or the mouse wheel.
- Drag and drop — the user drags a node from the palette to the graph; the user drags a node within the graph to rearrange.
- Connect — the user drags a line from one node’s output to another node’s input. The connection is validated: the user cannot connect an output to an input of the same type unless the types match.
- Disconnect — the user clicks a connection; the user clicks the disconnect button; the connection is removed.
- Delete — the user selects a node; the user presses
Delete; the node is removed. - Undo / redo — the user can undo and redo with the standard keyboard shortcuts (
Cmd+Z/Cmd+Shift+Z). - Search — the user can search the graph by node name, by node type, by connection label.
The graph is per workflow. The graph is preserved across sessions.
The node palette
The node palette is a CoW panel in the left side of the graph. The palette shows the node types the user can add to the workflow. The node types are grouped by category:
- Triggers — schedule, webhook, chat command, event.
- Inputs — read a file, read from database, read from API.
- AI — run a prompt, summarise, classify, extract.
- HTTP — call any REST API.
- Storage — write a file, write to database, upload to asset library.
- Notification — send to Slack, send email, send to Discord, send push.
- Miton — write a document, update a canvas, spawn a sub-agent.
- Control flow — loop, branch, merge, approve, suspend, resume.
- Output — return data, send to webhook, write to log.
- Custom — the user’s custom node types.
The user can search the palette; the user can filter the palette by category. The user drags a node from the palette to the graph; the node is added at the drop position.
The connection model
The connection model is a directed graph. Each node has zero or more inputs and zero or more outputs. A connection is a directed edge from one node’s output to another node’s input.
The connection model validates the types. The user cannot connect an output to an input of an incompatible type. For example, the user cannot connect a text output to a number input; the user cannot connect a JSON output to a file input (unless the JSON is a file path).
The connection model also validates the shape. The user cannot connect an output to the same input twice (which would create a cycle). The user can connect multiple inputs to the same output (the output is broadcast to all inputs); the user can connect multiple outputs to the same input (the input picks the first output that arrives).
The per-node configuration
The per-node configuration is a CoW panel in the right side of the graph when the user selects a node. The inspector shows:
- Node name — the node’s name (the user can rename the node; the default is the node’s type).
- Node description — a free-text description of what the node does (used for documentation).
- Node properties — the node’s type-specific properties (e.g. the schedule node’s cron expression, the HTTP node’s URL and method, the email node’s recipients and subject).
- Node inputs — the node’s inputs (the user can configure the input from a constant, from a previous node’s output, or from a workflow input).
- Node outputs — the node’s outputs (the user can configure the output to be the node’s primary output, a branch output, or a custom output).
- Node error handling — the node’s error handling strategy (halt the run, continue past the failure, retry with backoff, suspend the run).
- Node retry policy — the node’s retry policy (the maximum number of retries, the backoff strategy).
The inspector is per-node. The inspector updates as the user changes the configuration.
The keyboard shortcuts
The visual workflow builder supports the standard keyboard shortcuts:
Cmd+Z— undo.Cmd+Shift+Z— redo.Cmd+C— copy.Cmd+X— cut.Cmd+V— paste.Cmd+D— duplicate.Delete— delete the selected node or connection.Cmd+A— select all nodes in the current workflow.Cmd+S— save the workflow.Cmd+KthenT— add a trigger node.Cmd+KthenA— add an action node.Cmd+KthenC— add a control- flow node.Cmd+KthenO— add an output node.Cmd+Shift+R— open the run inspector.Cmd+Shift+D— toggle dry-run mode.
The full keyboard shortcut list is in the reference keybindings.
What the visual workflow builder does not cover
The visual workflow builder does not cover:
- Real-time collaboration on the workflow — the workflow is single- user. The user can use a third-party tool for real-time collaboration; the agent can sync the third-party tool’s state into the workflow.
- Workflow templates beyond the ten built-in presets — the user can create custom presets; the user can install presets from the marketplace.
- Version control for the workflow beyond the run history — the workflow is per project; the user can use git for version control of the workflow’s YAML file.
The visual workflow builder focuses on the visual construction of the workflow. The less common cases are covered by the user’s existing tools.
What success looks like
The visual workflow builder is the right shape for the user to automate recurring work without writing code. The user drags nodes from the palette; the user connects the nodes; the user configures the nodes; the user runs the workflow.
The node palette is the right shape for the user to add the standard nodes (triggers, inputs, AI, HTTP, storage, notification, Miton, control flow, output, custom). The user can also install custom nodes from the marketplace.
The connection model is the right shape for the user to wire the nodes together. The model validates the types; the model prevents cycles.
The per-node configuration is the right shape for the user to configure the node’s behaviour. The inspector shows the node’s properties, the node’s inputs, the node’s outputs, the node’s error handling, the node’s retry policy.
Common failures and recovery
- Inspect the failed run and the exact node output before replaying it.
- Confirm credentials, permissions and test fixtures belong to the active project.
- Use dry-run or step replay before starting the complete workflow again.
Related next action
Open the Automation overview to connect this task to the rest of the workflow.