Zapier kostet schnell hunderte Euro im Monat, sobald Workflows komplexer werden. n8n ist die self-hosted Alternative: gleiche Konzepte, volle Kontrolle über Daten, und keine laufenden Kosten außer dem eigenen Server. Der Einstieg ist einfacher als gedacht.

Was ist n8n?

n8n (ausgesprochen “n-eight-n”) ist ein Open-Source-Workflow-Automatisierungstool mit visuellem Editor. Nodes werden per Drag-and-Drop verbunden, Daten fließen von einem Schritt zum nächsten. Über 400 Integrationen sind eingebaut — von HTTP-Requests über Datenbanken bis zu KI-Modellen.

Das Besondere: n8n kann vollständig self-hosted betrieben werden. Alle Daten bleiben auf deinem Server.

Installation mit Docker

Die einfachste Variante für den Einstieg:

docker run -d \
  --name n8n \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  n8nio/n8n

Danach erreichbar unter http://localhost:5678. Beim ersten Aufruf wird ein Admin-Account angelegt.

Produktiv: Docker Compose mit Postgres

Für den dauerhaften Betrieb empfiehlt sich eine externe Datenbank:

services:
  n8n:
    image: n8nio/n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=sicheres_passwort
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=sicheres_passwort
      - WEBHOOK_URL=https://n8n.deine-domain.de
    volumes:
      - n8n_data:/home/node/.n8n
    depends_on:
      - postgres

  postgres:
    image: postgres:16
    restart: unless-stopped
    environment:
      - POSTGRES_DB=n8n
      - POSTGRES_USER=n8n
      - POSTGRES_PASSWORD=sicheres_passwort
    volumes:
      - postgres_data:/var/lib/postgresql/data

volumes:
  n8n_data:
  postgres_data:

Grundkonzepte

Bevor der erste Workflow entsteht, helfen drei Begriffe:

Trigger: Jeder Workflow startet mit einem Trigger — einem Webhook, einem Schedule (Cron), einem manuellen Aufruf oder einem Event aus einer Integration.

Node: Ein einzelner Verarbeitungsschritt. Jede Node hat Inputs (Daten die reinkommen) und Outputs (Daten die rausgehen). Nodes können Daten transformieren, HTTP-Requests senden, Datenbanken abfragen oder KI-Modelle aufrufen.

Item: Die Dateneinheit in n8n. Jede Node verarbeitet eine Liste von Items. Wenn ein HTTP-Request ein Array von Objekten zurückgibt, hat die nächste Node mehrere Items zur Verfügung.

Erster Workflow: Täglicher Wetter-Report per Telegram

Ein konkretes Beispiel das alle Grundkonzepte zeigt:

  1. Schedule Trigger: Täglich um 7:00 Uhr
  2. HTTP Request: GET https://wttr.in/Berlin?format=3 — gibt die aktuelle Wetterlage zurück
  3. Telegram Node: Nachricht mit dem Ergebnis an einen Chat oder Bot senden

Nodes verbinden: Output des Triggers zieht man mit der Maus auf den Input des HTTP-Requests, HTTP-Request-Output auf Telegram. Fertig.

Praktisches Beispiel: Webhook → Verarbeitung → Antwort

Webhooks sind der mächtigste Einstiegspunkt. n8n generiert eine URL, externe Dienste können Daten dorthin senden.

Workflow: GitHub-Webhook bei neuem Issue → KI-Zusammenfassung → Slack-Benachrichtigung

Webhook (POST /webhook/github-issues)
  → IF: issue.action == "opened"
    → HTTP Request: Ollama API (Zusammenfassung generieren)
    → Slack: Nachricht in #dev-channel posten
  → else: Workflow beenden

Der Webhook-Node in n8n gibt dir eine URL wie https://n8n.example.com/webhook/github-issues. Diese URL trägst du in den GitHub-Repository-Settings unter Webhooks ein.

KI in n8n integrieren

n8n hat native Nodes für OpenAI, aber auch für lokale Modelle via HTTP-Request. Mit Ollama:

  1. HTTP Request Node mit Method POST
  2. URL: http://dein-server:11434/v1/chat/completions
  3. Body (JSON):
{
  "model": "llama3.2",
  "messages": [
    {"role": "system", "content": "Du bist ein hilfreicher Assistent."},
    {"role": "user", "content": "{{ $json.text }}"}
  ]
}

{{ $json.text }} ist n8n-Expression-Syntax — damit greifst du auf Daten aus vorherigen Nodes zu.

Seit n8n 1.x gibt es außerdem dedizierte AI Agent Nodes, die Reasoning und Tool-Use direkt im visuellen Editor ermöglichen.

Nützliche eingebaute Nodes

NodeVerwendung
HTTP RequestBeliebige REST-APIs ansprechen
CodeJavaScript oder Python direkt ausführen
IF / SwitchBedingte Verzweigungen
SetFelder umbenennen, ergänzen, entfernen
Split In BatchesGroße Listen in Batches verarbeiten
WaitWorkflow pausieren (z.B. auf Webhook-Antwort warten)
MergeMehrere Datenstränge zusammenführen
Postgres / MySQLDirekter Datenbankzugriff
Schedule TriggerCron-basierte Ausführung
WebhookHTTP-Endpunkt für eingehende Requests

Fehlerbehandlung

n8n bietet zwei Mechanismen:

Error Workflow: Ein separater Workflow der bei Fehler aufgerufen wird. Dort kannst du Alerts senden, Logs schreiben oder Retry-Logik implementieren. Einstellbar pro Workflow unter Settings → Error Workflow.

Try/Catch im Code Node:

try {
  const result = await $http.get('https://api.example.com/data');
  return [{ json: result }];
} catch (error) {
  return [{ json: { error: error.message, failed: true } }];
}

Tipps für den produktiven Betrieb

Credentials zentral verwalten: API-Keys niemals hart in Workflows eintragen. n8n hat einen eingebauten Credential-Store — alle sensiblen Daten dort ablegen, Nodes referenzieren die gespeicherten Credentials.

Workflows versionieren: n8n erlaubt den Export von Workflows als JSON. Diese JSONs gehören ins Git-Repository.

Executions-Log im Blick behalten: Unter Executions siehst du jeden Workflow-Durchlauf mit Input und Output jeder Node. Unschätzbar beim Debugging.

Queued Executions: Bei produktiven Workloads die Queue-Einstellung aktivieren (EXECUTIONS_MODE=queue + Redis) — verhindert parallele Ausführung desselben Workflows.

Fazit

n8n ist für Home-Server und kleine Teams das, was Zapier für Enterprise-Budgets ist — aber ohne monatliche Kosten und mit voller Datenkontrolle. Der visuelle Editor senkt die Einstiegshürde, der Code-Node gibt Flexibilität wenn es komplexer wird. Wer einmal einen produktiven Webhook-Workflow aufgebaut hat, findet schnell Dutzende weitere Anwendungsfälle im Alltag.