Begriff
Node (n8n)
Warum wichtig?
Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.
Ein Node ist ein einzelner Arbeitsschritt in deinem Workflow. Denk an ein Fließband in einer Fabrik.
- Station 1: Paket aufs Band legen (Trigger Node).
- Station 2: Etikett scannen (Read Node).
- Station 3: Farbe aufsprühen (Action Node).
- Station 4: Paket wegnehmen (End).
Jeder dieser Stationen ist ein Node. Er nimmt etwas entgegen (Input), macht etwas damit (Verarbeitung), und gibt das Ergebnis weiter (Output). Du baust deine Automatisierung, indem du diese Bausteine hintereinander hängst.
Merksatz: Der kleinste funktionale Baustein in n8n, der eine spezifische Aufgabe erfüllt.
Die wichtigsten Node-Typen
- Trigger: Der Startschuss. (Hat nur einen Ausgang rechts, keinen Eingang links).
- Beispiel: "Webhook", "Cron (Zeit)", "App Trigger (z. B. neue E-Mail)".
- Action: Macht etwas in einer App.
- Beispiel: "Google Sheets: Add Row", "Slack: Send Message", "Gmail: Send Email".
- Core / Logic: Verändert den Datenfluss intern.
- IF-Node: Weiche (Ja/Nein).
- Switch-Node: Mehrfach-Verteiler (Weg A, B, C oder D).
- Set-Node: Erstellt oder ändert Variablen ("Setze Variable 'Preis' auf 100").
Eingabe & Ausgabe
Jeder Node hat links einen Eingang (Input) und rechts einen Ausgang (Output). Wenn du sie verbindest, fließen die Daten (Vierecke) von links nach rechts durch. Du kannst im Node auf die Daten des vorherigen Nodes zugreifen ("Nimm die E-Mail-Adresse aus Schritt 1").
1. Data Structure (Items)
n8n arbeitet objekt-basiert.
Daten fließen nicht als "Text", sondern als Liste von Items (Objekten).
Stell dir vor, der Trigger liefert 10 neue Kunden.
Der nächste Node (z. B. "Send Email") wird 10 mal ausgeführt – einmal für jeden Kunden.
Das ist das automatische Looping von n8n.
In Programmiersprachen müsstest du schreiben: for (kunde in kunden) { sendeEmail(kunde) }.
n8n macht das implizit.
2. Transformation (JavaScript)
Oft passen die Daten nicht.
- App A liefert Datum als:
2023-12-01. - App B braucht Datum als:
01.12.2023. Hier brauchst du Transformations-Nodes. Für Profis gibt es den Code Node. Hier kannst du echtes JavaScript (oder Python) schreiben, um Daten beliebig zu massieren, zu sortieren oder Berechnungen durchzuführen. Beispiel:return items.map(item => { item.json.neu = item.json.alt * 2; return item; });
3. Pinned Data (Debugging)
Beim Bauen willst du nicht jedes Mal warten, bis eine echte E-Mail kommt. Du kannst Daten an einem Node anpinnen (Pin Data). n8n nutzt dann für alle folgenden Tests immer diese festgepinnten Test-Daten, als wären sie gerade frisch reingekommen. Das macht das Entwickeln extrem schnell und sicher.
1. Execute Once vs. Iterate
Ein Node wird pro eingehendem Item ausgeführt (Loop).
Manchmal ist das fatal. Angenommen, du listest 50 Slack-User (50 Items) und willst dann ein Announcement an den Channel posten. Wenn der Slack-Node loopt, schickt er 50 mal dasselbe Announcement.
In den Node-Settings aktivierst du dann "Execute Once". n8n ignoriert das Array von 50 Items, pickt sich das erste (item[0]), führt die Aktion exakt einmal aus und verwirft die restlichen Inputs für diesen spezifischen Step.
2. Node.js Sandbox (Code Node Safety)
Der Code Node ist mächtig, aber ein extremes Sicherheitsrisiko im Cloud/Enterprise-Umfeld.
Könnte ein Mitarbeiter require('fs').rmdirSync('/', { recursive: true }) eintippen?
n8n kontert mit der Node.js Sandbox (VM2). Wenn Vm2 aktiviert ist (N8N_VM2_ENABLE=true), läuft der Custom-JS-Code isoliert. Module wie fs (Filesystem) oder child_process (Terminal) sind hart gesperrt. Der User kann nur simple Mathematik und JSON-Manipulationen im Arbeitsspeicher vornehmen, ohne den Host-Container hacken zu können.
3. Binary Data Handling
Daten sind nicht nur JSON-Text. Was ist, wenn der Node ein 5MB PDF-Dokument runterlädt?
n8n lädt das nicht ins JSON-Array. Das würde den RAM sprengen und in V8-Engine Out-Of-Memory-Crashes enden.
n8n trennt JSON-Daten und Binaries. Das PDF wandert direkt auf die Festplatte (ins Temp-Verzeichnis oder via N8N_DEFAULT_BINARY_DATA_MODE=filesystem). Im Item existiert nur ein magischer, winziger Pointer unter der Property binary.data mit Mime-Type und Dateigröße. Folgende Nodes können mittels dieses Pointers das PDF lesen und weiterleiten.
Quick-Check
Was ist der Unterschied zwischen einem Trigger-Node und einem Action-Node?
Der Trigger startet den Workflow (Auslöser). Die Action führt eine Tat aus (E-Mail senden, Zeile schreiben).Warum führt n8n einen Node manchmal mehrfach aus, obwohl er nur einmal im Workflow steht?
Weil n8n automatisch über jedes eingehende Item iteriert ("Auto-Looping"). 10 Input-Items = 10 Ausführungen.Wann würdest du einen Code-Node statt eines normalen Nodes verwenden?
Wenn ich komplexe Berechnungen oder Datenumformungen brauche, für die es keinen fertigen Node gibt oder die mit JavaScript schneller gehen.