Expresii n8n: {{ $json }}, $(„Nod”) și Luxon ($now) în n8n & Automatizări AI

Sintaxa de expresii JavaScript din n8n prin care accesezi datele din nodul curent sau din oricare nod anterior, manipulezi texte și formatezi date calendaristice în prompturile AI.

Configurare nod & expresie
{{ $json.mesaj }}                                  // Din nodul imediat anterior
{{ $('Webhook').item.json.body.email }}            // Dintr-un nod mai vechi după nume
{{ $now.setZone('Europe/Bucharest').toFormat('dd.MM.yyyy HH:mm') }}

Descriere & Utilizare

Puterea reală a lui n8n stă în Expresii: orice câmp din orice nod (inclusiv System Message și User Prompt din nodurile AI) poate fi comutat din modul Fixed în modul Expression și poate conține cod JavaScript evaluat dinamic între acolade duble {{ ... }}.

Variabila $json îți oferă acces la datele primite de la nodul imediat precedent. Însă, într-un flux lung în care după Webhook ai mai pus 4 noduri intermediare, poți accesa oricând datele originale folosind $("Numele Nodului").item.json.camp, care păstrează legătura automată (Paired Item) cu elementul procesat.

În plus, n8n include nativ biblioteca Luxon prin variabilele globale $now și $today, esențiale pentru a oferi agenților AI repere temporale exacte pe fusul orar al României.

Cum să o reții ușor

💡 Ca formulele dintr-un tabel Excel inteligent, doar că în loc de =A1+B1 poți apela întregul limbaj JavaScript direct în mijlocul unei propoziții trimise către AI.

Opțiuni și parametri tehnici

  • $json: obiectul JSON al elementului curent venit din nodul imediat anterior.
  • $("Nume Nod").item.json: accesează obiectul JSON corespunzător dintr-un nod anterior specificat după nume.
  • $("Nume Nod").all(): returnează un array cu toate elementele ieșite dintr-un nod anterior (util pentru agregări în prompt).
  • $now / $today: instanțe Luxon DateTime pentru manipularea datelor și a fusurilor orare.

Exemple practice și cazuri de utilizare

  • Concatenarea unei liste de produse într-un singur prompt AI: {{ $input.all().map(i => "- " + i.json.titlu + " (" + i.json.pret + " RON)").join("n") }}
  • Valoare de rezervă (fallback) dacă lipsește numele clientului: Salut, {{ $json.nume ?? "Client" }}!
  • Curățarea spațiilor și limitarea lungimii textului trimis la LLM: {{ $json.continut.trim().slice(0, 4000) }}

Sfaturi de configurare & capcane

Folosește întotdeauna $("Nume Nod").item.json în locul vechii sintaxe $node["Nume Nod"].json — metoda .item garantează potrivirea corectă a rândurilor atunci când procesezi liste cu mai multe elemente.

Comenzi și ghiduri înrudite