Adding and connecting nodes
Add nodes from the palette or a port, then wire output ports to input ports. This page covers adding, naming, connecting, duplicating and deleting nodes.


Adding a node
From the palette
- Click Nodes at the top left of the editor to open the palette.
- Find the node. Type in Search Nodes for a flat list of matches, or open a group: Triggers, AI, Flow Control, Developer Tools, Integrations, Data Storage, Communication, Other or Templates.
- Either click the node to drop it in the centre of the canvas, or drag it to the spot you want.


Templates in the palette are ready-made workflows. Clicking one asks whether to create a new workflow from it, replace the current one, or merge it into what you have.
From a port
Click the + on a node's port. A node picker opens with a search box and tabs (All, AI, Developer, Logic). Pick a node and it is added and connected to that port in one step. This is the fastest way to extend a chain.
On an existing connection
Hover over a connection, or click it to select it. A + button appears at its midpoint. Click it to insert a node in the middle of the connection, wired on both sides.
On an empty workflow
A new, empty workflow shows Pick an action in the middle of the canvas. It opens the node picker with triggers first: Start, Scheduler, Form Trigger, Webhook, Chat and MCP. Next to it, Ask flero opens the AI builder.
Naming nodes
Every node gets its type's display name. A second node of the same type gets a number: HTTP Request, HTTP Request 2, and so on. Names matter because expressions refer to nodes by name: {{ $node["HTTP Request"].output.response.body }}.
To rename a node, open its panel and double-click the name in the panel header. Type the new name and press Enter.
⚠️ Renaming does not update expressions. Any expression that refers to the old name stops resolving and shows an
[EXPR-ERROR: …]marker. After a rename, update every expression that used the old name.
Naming tips:
- Use names that say what the step does (
Fetch customer,Approve refund), not its type (HTTP Request 3). - Names are case-sensitive.
HTTP Requestandhttp requestare different names to the expression evaluator. - Keep names unique. The editor doesn't stop you giving two nodes the same name, but expressions can't tell them apart.
Connecting nodes
Draw a connection
Two ways:
- Drag from an output port (right side of a node) towards the target. Release near an input port (left side) and it snaps on.
- Click an output port, then click an input port.
Either way, the connection always runs from an output to an input. To cancel a connection in progress, press Esc or click anywhere that isn't a port.


Nodes with several outputs
Some nodes have more than one output port. Each port is labelled on the node; connect from the one you want.
| Node | Output ports |
|---|---|
| If | true, false |
| Switch | One per case |
| Loop | One for each item, one for when all items are done |
| Approval | One per outcome |
Some node types also have an error port that receives the failure instead of stopping the run.


AI Agent ports
The AI Agent node has extra input ports for guards and tools. Clicking the + on one opens a picker titled Add a Guard or Add a Tool, filtered to nodes that fit. You can also drop nodes onto the agent's slot boxes in its panel. See Configuring nodes.
Fan-out and fan-in
- Fan-out: one output can connect to many inputs. Each receives the same data.
- Fan-in: many outputs can connect to one input. The node receives the combined upstream data. Use a Merge node when you need to control how inputs combine.
Duplicating
- Select one or more nodes and press
⌘D/Ctrl+D, or click Duplicate in a node's hover toolbar. - The copy lands slightly below and to the right, with a numbered name (
Fetch customer 2).
There is no copy and paste for nodes. Use Duplicate instead.
Expressions inside the copy still point at the same nodes as the original. Check them after duplicating.
Deleting
- Nodes: select and press
Delete(on a Mac without a Delete key,⌘Backspace), or click Delete in the node's hover toolbar. - Connections: hover over the connection and click the × at its midpoint, or click it to select it and press
Delete.
Plain Backspace does not delete, so you can't remove a node by accident while typing. Select several items to delete them together. ⌘Z / Ctrl+Z undoes a delete.
The node hover toolbar
Hover over a node for a small toolbar:
| Button | What it does |
|---|---|
| Run | On a trigger node, runs the workflow from that trigger. |
| Change | Replace the node with another type. See Replacing a node. |
| Duplicate | Copy the node. |
| Delete | Remove the node. |
| More | Open Node Settings: error handling, timeout and priority. See Configuring nodes. |
Tips & gotchas
- The editor doesn't check data shapes when you connect. Any output can connect to any input. Problems show up when expressions resolve at run time.
- Test after renaming. Renames don't rewrite expressions, in this workflow or in others.
- Hyphens and spaces in names are fine inside
$node["my-node"]. The bare formmy-node.outputnever resolves. - Tidy up with Clean workflow in the floating toolbar. It re-arranges the nodes into a left-to-right layout.
Related
Found something out of date? This page lives in the Flero docs content set.