Skip to main content

n8n Switch-nod: multi-branch routing, routing med värde eller expression, och default-utgången

3 min read Updated:

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.

Tools Used in This Article

This article mentions several tools from my tech stack.

Get insights and updates first

Subscribe to get updates on agentic engineering, data pipelines, MCP infrastructure, and new projects straight to your inbox.