Configuring nodes
Click a node → its inspector opens on the right. That's where you set its fields. The form changes per node type, but the patterns are the same everywhere.
📸 Screenshot needed:
editor__inspector-pinned.png, the right inspector panel for an HTTP Request node with method, URL, headers, body, credentials, retry settings, and an expression chip on the URL field.
Anatomy of the inspector
The inspector has up to four regions:
- Header, node icon, display name (click to rename), node type, and the Pin / Close controls.
- Status chip, green tick when configuration is valid, red exclamation when something's missing (hover for the error).
- Configuration form, the actual fields.
- Output preview, a collapsed section at the bottom showing the result of this node's last execution. Empty until you run it once.
Field types
Plain text fields
Standard text input. Type a literal value or an expression (or mix).
Long-text / code fields
Multi-line. Used for SQL queries, code-node bodies, AI prompts, etc. Syntax-highlighted where appropriate.
Number / boolean fields
Standard inputs and toggles.
Dropdowns
Used for enumerations (HTTP method, schedule type, AI model, etc.). Some dropdowns are dynamic, they load options from a connector once you've selected a credential (e.g. picking a Slack channel from the list of channels in your workspace).
Credential picker
Used by any node that authenticates to an external service. Pick an existing credential from the dropdown or click + Add new credential to open the credential dialog inline. See Managing credentials.
Repeating sections
Some fields are list-shaped, e.g. an If node's conditions, an HTTP node's headers. Click Add row to append; the trash icon removes a row.
Static value vs expression
Every text-like field can hold either:
- A static value, what you type is taken literally.
- An expression, wrapped in
{{ }}and evaluated at runtime against the upstream data.
You can mix the two freely:
https://api.example.com/users/{{ $trigger.body.id }}/orders?status={{ $node["Filter"].json.status }}The expression picker (chip view)
Click the 🔗 chain icon next to a field to open the Data Mapper popover. It shows a tree of every upstream node's output and the trigger payload. Click any leaf to insert the corresponding expression at the cursor.
📸 Screenshot needed:
editor__expression-chip.png, Data Mapper popover open over a URL field, showing a tree of$trigger,$node["Fetch user"]outputs, with one leaf hovered.
The popover also shows a live preview of what the expression resolves to, useful for spotting typos before you run.
Toggle between chip and raw text
The 🔗 icon doubles as a toggle between "chip view" (expressions render as coloured pills) and "raw text" (the full {{ … }} string is shown). Both produce the same result; raw text is sometimes easier to read for complex expressions.
📸 Screenshot needed:
expressions__chip-vs-raw.png, same field, side-by-side, once showing two coloured chips and once showing the raw{{ … }}text.
Pinning multiple inspectors
By default, the inspector switches whenever you select a different node. Click the Pin icon in the header to lock the panel open, selecting a new node now adds another inspector below the pinned one, stacking up to four panels.
Useful when you're wiring an expression from node A into node B and want both inspectors visible at once.
To unpin, click the pin icon again. To close one of the stacked panels, click its Close button.
Validation
The status chip in the header tells you whether the node is configured correctly:
- ✅ Green tick, all required fields filled, types check out.
- ❌ Red exclamation, at least one problem. Hover for the message.
You can save a workflow with validation errors, but you cannot run it. Errors at save-time show as a banner above the canvas listing every offending node, with Jump to links.
Output preview
After a run, expand the Output section at the bottom of the inspector to see what this node produced. Three views:
- JSON, the raw output, syntax-highlighted, with copy-path on right-click. Right-click any leaf → Copy as expression to put
{{ $node["This node"].json.path }}in your clipboard. - Table, if the output is an array of objects, a table view appears. Filterable, sortable.
- Raw, the bytes, for binary outputs.
If the node hasn't run yet, the section says "No output yet, run the workflow to populate."
Tips & gotchas
- Empty isn't always blank. Leaving a field blank doesn't mean "default"; it means "no value". Check the field's placeholder text or the node's docs for the actual default behaviour.
- Some fields can't take expressions. A few configuration knobs (e.g. node-level retry count) need to be set at design time, not computed at run time. The field will say so.
- Long expressions live better on multiple lines. Press
Shift+Enterto insert a newline; the evaluator treats whitespace as ignorable within a{{ }}block. - The "Output preview" is from the last execution, not a live preview. To refresh, test the node.
- Renaming a node rewrites every expression that referenced its old name (within this workflow). Sub-workflows in other workflows that reference this node are not updated, check them.
Related
Found something out of date? This page lives in the Flero docs content set.