Function Nodes

Function nodes are the workhorses of a Flow. They sit between your data sources and outputs, shaping data as it passes through. You add them from the Functions section of the Element Panel.
Pick a node by what it changes
The easiest way to choose a Function node is to think about what part of the data it changes — rows, columns, or structure:
| The node... | ...changes | Node |
|---|---|---|
| Removes rows | rows | Filter |
| Adds or changes columns | columns | Formula |
| Rolls rows up into totals | rows | Group By |
| Reshapes rows into a new (nested) structure | structure | Map |
The other Function nodes are variations on these themes — ways of selecting, combining, or expanding rows.
All Function nodes
| I want to... | Use |
|---|---|
| Keep only rows that match a condition | Filter |
| Reorder rows | Sort |
| Remove duplicate rows | Distinct |
| Add or change column values | Formula |
| Add columns from another source by matching keys | Lookup |
| Join two datasets on a key | Merge |
| Stack rows from multiple sources | Append |
| Calculate totals, averages, counts per group | Group By |
| Expand array values into individual rows | Flatten |
| Reshape rows into a different (nested) structure | Map |
| Classify text with AI | Classify (see below) |
The expression language
Filter, Formula, Group By, and Map all evaluate small expressions to compute values or test conditions. They share one strict-SQL style Expression Language — learn it once and it works across all of them.
A note on Map, Formula, and Group By
Map is the most general data-shaping node: it can place, rename, and compute fields, build nested arrays, and summarize child groups. Formula and Group By are focused, everyday versions of that same capability — Formula computes columns, Group By summarizes rows — and all three author their expressions with the same fx language. Reach for Formula or Group By for the common cases, and Map when you need to change the shape of the data itself.
The Classify node
The Classify node uses an AI connection to
categorize text — for example, tagging free-text notes as Mechanical,
Electrical, or Process. It takes two inputs (the records to classify and the
category definitions) and assigns each record to the closest-matching category
by AI embedding. Unlike the editor-time AI assistants (Copilot and Formula
Assist), Classify runs as part of flow execution. See the
Classify Node for full configuration.
Next steps
- Expression Language — operator and function reference
- Formula — add or change columns
- Filter — keep rows that match a condition
- Map — reshape rows into a new structure
- Building Flows — put nodes together into a Flow