Skip to main content

n8n Merge-nod: kombinera resultat från parallella branches

3 min read Updated:

IF-noden delar ett flöde i två vägar. Switch-noden delar det i flera. Men vad händer när du vill samla resultaten igen? Det är Merge-nodens jobb.

Vad Merge-noden faktiskt gör

Merge-noden tar emot items från två inputs och kombinerar dem till ett enda output. Det finns fyra lägen:

Append. Items från Branch 2 läggs till efter items från Branch 1. Inget matchningsvillkor behövs. Använd Append när de två branches är oberoende — till exempel när du hämtar data från två olika API:er och vill behandla alla resultat i samma nod efteråt.

Combine: Keep Key Matches. Parvis matchning baserat på ett gemensamt fält. Om Branch 1 returnerar { userId: "abc", name: "Anna" } och Branch 2 returnerar { userId: "abc", email: "[email protected]" } — och du konfigurerar Match Key till userId — slår Merge ihop dem till { userId: "abc", name: "Anna", email: "[email protected]" }.

Praktisk användning: enrichment-mönster. Hämta en lista av kunder från ett CRM (Branch 1), hämta deras betalningshistorik från ett separat system (Branch 2), matcha på customerId, bearbeta vidare med fullständig data.

Combine: Merge by Position. Parar item 1 med item 1, item 2 med item 2 och så vidare, utan nyckelmatchning. Kräver att antalet items i Branch 1 och Branch 2 är identiskt — om de skiljer sig tappar n8n överskottet tyst.

Multiplex. Varje item från Branch 1 paras med varje item från Branch 2 — kartesisk produkt. 3 items i Branch 1 × 4 items i Branch 2 = 12 items i output. Används sällan, men är rätt verktyg för kombinationsmatriser (testa varje prompt mot varje modell, skicka varje produkt till varje säljkanal).

Parallella branches kräver “Wait”

Det vanligaste misstaget: split → parallell bearbetning → Merge, men n8n exekverar branches sekventiellt som standard. Merge-noden tar emot Branch 1-resultaten och fortsätter utan att vänta på Branch 2.

Lösning: aktivera Wait for Both Inputs i Merge-nodens inställningar. Det är inaktiverat som standard.

Obalanserade branches

Combine-lägena förutsätter att branches är symmetriska. Om en branch filtrerar bort items (via en IF-nod inuti branchen) och returnerar färre items än den andra, tappar Merge by Position data tyst. Combine by Key Matches tappar items utan matchande nyckel — de returneras inte alls, inte ens som null-värden.

Kontrollera alltid output-antalet i Merge-noden under testning om du kombinerar branches med potentiellt olika item-antal.

Vanligt mönster: Fan-out och Fan-in

  1. En trigger-nod hämtar en lista av ärenden
  2. IF-nod delar upp i “prioriterat” och “normalt”
  3. Båda branches bearbetar ärenden parallellt (t.ex. hämtar extra data via HTTP Request)
  4. Merge-nod (Append) samlar resultaten
  5. Nästa nod skickar notiser för alla ärenden

Fan-out → parallell bearbetning → Fan-in är det vanligaste mönstret för Merge. Det reducerar total exekveringstid jämfört med sekventiell bearbetning när HTTP Request-calls är oberoende.

Vanliga frågor

Varför ser jag bara Branch 1-data i Merge-output?

“Wait for Both Inputs” är förmodligen inaktiverat. Aktivera det i nodinställningarna — annars skickar Merge vidare vad den har när Branch 1 är klar.

Kan Merge-noden hantera tre eller fler branches?

Nej, Merge har exakt två inputs. Kedja Merge-noder: Merge (Branch 1 + Branch 2) → Merge (result + Branch 3).

Vad händer med metadata-fält (som $itemIndex) efter en Merge?

n8n omindexerar items i Merge-output. $itemIndex i nästa nod speglar positionen i det sammanslagna resultatet, inte originalpositionen i respektive branch.

Tools Used in This Article

This article mentions a tool 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.