Edit Item
Modifies item fields by adding, changing, or removing values.
Overview
The Edit Item node transforms each item by applying field edits. Use it to:
- Add new calculated fields
- Rename or restructure fields
- Remove unwanted fields
- Transform values with expressions
Parameters
| Parameter | Description | Required |
|---|---|---|
| Field Mode | Keep all existing fields or start fresh | Yes |
| Edits | List of field modifications | Yes |
Field Mode Options
| Mode | Behavior |
|---|---|
| Keep all fields | Start with all existing fields, then apply edits |
| Keep no fields | Start with empty item, only include edited fields |
Edits
Each edit specifies:
| Property | Description |
|---|---|
| Field | Dot notation path to set, or * to replace entire object |
| Value | The value to set (supports expressions) |
Field Paths
Use dot notation to set nested fields:
name- Sets top-level fieldaddress.city- Sets nested field*- Replaces the entire item with the value
Output
Items with the specified modifications applied.
Input:
{
"name": "John",
"price": 100,
"quantity": 5
}
Edits:
- Field:
total, Value:{{\$item.data.price * \$item.data.quantity}} - Field:
status, Value:pending
Output (Keep all fields):
{
"name": "John",
"price": 100,
"quantity": 5,
"total": 500,
"status": "pending"
}
Examples
Add Calculated Fields
Calculate line item totals:
- Set Field Mode:
Keep all fields - Add Edit:
- Field:
lineTotal - Value:
{{\$item.data.unitPrice * \$item.data.quantity}}
- Field:
Restructure for Output
Prepare data for export with specific structure:
- Set Field Mode:
Keep no fields - Add Edits:
- Field:
Customer Name, Value:{{\$item.data.firstName}} {{\$item.data.lastName}} - Field:
Order Total, Value:{{\$item.data.subtotal + \$item.data.tax}} - Field:
Date, Value:{{\$item.data.orderDate}}
- Field:
Transform Values
Normalize status values:
- Set Field Mode:
Keep all fields - Add Edit:
- Field:
status - Value:
{{\$item.data.status.toLowerCase().trim()}}
- Field:
Replace Entire Item
Use * field to completely replace:
- Add Edit:
- Field:
* - Value:
{{\$item.data.nested}}(extracts nested data to top level)
- Field:
Set Nested Fields
Build nested structures:
- Add Edits:
- Field:
metadata.processedAt, Value:{{new Date().toISOString()}} - Field:
metadata.source, Value:workflow
- Field:
Expression Examples
// String manipulation
{{$item.data.name.toUpperCase()}}
{{$item.data.email.split('@')[0]}}
{{`\${$item.data.firstName} \${$item.data.lastName}`}}
// Math operations
{{$item.data.price * 1.1}}
{{Math.round($item.data.value * 100) / 100}}
// Conditional values
{{$item.data.amount > 1000 ? 'High' : 'Low'}}
// Date formatting
{{new Date($item.data.timestamp).toISOString()}}
// Array operations
{{$item.data.tags.join(', ')}}
{{$item.data.items.length}}
// Reference a specific node
{{$("Get Table").item.data.name}}
Tips
- Use "Keep no fields" to create clean output structures
- Expressions have access to the full
\$itemobject via\$item.data - Field names are case-sensitive
- New fields overwrite existing fields with the same name
- Order of edits matters when edits reference each other
- Use
*field to completely reshape an item