Transform
Reshape data with sequential rules including rename, pick, omit, map, flatten, aggregate, template, and type coercion.
The Transform node applies a pipeline of rules to reshape incoming data. Rules execute sequentially from top to bottom, and each rule's output becomes the input for the next. Use it to rename fields, strip unwanted properties, compute derived values, flatten nested arrays, aggregate numeric fields, inject template strings, or coerce field types before passing data to the next node.
If no rules are defined, data passes through unchanged.
Configuration
Source Data
| Field | Type | Required | Description |
|---|---|---|---|
| Source Data | template string | No | Variable path to the data to transform. Leave empty to use the previous node's output. |
Transform Rules
Rules are applied sequentially. Each rule has a type that determines which additional fields are shown.
| Rule Type | Description |
|---|---|
| Rename Field | Change a property key without altering the value |
| Pick Fields | Keep only the listed fields, discard everything else |
| Omit Fields | Remove the listed fields, keep everything else |
| Map / Transform Field | Compute a new field value using an expression |
| Flatten Array | Flatten a nested array one level deep |
| Aggregate | Compute a numeric aggregate (sum, count, avg, min, max) across array items |
| Template String | Generate a new field from a template with variable interpolation |
| Type Coerce | Convert a field value to string, number, or boolean |
Rule Fields by Type
Rename Field
| Field | Type | Description |
|---|---|---|
| Old key | text | Current property name |
| New key | text | New property name |
Pick Fields / Omit Fields
| Field | Type | Description |
|---|---|---|
| Fields | text | Comma-separated list of field names to keep (pick) or remove (omit) |
Map / Transform Field
| Field | Type | Description |
|---|---|---|
| Source field | text | Property to read from |
| Output key | text | Property name for the computed value |
| Expression | template string | Template expression that produces the new value |
Flatten Array
No additional fields. Flattens the current data one level if it is a nested array.
Aggregate
| Field | Type | Description |
|---|---|---|
| Field | text | Numeric property to aggregate across array items |
| Operation | select | One of: Sum, Count, Average, Min, Max |
The aggregate rule replaces the entire array with a single numeric result.
Template String
| Field | Type | Description |
|---|---|---|
| Output key | text | Property name for the generated string |
| Template | template string | Template with variable placeholders |
Type Coerce
| Field | Type | Description |
|---|---|---|
| Field | text | Property to coerce |
| Target type | select | String, Number, or Boolean |
Output
| Field | Type | Description |
|---|---|---|
| result | object | The transformed data after all rules have been applied |
When the source data is an array, per-object rules (rename, pick, omit, map, template, typeCoerce) are applied to each item in the array. Array-level rules (flatten, aggregate) operate on the array as a whole.
Example
An API returns user objects with verbose field names. You want to clean them up before storing:
- Add a Transform node after the HTTP Request node.
- Set Source Data to
nodes.httpRequest_1.body.users. - Add rules in order:
- Pick Fields:
first_name, last_name, email, created_at - Rename Field: Old key =
first_name, New key =firstName - Rename Field: Old key =
last_name, New key =lastName - Rename Field: Old key =
created_at, New key =createdAt - Template String: Output key =
fullName, Template =nodes.httpRequest_1.body.users.firstName nodes.httpRequest_1.body.users.lastName
- Pick Fields:
The result is a cleaned array of user objects with only the fields you need, renamed to camelCase, with a computed fullName field.
See the Logic Nodes overview for a full list of available nodes.