Understanding Nodes
Learn what nodes are, how they work, and how to configure them.
Nodes are the building blocks of every Salt pipeline. Each node performs a single operation -- generating text, transforming data, calling an API, processing an image -- and passes its results to the next node in the chain.
Anatomy of a Node
Every node has the same basic structure:
- Title bar -- Displays the node's name and type. You can rename a node by double-clicking its title.
- Input handles -- Located on the left side of the node. These accept data from other nodes' outputs. Each handle has a specific data type, shown by its color.
- Output handles -- Located on the right side. These send the node's results to downstream nodes.
- Widgets -- Interactive controls inside the node body that let you configure settings directly on the canvas. Common widget types include text fields, number sliders, dropdowns, file pickers, and toggles.
Node Types
Salt includes two core types of nodes:
Standard Nodes
The most common type. Each standard node wraps a specific operation -- an LLM call, a text transformation, an image filter, and so on. You configure it through its widgets and properties panel, connect its inputs and outputs, and it processes data when the pipeline runs.
Container Nodes
Container nodes provide visual grouping on the canvas. Drag nodes into a container to keep related steps together. Containers don't affect data flow -- they are purely organizational.
Loop Nodes
Some nodes also act like containers with execution behavior. The main example is Do While Loop, which owns child nodes, manages in-loop state, and repeats its contents until a connected condition becomes false. See Loop Nodes for the wiring pattern and examples.
Adding Nodes
There are several ways to add a node to your canvas:
- Drag from the node browser -- Press A to open the node browser, find the node you want, and drag it onto the canvas.
- Search -- Use the search bar at the top of the node browser to filter by name or keyword.
- Command menu -- Press
Cmd+K(Mac) orCtrl+K(Windows/Linux) to open the command menu and search for nodes. - Right-click menu -- Right-click on an empty area of the canvas to open the context menu with an option to add nodes.
Configuring Nodes
Click a node to select it and open the Properties panel, which shows all of the node's configurable inputs. You can also press P to toggle the Properties panel at any time.
Widgets
Widgets are the input controls you use to set values on a node. The type of widget depends on the input:
| Widget Type | Used For |
|---|---|
| Text field | Free-form text input, prompts, templates |
| Number input | Numeric values with optional min/max range |
| Dropdown | Selecting from a fixed list of options |
| File picker | Uploading or selecting files |
| Toggle | On/off boolean settings |
| Markdown | Rich text content |
Input Sources
Each input on a node can receive its value from two sources:
- Widget value -- You set the value directly using the widget control.
- Edge -- The value comes from another node's output. When an input is connected, the widget is overridden by the incoming data.
When an input has both a widget value and an incoming edge, the edge takes priority. The widget value acts as a default when no edge is present.
Organizing Nodes
As pipelines grow, keeping your canvas tidy helps you stay oriented:
- Rename nodes to describe what they do in your specific pipeline.
- Use container nodes to visually group related steps.
- Align and space nodes so the data flows left to right or top to bottom in a readable direction.
- Use bookmarks to save viewport positions for quick navigation in large pipelines.