n8n Tutorial auf Deutsch: Deinen ersten Workflow erstellen und verstehen

Lerne n8n Schritt für Schritt kennen und baue deinen ersten Workflow, der Supportanfragen nach Priorität sortiert. Mit Screenshots und einfachen Testdaten verstehst du, wie Nodes, Expressions und Bedingungen zusammenspielen.

Bernd Fischer

Bernd Fischer

19. Okt 2026 · 5 Minuten Lesezeit

n8n Tutorial auf Deutsch: Deinen ersten Workflow erstellen und verstehen

Eine Supportanfrage kommt herein: Anna kann sich nicht anmelden. Die Anfrage enthält einen Namen, ein Thema und eine Priorität. Aus diesen Angaben soll eine lesbare Nachricht entstehen. Anschließend entscheidet der Workflow, ob die Anfrage als dringend oder normal behandelt wird.

Genau diesen Ablauf bauen wir in diesem n8n-Tutorial. Du lernst, wie du Daten anlegst, in nachfolgenden Schritten verwendest und anhand einer Bedingung verzweigst. Dabei kannst du nach jedem Schritt prüfen, was tatsächlich passiert.

Wir arbeiten mit einer simulierten Anfrage. Der Workflow versendet noch keine E-Mail und legt kein Ticket an. Dadurch kannst du die Grundlagen ohne externe Konten oder API-Schlüssel ausprobieren.

Unser fertiger Ablauf hat sechs Nodes:

flowchart TD
    A["Manual Trigger"] --> B["Testdaten erzeugen"]
    B --> C["Nachricht erzeugen"]
    C --> D{"Priorität gleich high?"}
    D -- true --> E["Dringender Fehler"]
    D -- false --> F["Normale Anfrage"]

Was du für dieses Tutorial brauchst

Du benötigst Zugang zu einer laufenden n8n-Instanz, entweder in n8n Cloud oder auf deinem eigenen Rechner beziehungsweise Server. Die Installation setzen wir hier voraus. Programmierkenntnisse brauchst du für das Beispiel nicht.

n8n verbindet einzelne Verarbeitungsschritte zu einem visuellen Workflow. Diese Schritte heißen Nodes. Ein Trigger startet den Ablauf. Danach können Nodes Daten bearbeiten, Bedingungen prüfen oder externe Dienste ansprechen. Ein konkreter Durchlauf heißt Execution.

Für den Einstieg genügt eine Frage: Welche Daten erhält eine Node, und welche gibt sie weiter? Genau das prüfen wir beim Aufbau.

1. Einen Workflow mit Manual Trigger anlegen

Erstelle in n8n einen neuen Workflow und nenne ihn Supportanfrage verarbeiten. Wähle als ersten Schritt den Manual Trigger. Je nach Oberfläche erscheint er in der Auswahl als manueller Start, etwa „Trigger manually“.

Dieser Trigger steht ganz am Anfang. Er startet unseren Workflow, wenn wir im Editor die Ausführung auslösen. So können wir selbst festlegen, wann welche Testdaten verarbeitet werden.

Manual Trigger als erster Schritt im n8n-Editor

Auf der Arbeitsfläche, dem Canvas, verbinden wir nun weitere Nodes mit diesem Startpunkt. Die Namen in der Anleitung beschreiben ihre Aufgaben. In den Screenshots können einzelne Nodes noch ihre Standardnamen tragen.

2. Eine Supportanfrage als Testdaten erzeugen

Klicke am Ausgang des Manual Triggers auf das Pluszeichen und suche nach Edit Fields. Die Node wird teilweise als Edit Fields (Set) angezeigt. Verbinde sie direkt mit dem Manual Trigger und benenne sie Testdaten erzeugen.

Wähle Manual Mapping. Lege über Add Field drei Felder an. Alle drei erhalten den Typ String, also Text, und einen festen Wert:

Feldname Typ Fester Wert
name String Anna
priority String high
topic String Login funktioniert nicht

Mit Execute step führst du diesen Schritt aus. Prüfe rechts im Output, ob alle drei Felder mit ihren Werten erscheinen.

