n8n Set-nod: sätta, byta namn på och ta bort fält i ditt workflow
Set-noden är n8n:s universalverktyg för att forma data — du lägger till, ändrar, byter namn på och tar bort fält utan att skriva en enda rad kod.
Hur Set-noden är strukturerad
Set-noden har två lägen:
Manual Mapping. Du lägger till fält ett i taget via formuläret. Varje fält har ett namn och ett värde. Värdet kan vara ett fast textvärde (“confirmed”), ett uttryck via Expression mode ({{ $json.orderId }}), eller en kombination av de båda. Det är läget du vill börja med — det är lättare att granska och ändra.
JSON. Du skriver hela output-objektet som ett JSON-block. Snabbare när du ska definiera många fält på en gång, men risken är att du av misstag skriver över fält du tänkte behålla.
”Include Other Fields” — den inställning som avgör mest
I standardläget för Manual Mapping är “Include Other Fields” aktiverat. Det innebär att alla fält som redan finns i item:et följer med, och dina definierade fält läggs ovanpå eller skriver över befintliga med samma namn.
Inaktiverar du det, skickar Set-noden bara de fält du explicit definierat. Allt annat tas bort.
Användningsfall:
- Aktiverat (standard): Du lägger till ett beräknat fält (
total_with_vat) och vill behålla all ursprungsdata - Inaktiverat: Du skickar data till en extern tjänst och vill skicka exakt tre specifika fält — inget mer
Byta namn på fält
Set-noden har ingen dedikerad rename-funktion, men mönstret är enkelt:
- Lägg till ett nytt fält med det önskade namnet och ange
{{ $json.gammaltNamn }}som värde - Använd “Remove Fields” (ett separat alternativ under flervalmenyn) för att ta bort det gamla fältet
Alternativt: aktivera JSON-läget och konstruera ett nytt objekt med de namngivna fälten du vill ha.
Ta bort fält
Välj “Remove Fields” i nodeläget istället för “Set Fields”. Ange ett eller flera fältnamn. Allt annat passerar igenom.
Det vanligaste användningsfall: rensa bort Authorization-headervärden, interna debug-fält, eller API-nycklar innan data loggas eller skickas till externa system.
Beräknade fält med uttryck
Set-noden är platsen för enkel matematik och strängsammanslagning:
{{ $json.price * 1.25 }}— lägg till moms{{ $json.firstName + ' ' + $json.lastName }}— bygg ett fullständigt namn{{ $now.toISO() }}— lägg till en tidsstämpel för nuet{{ $json.status === 'active' ? 'Aktiv' : 'Inaktiv' }}— villkorlig textsättning
Behöver du loopar, externa anrop, eller komplex logik? Då är Code-noden rätt verktyg. Men för den stora majoriteten av datatransformationer räcker Set + Expressions.
Vanliga misstag
Ändrar ett fält som inte finns. Om du refererar till $json.customerId men item:et saknar det fältet sätts värdet till undefined. Kontrollera din input-data innan du konfigurerar Set-noden.
JSON-läget raderar fält oavsiktligt. I JSON-läget definierar du hela output-objektet — fält du inte skriver in i JSON-blocket existerar inte i output. Kontrollera “Include Other Fields”-statusen om du ser att fält försvinner.
Vanliga frågor
Kan jag använda Set-noden för att skapa kapslade objekt?
Ja. I Manual Mapping kan punkt-notation (address.city) skapa kapslade objekt i nyare n8n-versioner, men det säkraste sättet är JSON-läget där du explicit skriver strukturen.
Vad är skillnaden mellan Set-noden och Edit Fields-noden?
I nyare n8n-versioner har Set-noden döpts om till “Edit Fields” — det är samma nod med samma funktionalitet. Äldre dokumentation och tutorials använder “Set-nod”.
Kan jag använda Set-noden för att sätta fältvärden baserat på ett annat fälts existens?
Ja, via ternary-uttryck: {{ $json.email ? $json.email : 'ingen e-post' }}. Om fältet saknas returneras fallback-värdet.