In fast jedem Automatisierungsprojekt kommt der Moment, an dem Daten aus zwei Quellen zusammenkommen müssen: die Bestellungen aus dem Shop und die Kundenliste aus dem CRM, die erfassten Stunden und der Mitarbeiterstammsatz, zwei Exporte, die eigentlich zusammengehören. In n8n ist der Merge-Node dafür das Werkzeug – und zugleich der Knoten, an dem sich viele festfahren, weil er mehrere Modi hat, die auf den ersten Blick gleich klingen. Dieser Artikel ordnet die Modi nach der Frage, die Sie eigentlich stellen. Für Geschäftsführer, die wissen wollen, warum ihr Workflow die falschen Daten zusammenwirft, und für alle, die selbst automatisieren.
Zwei Listen stapeln oder über einen Schlüssel verknüpfen?
Der häufigste Fehler ist nicht technisch, sondern begrifflich. „Zusammenführen“ meint zwei völlig verschiedene Dinge, und der Merge-Node erledigt beide – nur eben mit unterschiedlichen Modi:
- Stapeln (Zeilen): Zwei Listen desselben Typs untereinanderhängen. Zehn Leads aus dem Kontaktformular und fünf aus dem E-Mail-Postfach ergeben eine Liste mit fünfzehn Einträgen.
- Verknüpfen (Spalten): Jeden Datensatz um Felder aus einer zweiten Quelle anreichern. Jede Bestellung bekommt die E-Mail-Adresse des passenden Kunden dazu.
Wählen Sie das Stapeln, wenn Sie eigentlich verknüpfen wollten, bekommen Sie fünfzehn halb gefüllte Zeilen statt zehn angereicherten – und der Workflow „läuft“, nur eben mit Datenmüll. Deshalb lohnt es sich, vor dem Klick auf den Modus einen Satz zu formulieren: „Ich will X aus Quelle A um Y aus Quelle B ergänzen, verbunden über Z.“ Erst dann steht der Modus fest.
Append: zwei Listen untereinanderhängen
Der Modus Append hängt die Eingänge schlicht aneinander: erst alle Items aus Input 1, dann alle aus Input 2. Über Number of Inputs können Sie mehr als zwei Quellen anschließen (seit n8n 1.49.0). Es gibt hier keine Schlüssel-Logik und keinen Abgleich – die Datensätze werden nicht verheiratet, sondern nur in denselben Strom gelegt.
Das ist genau richtig, wenn Sie gleichartige Daten aus mehreren Kanälen einsammeln, bevor Sie sie gemeinsam weiterverarbeiten: alle neuen Anfragen des Tages, egal ob aus Formular, Postfach oder einer hochgeladenen Tabelle. Wichtig zu wissen: Der Node wartet, bis alle angeschlossenen Eingänge ausgeführt sind, bevor er etwas ausgibt.
Combine: Datensätze über einen gemeinsamen Schlüssel verknüpfen
Das eigentliche Arbeitspferd ist der Modus Combine mit der Einstellung Combine By > Matching Fields. Unter Fields to Match tragen Sie das Feld ein, über das verknüpft wird – etwa kundennummer in den Bestellungen und id in der Kundenliste. n8n vergleicht dann die Werte und führt zusammen, was zusammengehört.
Entscheidend ist die Einstellung Output Type. Sie legt fest, was mit Datensätzen passiert, die keinen Partner finden – und genau hier trennt sich sauberer Datenfluss von stillem Datenverlust:
| Output Type | Was herauskommt |
|---|---|
| Keep Matches | Nur Datensätze, die in beiden Quellen einen Partner haben (Inner Join). Das ist die Voreinstellung. |
| Enrich Input 1 | Alle aus Input 1, ergänzt um passende Felder aus Input 2. Ohne Treffer bleibt der Datensatz erhalten, nur ohne Zusatzfelder (Left Join). |
| Enrich Input 2 | Dasselbe umgekehrt: alle aus Input 2, angereichert aus Input 1 (Right Join). |
| Keep Everything | Alles aus beiden Quellen. Treffer werden verschmolzen, Datensätze ohne Partner einzeln durchgereicht (Outer Join). |
| Keep Non-Matches | Nur die Datensätze ohne Partner – ideal, um Lücken aufzuspüren. |
Für die Anreicherung ist „Enrich Input 1“ fast immer die richtige Wahl: Sie behalten jeden Datensatz aus der Leitquelle und ergänzen ihn, wo ein Partner existiert. Ein Auftrag ohne passenden Kunden verschwindet nicht still, sondern läuft ohne Zusatzfelder weiter – so fällt die Lücke auf, statt lautlos Daten zu verschlucken.
Ein konkretes Bild: Sie legen die Bestellungen auf Input 1, die Kundenliste auf Input 2, matchen kundennummer gegen id und wählen „Enrich Input 1“. Jede Bestellung trägt danach die Kunden-E-Mail für die Versandbestätigung. Bestellungen mit unbekannter Kundennummer bleiben in der Liste – Sie sehen sofort, dass hier ein Stammdatensatz fehlt, statt dass diese Aufträge einfach durchrutschen.
Wenn beide Quellen ein Feld gleichen Namens tragen
Was passiert, wenn beide Eingänge ein Feld name mitbringen – einmal der Kundenname, einmal der Produktname? Dafür gibt es unter den Options das Clash Handling. Unter „When Field Values Clash“ entscheiden Sie, welcher Eingang Vorrang hat, oder Sie wählen „Always Add Input Number to Field Names“: Dann bleibt beides erhalten und die Herkunft hängt am Feldnamen (aus name wird name_1 und name_2). Bei verschachtelten Objekten steuern Deep Merge und Shallow Merge, ob nur die oberste Ebene oder alle Ebenen verschmolzen werden. Als Faustregel: Solange Sie nicht bewusst überschreiben wollen, ist das Anhängen der Input-Nummer die ehrlichere Variante – kein Feld geht heimlich verloren.
Die Fallen, die in der Praxis zuschnappen
Vier Stolpersteine sehe ich in Gesprächen über hakelnde Workflows immer wieder:
- Position statt Schlüssel. Die Einstellung Combine By > Position verknüpft nach Reihenfolge – Item 0 mit Item 0, Item 1 mit Item 1. Das ist verlockend, aber brüchig: Sobald eine Quelle einen Datensatz mehr, weniger oder in anderer Sortierung liefert, wird munter verheiratet, was nicht zusammengehört. Nutzen Sie Position nur, wenn beide Quellen garantiert dieselbe stabile Reihenfolge haben – im Zweifel immer über Matching Fields.
- Input 1 hat Vorrang. Bei ungleichen Mengen verarbeitet der Node so viele Items, wie in Input 1 stecken. Fünf Datensätze in Input 1, zehn in Input 2 – die überzähligen fünf aus Input 2 fallen laut n8n-Doku still weg. Das trifft besonders den Position-Modus und ist eine klassische Quelle für „ein paar Datensätze fehlen, aber keiner weiß warum“.
- Typen müssen zusammenpassen. Der Text
"3"und die Zahl3gelten standardmäßig als verschieden – der Schlüssel matcht dann nicht, obwohl er identisch aussieht. Die Option Fuzzy Compare toleriert solche Typunterschiede, aber die sauberere Lösung ist, die Werte vorher zu vereinheitlichen. Das ist kein Merge-Problem, sondern ein Datenthema: Wie Sie Schlüssel und Formate früh sauber halten, steht in Datenqualität vor der Automatisierung. - Mehrfachtreffer. Ein Kunde mit drei Bestellungen? Über Multiple Matches wählen Sie „Include All Matches“ (eine Zeile je Treffer) oder „Include First Match Only“ (nur der erste, der Rest fällt weg). Wer das übersieht, verliert entweder Datensätze oder wundert sich über plötzlich vervielfachte Zeilen.
Merge wartet – und reiht parallele Zweige wieder ein
Der Merge-Node führt Daten erst zusammen, wenn alle angeschlossenen Ströme verfügbar sind. Genau deshalb dient er auch als Sammelpunkt, um zwei parallel laufende Zweige eines Workflows wieder auf eine Spur zu bringen. In Kombination mit dem IF-Node gibt es dabei Feinheiten, wie sich verzweigte und wieder zusammengeführte Pfade verhalten – hier lohnt der Blick in die offizielle Dokumentation des Merge-Nodes. Wenn Sie nur einen der Eingänge unverändert weitergeben, aber trotzdem auf beide warten wollen, ist der vierte Modus Choose Branch das Mittel der Wahl: Er gibt wahlweise die Daten von Input 1 oder Input 2 aus, ohne sie zu verändern.
SQL Query: für alle, die in Joins denken
Seit n8n 1.49.0 gibt es den Modus SQL Query. Er behandelt die Eingänge als Tabellen input1, input2 und so weiter und lässt Sie den Abgleich als SQL schreiben:
SELECT * FROM input1 LEFT JOIN input2 ON input1.kundennummer = input2.id
Wer Joins ohnehin aus der Datenbankwelt gewohnt ist, ist damit oft schneller als durch mehrere Dropdowns – und kann Bedingungen ausdrücken, die über einen einzelnen Schlüssel hinausgehen. Der Modus nutzt intern eine SQL-Bibliothek für JavaScript; nicht jede exotische SQL-Funktion ist verfügbar, für die gängigen Joins reicht der Funktionsumfang aber gut aus.
Der rote Faden
Der Merge-Node wirkt kompliziert, weil er mehrere Aufgaben unter einem Namen bündelt. Sobald Sie aber die eine Frage vorab beantworten – stapeln oder verknüpfen, und wenn verknüpfen: über welchen Schlüssel und was passiert mit Nicht-Treffern – fällt die Wahl leicht. Zwei Quellen liefern übrigens selten von allein passende Schlüssel: Oft steckt die eine Seite in einer Tabelle wie Google Sheets oder Excel, die andere hinter einer API, deren vollständige Daten Sie erst über Pagination einsammeln müssen. Erst danach kommt der Merge-Node an die Reihe.
Wenn bei Ihnen an genau dieser Stelle Daten auseinanderlaufen – Bestellungen ohne Kunden, doppelte Zeilen, Reports mit Lücken –, schaue ich mir das im kostenlosen Prozess-Check an und ordne ein, wo der Fehler sitzt und wie belastbar sich die Verknüpfung bauen lässt. Häufig zeigt sich dabei, dass nicht der Merge-Node das Problem ist, sondern die Daten, die hineinlaufen. Wie tragfähige n8n-Workflows insgesamt aufgebaut sind, bespreche ich in der n8n-Beratung.