Die erzeugten Supportdaten in der Tabellenansicht von n8n

Du kannst denselben Output auch als JSON betrachten. Der Datensatz enthält:

{
  "name": "Anna",
  "priority": "high",
  "topic": "Login funktioniert nicht"
}

n8n transportiert diesen Datensatz als ein Item. Für dieses Beispiel reicht es, sich darunter eine zusammengehörige Dateneinheit vorzustellen. Tabelle und JSON zeigen dieselben Daten in unterschiedlichen Darstellungen.

Unsere Testdaten könnten später aus einem Formular oder einer API stammen. Zunächst halten wir die Quelle bewusst einfach, damit wir uns auf die Verarbeitung konzentrieren können.

3. Mit einer Expression eine Nachricht erzeugen

Füge hinter Testdaten erzeugen eine zweite Edit Fields-Node hinzu und nenne sie Nachricht erzeugen. Ihr Input kommt vom Ausgang der ersten Edit-Fields-Node.

Lege im manuellen Mapping ein String-Feld namens message an. Schalte dessen Wert auf Expression und trage ein:

Supportanfrage von {{ $json.name }}: {{ $json.topic }}

Eine Expression liest Werte aus den Daten des Workflows. $json bezeichnet die JSON-Daten des aktuellen Items. Mit .name und .topic greifen wir auf die beiden Felder zu.

Du kannst ein Feld auch aus dem Input-Bereich in das Wertfeld ziehen. n8n erzeugt dabei die passende Expression. Ergänze anschließend den übrigen Text.

Eine Nachricht aus festem Text und Expressions zusammensetzen

Aktiviere in Nachricht erzeugen außerdem Include Other Input Fields. Falls zusätzlich eine Auswahl der zu übernehmenden Felder erscheint, übernimm alle Eingangsfelder. So bleiben name, priority und topic neben der neuen Nachricht erhalten.

Include Other Input Fields übernimmt die bisherigen Felder in den Output

Führe die Node aus und prüfe den Output. Er soll diese vier Felder enthalten:

{
  "name": "Anna",
  "priority": "high",
  "topic": "Login funktioniert nicht",
  "message": "Supportanfrage von Anna: Login funktioniert nicht"
}

Die Nachricht ist damit von den Eingangsdaten abhängig. Ändern wir später den Namen, passt sich die Ausgabe bei der nächsten Ausführung an, ohne dass wir die Expression umschreiben müssen.

4. Mit einer IF-Node nach Priorität verzweigen

Füge direkt hinter Nachricht erzeugen eine If-Node hinzu. Benenne sie Priorität prüfen und verbinde den Ausgang von Nachricht erzeugen mit ihrem Eingang.

Konfiguriere eine einzige Bedingung:

Einstellung Wert
Linker Wert, als Expression {{ $json.priority }}
Datentyp und Vergleich String: is equal to
Rechter Wert, als fester Text high

Die IF-Node prüft die Priorität der Supportanfrage

Die Node hat zwei Ausgänge. Bei erfüllter Bedingung läuft das Item über true, andernfalls über false. Für unsere Testdaten mit priority gleich high erwarten wir den true-Ausgang.

Die Anfrage mit hoher Priorität erfüllt die IF-Bedingung

Wichtig: Der false-Ausgang bedeutet „nicht high“. Er prüft nicht ausdrücklich auf low. Auch ein anderer Textwert würde die Gleichheitsbedingung nicht erfüllen. Für unser erstes Beispiel verwenden wir ausschließlich high und low.

5. Die beiden Ergebnisse ausgeben

Verbinde eine weitere Edit Fields-Node mit dem true-Ausgang von Priorität prüfen. Nenne sie Dringender Fehler. Lege darin im manuellen Mapping ein String-Feld result an. Sein Wert ist diese Expression:

Dringender Fehler: {{ $json.topic }}

Ausgabe für eine dringende Supportanfrage

An den false-Ausgang der IF-Node kommt eine separate Edit Fields-Node namens Normale Anfrage. Lege auch hier ein String-Feld result an, diesmal mit:

