Ep 10: The Built-in Toolbelt — Merge, Set, Edit Image & Date Nodes

12 MIN READ | UPDATED: 2026-06-16
DIRECT SUMMARY // KEY TAKEAWAY

Quick mastery of n8n's most frequently used utility nodes: data merging, field editing, image processing, time calculations, and format conversions.

Utility Nodes Landscape

These nodes aren't as flashy as AI Agents, but they're the Swiss army knife you use every day.

graph TB
    subgraph "n8n Utility Node Map"
        Set[⚙️ Set/Edit Fields]
        Merge[🔗 Merge]
        Filter[🔍 Filter]
        Sort[📊 Sort]
        Limit[✂️ Limit]
        Remove[🗑️ Remove Duplicates]
        DateTime[🕐 Date & Time]
        Image[🖼️ Edit Image]
    end
    
    style Set fill:#22c55e,stroke:#16a34a,color:#fff
    style Merge fill:#6366f1,stroke:#4f46e5,color:#fff

1. Set / Edit Fields Node

Usage frequency: ⭐⭐⭐⭐⭐

// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// Three modes of the Set node
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

// Mode 1: Add new fields
// Field: fullName = {{ $json.firstName + ' ' + $json.lastName }}

// Mode 2: Keep Only Set (strip all other fields)
// Enable "Keep Only Set" → only specified fields survive

// Mode 3: Dynamic computation
// discountPrice = {{ Math.round($json.price * 0.85) }}
// isExpensive = {{ $json.price > 500 }}

2. Merge Node — Multi-Stream Join

graph TB
    subgraph "Three Core Merge Modes"
        subgraph "Append"
            A1[Stream 1: 3 Items] --> MA[Merge]
            A2[Stream 2: 2 Items] --> MA
            MA --> AR[Output: 5 Items]
        end
        
        subgraph "Combine by Position"
            B1["[A, B, C]"] --> MB[Merge]
            B2["[1, 2, 3]"] --> MB
            MB --> BR["[A+1, B+2, C+3]"]
        end
        
        subgraph "Combine by Field (SQL JOIN)"
            C1["Users [{id:1}]"] --> MC[Merge]
            C2["Orders [{uid:1}]"] --> MC
            MC --> CR["Joined [{id:1, name, amount}]"]
        end
    end

3. Date & Time

// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// Luxon-based time expressions
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

{{ $now.toISO() }}                    // "2026-04-09T12:30:00.000+08:00"
{{ $now.plus({ days: 7 }) }}          // 7 days from now
{{ $now.minus({ hours: 2 }) }}        // 2 hours ago
{{ $now.toFormat('yyyy-MM-dd') }}     // "2026-04-09"
{{ $now.setZone('America/New_York') }}  // Timezone conversion

4. Classic Combo: Data Cleaning Pipeline

graph LR
    Raw[Raw Data
100 Items] --> Filter[Filter
status=active] Filter --> Dedup[Remove Duplicates
by email] Dedup --> Sort[Sort
by score desc] Sort --> Limit[Limit
Top 10] Limit --> Clean[Clean Data
10 Items ✨] style Clean fill:#22c55e,stroke:#16a34a,color:#fff

Module 2 Complete!

mindmap
  root((Module 2: Logic & Data))
    Ep 06 Branching
      If Node
      Switch Node
      Loop Over Items
    Ep 07 Data Tables
      CRUD Operations
      Deduplication
    Ep 08 HTTP Request
      Auth (API Key / OAuth2)
      Pagination
      Retry
    Ep 09 Code Node
      JS Two Modes
      Python Support
      Built-in Variables
    Ep 10 Utility Nodes
      Set / Merge
      Date & Time
      Filter / Sort / Limit

Next Module

From Ep 11, we enter AI Agent territory — connecting LLMs to n8n workflows, transforming them from "execution machines" into "thinking agents."