Skip to content

Working with Nodes

This page covers the everyday mechanics of building a workflow on the canvas: adding nodes, selecting and moving them, renaming, duplicating, locking, deleting, wiring connections between them, and editing their parameters. For running a workflow once it's built, see Running Workflows. For grouping nodes together, see Node Groups.

Adding nodes

There are three ways to open the Add Node menu:

  • Press Tab while the cursor is over the canvas.
  • Press Shift+A while the cursor is over the canvas. (Shift+A with the cursor off the canvas selects all nodes instead — see Selecting and moving.)
  • Right-click empty canvas and choose Add Node.

The menu opens at your cursor and drops the new node there once you pick one. It's a searchable, categorized list — type to filter by name, description, or tag, or browse the category tree. A Favorites section (star a node to add it) and a Recent section (your last few added node types) sit above the category list when you have either.

You can also drag a node type from the Nodes tab in the left sidebar straight onto the canvas.

Selecting and moving

Click a node to select it. Cmd/Ctrl+A selects every node in the flow; Escape clears the selection. Drag a box across empty canvas to select everything inside it.

Shift-click (or Cmd/Ctrl-click) additional nodes to build a multi-selection. With more than one node selected, dragging any of them moves the whole selection together, and a floating toolbar appears above the selection with actions that apply to all of them at once — Copy, Duplicate, Lock, Reset, Delete, and Create Group, depending on what's configured in Settings → Editor → Button Customization.

The arrow keys move the selection to the nearest node in that direction, which is a fast way to step through a chain of connected nodes without touching the mouse. F frames the current selection (or the whole graph, if nothing is selected); Shift+G auto-arranges the graph into a tidy layout.

Renaming

Every node's display name doubles as its unique identifier in the workflow, so renaming a node also updates every reference to it.

To rename a single node, select it and press R, or click the small pencil icon that appears next to its name on hover, or choose Rename from its right-click menu. Type the new name and press Enter (or click away) to commit it, or Escape to cancel.

To rename several nodes at once, select them and press R, or right-click one of them and choose Rename. This opens the Rename nodes dialog, which takes a single base name and applies it across the whole selection: the first node gets the base name exactly, and the rest get Base_1, Base_2, and so on.

Duplicating, copying, and pasting

  • Duplicate (Cmd/Ctrl+D, or the Duplicate action on the node or the multi-node toolbar) creates an independent copy of the selected node(s) right next to the originals, with no connections to anything.
  • Copy (Cmd/Ctrl+C) serializes the selected node(s) — including their parameter values — to the system clipboard.
  • Paste (Cmd/Ctrl+V) creates new nodes from whatever you last copied, dropped near your cursor.

Copy/paste is also how you move nodes between two open workflow tabs: copy in one, switch tabs, paste in the other.

Locking

Locking a node protects it from accidental changes: a locked node can't be run, deleted, have its parameters edited, or have parameters added to it until you unlock it again.

Toggle a node's lock state with L (works on a multi-selection too), the lock icon in its header, or Lock/Unlock in its right-click menu. Note nodes can't be locked — the lock option doesn't apply to them.

Deleting

Select one or more nodes and press Delete (or Backspace on some keyboards), or use Delete Node from the right-click menu or the toolbar. Deleting a node removes any connections it had; deleting a dot node that sits in the middle of a connection instead reconnects the two ends directly, so the rest of the wire survives.

Deleting a group only removes the group wrapper — its child nodes stay on the canvas, ungrouped. See Node Groups for more.

Connecting parameters

Every parameter that can act as an input or output gets a small handle on the left (input) or right (output) edge of its row. Drag from one handle to another to create a connection; drag from empty canvas off a handle to open the Add Node menu pre-wired to that handle, which is a quick way to add the next node in a chain.

The editor only lets you complete a connection between compatible types — as you drag, incompatible handles elsewhere on the canvas dim out so you can see where the connection can land. Most parameters accept more than one type (an image input that also accepts a URL string, for example), and the specific accepted types are baked into each parameter by its node.

To remove a connection, click its wire to select it and press Delete, or hover the wire and use the connection button that appears on it (if Show Connection Buttons on Hover is enabled in Settings → Editor → Node Settings).

Dot and reroute nodes

A dot node is a zero-logic pass-through you can drop in the middle of an existing connection to bend its path around other nodes, or just to tidy up a busy canvas. With a connection hovered or selected, press I to insert a dot node right at that spot — the original connection is split into two, routed through the new dot node, with no change to the data that flows through it.

Deleting a dot node reconnects its two neighbors directly, so removing one never breaks the flow.

Notes

A note is a free-floating, non-executing block of text you drop on the canvas to leave yourself or a collaborator context — what a section of the graph is for, a TODO, a warning about an upstream dependency. Press N with the cursor over the canvas to drop one at your cursor.

Notes can't be locked, and don't participate in execution or in the multi-node toolbar's Run/Reset actions.

The Properties panel

Selecting a node opens its parameters in the Properties panel (right sidebar) alongside the parameter rows shown inline on the node itself — the same values, just in a dedicated, always-visible place that's easier to work in when a node has a lot of parameters or you've collapsed the node itself. Open the right sidebar that hosts it with Cmd/Ctrl+B, from the right-click menu's Property Panel entry, or from a node's header button if you've added it there.

Editing a value in the Properties panel and editing the same parameter's inline row on the node update the same underlying value.

Adding a custom parameter

Some nodes let you add parameters of your own on top of the ones the node ships with. If a node supports it, you'll see an Add parameter row at the bottom of its parameter list (on the node itself and in the Properties panel), or Add parameter in its right-click menu.

Opening it shows the Add New Parameter dialog, where you set:

Field What it controls
Name The parameter's internal name. Must be unique on the node.
Display Name The label shown in the UI, if you want it to read differently from the internal name.
Type One of Any, str, bool, int, float, dict, json, or the media types image, audio, video.
Tooltip Help text shown on hover.
Input / Output Whether the parameter can be wired as an incoming connection, an outgoing connection, or both.
Default Value The value the parameter starts with before you set or connect anything.

Depending on the type you pick, more options appear — a multiline/Markdown toggle for text, a slider with min/max/step for numbers, or a fixed set of choices (with optional icons, subtitles, and a search box) for a dropdown.

Configuring an existing custom parameter

Once a custom parameter exists, right-click it (or its equivalent row in the Properties panel) and choose Configure parameter to reopen the same dialog pre-filled with its current settings. This option only appears for parameters you added yourself — parameters that ship with the node's definition aren't editable this way.

Hiding connected parameters

Turn on Hide Connected Parameters (Shift+H, or Settings → Editor → Node Settings) to collapse any parameter row whose input already has an incoming connection. It's a decluttering tool for busy workflows: once a value is coming from somewhere else on the canvas, you usually don't need to see its editable field taking up space too. Toggling it back off restores every row immediately.

Keep specific parameters visible anyway

Ignore Hide Connected (Display Nodes) and Ignore Hide Connected (Save Nodes), next to the main toggle in Node Settings, exempt any parameter whose name contains "display" or "save" — useful for nodes where you want to keep an eye on an output path or preview even while its input is wired up.