Normale Anfrage: {{ $json.topic }}

Ausgabe für eine normale Supportanfrage

Die beiden Ergebnis-Nodes werden nicht miteinander verbunden. Jede beendet ihren eigenen Zweig. Hier dürfen wir die Übernahme anderer Eingangsfelder ausschalten: Für die abschließende Ausgabe benötigen wir nur das neu erzeugte Feld result.

Damit haben wir alle sechs Nodes aufgebaut. Die beiden Endpunkte erzeugen Text im Workflow-Output. Ein späterer Ausbau könnte dort beispielsweise eine Benachrichtigung oder die Übergabe an ein Ticketsystem ergänzen.

6. Beide Wege bewusst testen

Starte den gesamten Workflow vom Manual Trigger aus. Mit priority gleich high muss Dringender Fehler diese Ausgabe liefern:

Dringender Fehler: Login funktioniert nicht

Ändere anschließend in Testdaten erzeugen die Priorität auf low. Starte den gesamten Workflow erneut. Jetzt erwarten wir bei Normale Anfrage:

Normale Anfrage: Login funktioniert nicht
Eingabe priority Erwarteter Ausgang der IF-Node Ergebnis-Node
high true Dringender Fehler
low false Normale Anfrage

Kontrolliere jeweils die Ergebnisse der aktuellen Ausführung. Ein grüner Node-Status allein sagt noch nicht, ob die richtige Nachricht entstanden ist oder die Anfrage fachlich korrekt zugeordnet wurde.

Als kleine Zusatzübung kannst du name auf Ben und topic auf Passwort zurücksetzen ändern. Die zusammengesetzte Nachricht und die abschließende Ausgabe müssen die neuen Werte übernehmen.

Warum fehlen plötzlich Felder im nächsten Schritt?

Eine wichtige Stolperfalle steckt in Nachricht erzeugen. Wenn diese Node ausschließlich message ausgibt, erhält Priorität prüfen das Feld priority nicht mehr im aktuellen Input. Auch topic fehlt dann für unsere Ergebnis-Nodes.

Öffne bei einem unerwarteten Ergebnis deshalb zuerst den Input der betroffenen Node. Fehlt dort das benötigte Feld, prüfe den Output ihres Vorgängers. In unserem Beispiel muss Nachricht erzeugen alle vier Felder weitergeben.

Der Schalter Include Other Input Fields steuert genau diese Übernahme. Je nach Node-Version kann die Oberfläche andere Bezeichnungen für die Auswahl der Ausgabefelder verwenden. Entscheidend ist der sichtbare Output: Sind priority und topic noch vorhanden?

Diese Kontrolle hilft auch bei größeren Workflows. Du kannst einen Fehler oft auf den konkreten Schritt eingrenzen, an dem sich die Datenstruktur verändert hat.

Was du jetzt selbst weiterbauen kannst

Du hast einen Workflow erstellt, der strukturierte Daten erzeugt, mit Expressions eine Nachricht zusammensetzt und anhand einer Bedingung zwei unterschiedliche Wege nimmt. Du hast außerdem beide Fälle getestet und geprüft, welche Felder zwischen den Nodes erhalten bleiben.

Speichere deinen Workflow. Für dieses Beispiel genügt die manuelle Ausführung im Editor. Der Manual Trigger startet keinen regelmäßigen oder ereignisgesteuerten Hintergrundbetrieb.

Der nächste Lernschritt sind mehrere Datensätze: Was unterscheidet ein Array innerhalb eines Items von mehreren n8n-Items? Und wann braucht ein Workflow tatsächlich eine Schleife? Diesem Datenmodell widmen wir uns im zweiten Artikel.

Wenn du n8n systematisch lernen möchtest, führt dich mein n8n-Buch von diesen Grundlagen zu APIs, Datenbanken und umfangreicheren Workflows. Das Beispiel dieses Artikels stammt aus dem ersten Kapitel. Im Buch bauen die weiteren Beispiele auf diesem Verständnis auf.

Weiterführende Dokumentation