n8n Switch-nod: multi-branch routing, routing med värde eller expression, och default-utgången
IF-noden i n8n ger dig sant eller falskt — två vägar. Men verkligheten har oftare tre, fyra, fem vägar: aktiv, väntande, avbruten, okänd. Det är Switch-nodens hemmaplan.
Vad Switch-noden löser
Switch tar varje item och jämför det mot en lista av regler. Första regeln som stämmer bestämmer vilken utgång itemet skickas till. Matchar ingenting hamnar itemet på default-utgången.
Resultatet är ett workflow som grenar sig tydligt vid ett ställe, med namngivna utgångar du kan följa med ögonen i grafen — i stället för ett staplat IF-träd där du förlorar tråden efter tredje grenen.
Mode: Rules
Standardläget. Du väljer ett fält, väljer en jämförelseoperator och anger ett testvärde för varje utgång.
Tillgängliga operatorer: Is equal to, Is not equal to, Contains, Does not contain, Starts with, Ends with, Matches regex, Is empty, och numeriska varianter som Is greater than.
Output 1 → status Is equal to "active"
Output 2 → status Is equal to "pending"
Output 3 → status Is equal to "cancelled"
Default → allt annat
Varje utgång kan ha ett namn du väljer själv. Namngivna utgångar gör kopplingsgrafen självdokumenterande — den som öppnar workflödet nästa vecka behöver inte läsa reglerna för att förstå vad som händer.
Mode: Expression
Expressions-läget ersätter den fasta fält-operator-värde-strukturen med ett fritt booleskt uttryck per utgång. Du skriver samma expression-syntax som du använder i Set- eller IF-noden.
// Output 1
{{ $json.amount > 1000 && $json.currency === "SEK" }}
// Output 2
{{ $json.tags.includes("vip") }}
Använd detta läge när rules-läget inte räcker: komposita villkor, beräkningar, array-metoder.
Default-utgången
Utan default-utgången försvinner omatchade items tyst — de når ingen nod och syns inte i exekveringsloggen som fel. Det är ett vanligt misstag.
Default är aktiv som standard. Stäng inte av den om du inte är helt säker på att varje item alltid matchar en regel. I flöden med extern data — webhooks, API:er, import-filer — håll default på och koppla den till minst en logg- eller felnod.
Send to all matching outputs
Som standard vinner första matchande regel och itemet skickas till exakt en utgång. Aktiverar du Send to all matching outputs i inställningarna utvärderas alla regler och itemet kan skickas till flera utgångar parallellt.
Det är användbart för notifieringsflöden: “om beloppet är högt, skicka till Slack och till granskningskön”. Utan flaggan hade du behövt duplicera itemet manuellt med en Split-nod.
Tre vanliga mönster
Status-routing. En webhook tar emot orderstatus-uppdateringar. Switch grenar på status-fältet: “paid” → faktureringssystem, “refunded” → återbetalningsflöde, “disputed” → manuell kö, default → loggning.
Språkgrenar. En AI-nod returnerar content på valfritt språk. Switch på language-fältet: “sv” → svensk publiceringskanal, “en” → engelsk kanal, default → översättningsnod.
Felkategorisering. En HTTP Request-nod kan returnera 400, 404, 429, 500. Switch på HTTP-statuskoden hanterar varje feltyp separat — 429 till en retry-loop, 5xx till PagerDuty, 4xx till Slack.
En sak att komma ihåg
Switch-noden utvärderar regler uppifrån och ned och stannar vid första match (i standardläget). Ordningen på reglerna spelar roll. Sätt de mest specifika reglerna överst, de bredaste längst ned — precis som case-satser i kod.
Vanliga frågor
Vad är skillnaden mellan Switch och IF-noden?
IF-noden ger exakt två utgångar: true och false. Switch ger obegränsat antal utgångar med individuella regler. Använd IF för binär logik, Switch när du har tre eller fler grenar.
Vad händer med items som inte matchar någon regel när default är avstängt?
De försvinner. De exekveras inte, de loggas inte som fel och de syns inte i output. Om du inte är helt säker på att alla items matchar en regel, håll default aktiv och koppla den till minst en logg-nod.
Kan jag använda Switch i kombination med Merge-noden för att samla ihop grenarna igen?
Ja. Koppla alla utgångar du vill sammanföra till en Merge-nod med läget “Combine by Position” eller “Append”. Det är ett vanligt mönster när du vill bearbeta items olika men sedan hantera dem enhetligt längre ned i flödet.