Warum n8n + Claude die beste No-Code/Low-Code KI-Combo ist
Zapier und Make sind gut bekannt — aber n8n schlägt beide in einem entscheidenden Punkt: Du kannst es selbst hosten, hast vollständige Kontrolle über deine Daten, und die Kosten bleiben planbar. Kombiniert mit der Claude API entsteht eine Automatisierungsplattform, die weit über einfaches "Wenn-Dann" hinausgeht.
Was macht diese Kombination so stark? n8n übernimmt die Integrationsarbeit — über 400 native Konnektoren für Gmail, Slack, Notion, Airtable, Webhooks und mehr. Claude übernimmt das Denken: Texte verstehen, klassifizieren, zusammenfassen, strukturierte Antworten generieren. Das Ergebnis sind Workflows, die sich wie ein intelligenter Mitarbeiter verhalten, nicht wie ein simples Regelwerk.
Ein weiterer Vorteil gegenüber Custom-Code-Lösungen: n8n-Workflows sind visuell, versionierbar und können von nicht-technischen Teammitgliedern verstanden und angepasst werden. Wenn du Claude per API ansteuerst, brauchst du keine Python- oder Node.js-Kenntnisse — der HTTP Request Node erledigt alles.
Wann lohnt sich n8n + Claude? Immer dann, wenn du wiederkehrende Aufgaben hast, die Textverständnis erfordern: Emails sortieren, Inhalte zusammenfassen, Daten kategorisieren, automatische Antworten generieren. Für reine API-Integrationen ohne KI-Logik reicht n8n allein — Claude kostet extra und lohnt sich nur, wenn echter Sprachverstehens-Bedarf besteht.
Claude über den HTTP-Request Node aufrufen
n8n hat keinen nativen Claude-Knoten — aber das ist kein Problem. Der HTTP Request Node gibt dir vollen Zugriff auf die Anthropic Messages API. Zuerst speicherst du deinen API-Key als n8n-Credential oder Environment-Variable, dann konfigurierst du den Node wie folgt:
HTTP Request NodeGrundkonfiguration Claude API
# HTTP Request Node — Einstellungen im n8n UI
Method: POST
URL: https://api.anthropic.com/v1/messages
# Headers (unter "Add Header" eintragen)
x-api-key: {{ $env.ANTHROPIC_API_KEY }}
anthropic-version: 2023-06-01
content-type: application/json
# Body — "Send Body" aktivieren, Content Type: JSON
{
"model": "claude-haiku-4-5",
"max_tokens": 512,
"messages": [
{
"role": "user",
"content": "{{ $json.prompt }}"
}
]
}
# Antwort auslesen im nachfolgenden Node:
# {{ $json.content[0].text }}
API-Key sicher speichern: Trage den Anthropic API-Key niemals direkt in den Workflow-Body ein. Nutze stattdessen n8n Environment Variables (Settings → Variables) oder einen Custom Credentials Type. Andernfalls ist der Key im Workflow-JSON sichtbar und wird beim Export mitgeteilt.
Das Ergebnis von Claude kommt als JSON zurück. Der eigentliche Antworttext steckt unter content[0].text. Im nächsten Node kannst du diesen Wert dann weiterverarbeiten — zum Beispiel in ein Set Node schreiben, mit einem IF Node verzweigen oder direkt in eine Datenbank speichern.
Workflow 1: Gmail-Klassifizierung mit automatischem Label
Dieses Beispiel zeigt einen vollständigen Workflow: Neue Gmail-Emails werden alle 5 Minuten abgerufen, an Claude zur Klassifizierung gesendet, und dann automatisch gelabelt.
Gmail → Claude → LabelEmail-Klassifizierung
# Workflow-Knoten in Reihenfolge:
# [1] Gmail Trigger — alle 5 Min neue Emails prüfen
# [2] HTTP Request — Claude Haiku aufrufen
# [3] JSON Parse — Antwort strukturieren
# [4] Switch — nach Kategorie verzweigen
# [5] Gmail Node — Label setzen
# HTTP Request Body (Schritt 2):
{
"model": "claude-haiku-4-5",
"max_tokens": 256,
"messages": [{
"role": "user",
"content": "Klassifiziere diese Email als JSON.\nBetreff: {{ $json.subject }}\nAbsender: {{ $json.from }}\nInhalt (erste 300 Zeichen): {{ $json.snippet }}\n\nAntworte NUR mit diesem JSON-Format:\n{\"label\": \"Rechnung|Support|Newsletter|Bewerbung|Spam|Sonstiges\", \"prioritaet\": \"hoch|mittel|niedrig\"}"
}]
}
# Code Node nach HTTP Request — JSON parsen:
const raw = items[0].json.content[0].text;
const result = JSON.parse(raw);
return [{ json: { label: result.label, prioritaet: result.prioritaet, emailId: items[0].json.emailId } }];
# Switch Node — Bedingungen:
# label == "Rechnung" → Gmail Label "Finanzen" setzen
# label == "Support" → Gmail Label "Support" + Slack Notify
# label == "Spam" → Direkt in Spam verschieben
# label == "Bewerbung" → Gmail Label "HR" + Notion-Eintrag
Strukturierte Ausgabe erzwingen: Bitte Claude immer explizit um JSON-Output mit festem Schema. Schreibe im Prompt: "Antworte NUR mit diesem JSON, ohne zusätzlichen Text". Claude Haiku ist dabei sehr zuverlässig — und kostet für einfache Klassifizierungsaufgaben weniger als 0,001 € pro Email.
Workflow 2: RSS-zu-Notion Content-Pipeline
Dieser Workflow liest stündlich RSS-Feeds von Tech-Blogs, lässt Claude jeden Artikel auf Deutsch zusammenfassen und relevante Punkte herausarbeiten, und legt das Ergebnis als neuen Eintrag in Notion an.
RSS → Claude → NotionContent-Pipeline
# Workflow-Knoten:
# [1] Schedule Trigger — stündlich
# [2] RSS Read — mehrere Feed-URLs
# [3] IF — bereits in Notion? (Dedup via URL-Check)
# [4] HTTP Request — Artikel-Volltext via Firecrawl/Jina AI holen
# [5] HTTP Request — Claude Sonnet zusammenfassen
# [6] Notion — neuen Datenbank-Eintrag anlegen
# RSS Feed Node — mehrere Feeds parallel (Split in Batches):
Feed URLs:
https://hnrss.org/frontpage
https://feeds.feedburner.com/TechCrunch/
https://www.heise.de/rss/heise.rdf
# Claude-Prompt (Schritt 5):
{
"model": "claude-sonnet-4-5",
"max_tokens": 800,
"messages": [{
"role": "user",
"content": "Analysiere diesen Artikel und antworte auf Deutsch als JSON:\nTitel: {{ $json.title }}\nInhalt: {{ $json.fulltext }}\n\nFormat:\n{\"zusammenfassung\": \"3-4 Sätze\", \"key_insights\": [\"Punkt 1\", \"Punkt 2\", \"Punkt 3\"], \"relevanz_score\": 1-10, \"tags\": [\"tag1\", \"tag2\"]}"
}]
}
# Notion Node (Schritt 6) — Felder befüllen:
Title: {{ $json.title }}
URL: {{ $json.link }}
Summary: {{ $json.claude_result.zusammenfassung }}
Insights: {{ $json.claude_result.key_insights.join(', ') }}
Relevanz: {{ $json.claude_result.relevanz_score }}
Tags: {{ $json.claude_result.tags }}
Datum: {{ $now.toISOString() }}
Artikel-Volltext extrahieren: RSS-Feeds liefern oft nur Teasertexte. Für eine sinnvolle Zusammenfassung brauchst du den Volltext. Nutze den HTTP Request Node mit einem Scraping-Dienst wie Jina Reader (https://r.jina.ai/{{ $json.link }}) — das gibt dir sauberen Markdown-Text ohne JavaScript-Probleme.
Workflow 3: Support-Ticket-Triage via Webhook
Eingehende Support-Anfragen über ein Kontaktformular werden per Webhook empfangen, von Claude priorisiert und mit einer Erstantwort versehen — bevor ein Mensch auch nur draufschaut.
Webhook → Claude → AntwortSupport-Triage
# Workflow-Knoten:
# [1] Webhook — POST /webhook/support
# [2] HTTP Request — Claude analysiert Ticket
# [3] Switch — nach Priorität verzweigen
# [4a] P0/P1: Slack-Alert + sofort Email zurück
# [4b] P2/P3: Nur Email + Notion-Eintrag
# Webhook empfängt (vom Kontaktformular):
{
"name": "Max Mustermann",
"email": "max@example.com",
"subject": "Zahlung fehlgeschlagen",
"message": "Mein Abo wurde abgebucht aber ich habe keinen Zugang..."
}
# Claude-Prompt für Triage:
{
"model": "claude-haiku-4-5",
"max_tokens": 600,
"messages": [{
"role": "user",
"content": "Du bist ein Support-Triage-System. Analysiere diese Anfrage:\nName: {{ $json.name }}\nBetreff: {{ $json.subject }}\nNachricht: {{ $json.message }}\n\nAntworte NUR als JSON:\n{\"prioritaet\": \"P0-Kritisch|P1-Hoch|P2-Mittel|P3-Niedrig\", \"kategorie\": \"Billing|Technisch|Allgemein|Feedback\", \"erstantwort\": \"Höfliche Bestätigungsemail auf Deutsch, max 80 Wörter\", \"interne_notiz\": \"Kurze Einschätzung für Support-Mitarbeiter\"}"
}]
}
# Switch Node — Bedingungen für Routing:
# prioritaet enthält "P0" → Slack #alerts + sofort beantworten
# prioritaet enthält "P1" → Slack #support + Email innerhalb 1h
# Default (P2/P3) → Email + Notion-Eintrag zur manuellen Bearbeitung
# Gmail Node — Erstantwort senden:
To: {{ $json.email }}
Subject: Re: {{ $json.subject }} [Ticket #{{ $now.toMillis() }}]
Body: {{ $json.claude_result.erstantwort }}
Self-hosted n8n vs. n8n Cloud: Entscheidungshilfe
Diese Frage stellt sich jedes Team früher oder später. Hier die ehrliche Abwägung:
| Kriterium |
Self-hosted (VPS) |
n8n Cloud |
| Kosten |
~10–20 €/Mo VPS (unlimitierte Workflows) |
Ab 20 €/Mo — Limits nach Ausführungen |
| Datenschutz |
Volle Kontrolle, DSGVO einfacher |
Daten liegen bei n8n (EU-Region wählbar) |
| Setup |
Docker + Reverse Proxy nötig (~2h) |
Sofort einsatzbereit, kein Setup |
| Updates |
Manuell oder per Watchtower |
Automatisch |
| Custom Nodes |
Volle npm-Freiheit |
Eingeschränkt (Whitelist) |
| Support |
Community-Forum |
E-Mail-Support im bezahlten Plan |
Empfehlung: Für Einzelpersonen und kleine Teams mit mehr als 3 aktiven Workflows lohnt sich Self-hosting fast immer. Ein VPS mit 2 GB RAM reicht für n8n völlig aus. Für Enterprise-Einsatz mit SLA-Anforderungen ist n8n Cloud einfacher zu argumentieren.
Schnell-Setup Self-hosted n8n: Mit Docker und einem Reverse Proxy (Caddy oder Traefik) läuft n8n in unter 30 Minuten produktionsreif. Nutze das offizielle docker-compose.yml von n8n und sichere die Instanz mit Basic Auth oder OAuth2 ab — das ist in der Konfigurationsdatei direkt einstellbar.
Fehlerbehandlung in n8n-Workflows
Produktive Workflows brauchen robuste Fehlerbehandlung. n8n bietet dafür zwei Werkzeuge: den Error Trigger Node und die Retry-on-Fail-Option an jedem Node.
Error HandlingError Trigger + Retry konfigurieren
# 1. Retry-on-Fail am HTTP Request Node aktivieren:
# → Node Settings → "On Error: Retry" → Max Retries: 3, Wait: 1000ms
# Sinnvoll für: temporäre API-Fehler (429 Rate Limit, 503 Timeout)
# 2. Error Trigger Workflow (separater Workflow):
# → Im Hauptworkflow: Settings → "Error Workflow" → Error-Handler-Workflow wählen
# → Error Trigger gibt automatisch diese Daten weiter:
{
"execution": {
"id": "{{ $execution.id }}",
"url": "https://n8n.example.com/execution/{{ $execution.id }}",
"workflowId": "{{ $workflow.id }}",
"workflowName": "{{ $workflow.name }}"
},
"error": {
"message": "{{ $json.error.message }}",
"node": "{{ $json.error.node.name }}"
}
}
# Error-Handler sendet Slack-Alert:
Workflow "{{ $json.execution.workflowName }}" fehlgeschlagen
Node: {{ $json.error.node }}
Fehler: {{ $json.error.message }}
Link: {{ $json.execution.url }}
# 3. Claude-spezifische Fehlerbehandlung:
# 429 Too Many Requests → Retry mit Exponential Backoff
# 400 Bad Request → Prompt kürzen (max_tokens oder Inputlänge)
# 500 Server Error → Retry 3x, dann Slack-Alert
JSON-Parse-Fehler abfangen: Claude antwortet manchmal mit Text vor oder nach dem JSON. Nutze ein Code Node mit JSON.parse(text.match(/\{[\s\S]*\}/)?.[0]) statt direktem JSON.parse(text). Das fängt die häufigste Fehlerquelle bei Claude-Outputs ab.
Kosten optimieren: Haiku vs. Sonnet richtig einsetzen
Claude Haiku ist nicht nur günstiger — für viele Aufgaben in n8n-Workflows ist es die bessere Wahl. Die Faustregeln:
KostenoptimierungModell-Auswahl nach Aufgabentyp
# Claude Haiku (claude-haiku-4-5) verwenden für:
# - Klassifizierungen (Spam/Nicht-Spam, Kategorie, Priorität)
# - Ja/Nein-Entscheidungen
# - Extraktion strukturierter Daten aus kurzen Texten
# - Einfache Übersetzungen
# - Sentiment-Analyse
# Kosten: ~0,001 € pro 1.000 Input-Token
# Claude Sonnet (claude-sonnet-4-5) verwenden für:
# - Längere Textzusammenfassungen (>500 Wörter Input)
# - Content-Erstellung (Blog-Drafts, Newsletter)
# - Komplexe Analyse mit Nuancen
# - Wenn Ausgabequalität kritisch ist
# Kosten: ~0,003 € pro 1.000 Input-Token
# Prompt-Caching (spart bis zu 90% bei wiederholtem System-Prompt):
{
"model": "claude-haiku-4-5",
"system": [{
"type": "text",
"text": "Du bist ein Email-Klassifizierungssystem für Agentic Movers...",
"cache_control": { "type": "ephemeral" }
}],
"messages": [{ "role": "user", "content": "{{ $json.email_text }}" }]
}
# Token-Verbrauch in n8n tracken:
# HTTP Response enthält usage.input_tokens + usage.output_tokens
# → Airtable/Notion-Node: täglich summieren für Kostenkontrolle
Mit diesen drei Regeln kannst du die Claude-Kosten in typischen n8n-Workflows um 60–80% senken gegenüber einem Ansatz, der überall Sonnet einsetzt: Haiku für Screening und Klassifizierung, Sonnet nur für finale Ausgaben, und Prompt-Caching für wiederkehrende System-Prompts.
Echte Kosten-Benchmark: Ein Workflow mit 500 eingehenden Emails pro Tag (Haiku-Klassifizierung, ~200 Token/Email) kostet rund 0,10 € täglich. Die gleiche Aufgabe mit Sonnet wäre ~0,30 € — dreimal teurer, ohne messbaren Qualitätsunterschied bei einfacher Klassifizierung.
Fazit: n8n + Claude als Automatisierungs-Stack
Die Kombination aus n8n und Claude ergibt einen Automatisierungs-Stack, der ohne teure SaaS-Abonnements auskommt und trotzdem echte KI-Intelligenz bietet. Die drei Workflow-Muster in diesem Artikel — Gmail-Klassifizierung, Content-Pipeline und Support-Triage — decken die häufigsten Anwendungsfälle ab und lassen sich direkt als Startpunkt für eigene Anpassungen nutzen.
Der nächste Schritt: Starte mit dem einfachsten Workflow — der Email-Klassifizierung. Er ist in unter einer Stunde aufgebaut und liefert sofort messbaren Nutzen. Von dort aus kannst du schrittweise komplexere Patterns hinzufügen.
n8n + Claude Workflows im Kurs
Im Agentic Movers Kurs: vollständige n8n-Workflow-Bibliothek mit 15+ Claude-Integrationen, Export-ready Templates, Fehlerbehandlungs-Patterns und Kosten-Tracking-Dashboard — sofort einsatzbereit.
14 Tage kostenlos testen →