Skip to main content

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​

ParameterDescriptionRequired
Field ModeKeep all existing fields or start freshYes
EditsList of field modificationsYes

Field Mode Options​

ModeBehavior
Keep all fieldsStart with all existing fields, then apply edits
Keep no fieldsStart with empty item, only include edited fields

Edits​

Each edit specifies:

PropertyDescription
FieldDot notation path to set, or * to replace entire object
ValueThe value to set (supports expressions)

Field Paths​

Use dot notation to set nested fields:

  • name - Sets top-level field
  • address.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:

  1. Set Field Mode: Keep all fields
  2. Add Edit:
    • Field: lineTotal
    • Value: {{\$item.data.unitPrice * \$item.data.quantity}}

Restructure for Output​

Prepare data for export with specific structure:

  1. Set Field Mode: Keep no fields
  2. 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}}

Transform Values​

Normalize status values:

  1. Set Field Mode: Keep all fields
  2. Add Edit:
    • Field: status
    • Value: {{\$item.data.status.toLowerCase().trim()}}

Replace Entire Item​

Use * field to completely replace:

  1. Add Edit:
    • Field: *
    • Value: {{\$item.data.nested}} (extracts nested data to top level)

Set Nested Fields​

Build nested structures:

  1. Add Edits:
    • Field: metadata.processedAt, Value: {{new Date().toISOString()}}
    • Field: metadata.source, Value: workflow

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
{
{
$('Import Table').item.data.name;
}
}

Tips​

  • Use "Keep no fields" to create clean output structures
  • Expressions have access to the full \$item object 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