Dein erster KI-Agent in n8n: Anfragen-Vorqualifikation in 30 Minuten
Praktischer Bauplan für den ersten KI-Agenten mit n8n: Trigger, OpenAI-Node, CRM-Lookup, Outlook-Entwurf. Mit funktionierender Vorlage und den Stellen, an denen die meisten scheitern.
Dein erster KI-Agent in n8n: Anfragen-Vorqualifikation in 30 Minuten
Bisher haben wir über Strategie geredet: die drei Wege, OpenAI-Setup, Azure-Setup, Ollama lokal. Jetzt bauen wir.
Der Use Case: Vorqualifikation eingehender Kundenanfragen. Wir nehmen das Beispiel aus dem Pillar-Guide und bauen es real – mit n8n als Orchestrator, OpenAI (oder Azure, oder Ollama – egal) als Sprachmodell-Backend, einem CRM-Lookup und einem E-Mail-Entwurf am Ende.
Wenn du diesem Artikel folgst, hast du am Ende einen funktionierenden Agenten. Nicht ein Tutorial-Beispiel mit Hello-World, sondern etwas, das du morgen in deine eigene Anfragen-Pipeline schalten kannst.
Warum n8n, nicht LangChain oder Make
Drei Optionen für den Workflow-Layer: n8n, Make, LangChain. Wir nutzen n8n. Die Begründung kurz:
n8n ist Open Source, selbst-hostbar (wichtig für DSGVO), hat eine grafische Oberfläche, kann aber auch Code (JavaScript). Du kannst ihn auf einem 5-Euro-Hetzner-Server betreiben oder bei uns hosten lassen. Datenfluss bleibt komplett bei dir.
Make (früher Integromat) ist die Cloud-only-Alternative. Schöner, schneller einzusteigen, aber alle Daten fließen über deren Schweizer Server. Für DSGVO-sensible Use Cases keine Option.
LangChain ist Code-First, kein visueller Editor. Mehr Power, mehr Komplexität, längere Entwicklungszeit. Wenn du eh entwickelst, super. Wenn du als Mittelständler ohne Dev-Team etwas bauen willst, falsche Wahl.
n8n ist für KMU der Default – self-hostbar, grafisch, kein Code-Learning, Daten bleiben bei dir.
Vorbereitung: was du brauchst
Bevor du anfängst, drei Sachen klar haben:
n8n läuft. Entweder cloud (n8n.io, ab 20 Euro/Monat) oder selbst gehostet. Wenn du selbst hostest: Eine Hetzner-CX22-VM mit Docker reicht für den Anfang. Installation per Docker-Compose ist eine Stunde Arbeit – wir hosten n8n auch in Beratungsmandaten.
API-Zugang zum LLM. OpenAI-Key, Azure-Endpoint+Key, oder lokaler Ollama-Endpoint. Egal welcher der drei Wege, n8n hat Nodes für alle.
Quelle der Anfragen. Webformular auf eurer Website, IMAP-Postfach, Webhook von einem Marketing-Tool. Wir nehmen das Webformular als Beispiel, weil das das Häufigste ist.
Der Workflow im Überblick
Bevor wir klicken, malen wir den Workflow auf. Ein Agent ist immer eine Sequenz von Schritten mit klarer Verantwortung pro Schritt:
Dieses Thema vertiefen? 32 KI-Rezepte mit Kostenrahmen als kostenloses PDF.
- Trigger: Webhook empfängt Anfrage aus dem Kontaktformular
- Klassifizierung: LLM kategorisiert (Angebotsanfrage / Support / Spam / Sonstiges)
- Routing: Bei Spam oder Sonstigem: Schluss. Bei Angebotsanfrage oder Support: weiter
- CRM-Lookup: Prüfen, ob Absender Bestandskunde ist
- Extraktion: LLM zieht strukturierte Felder raus (Leistungsart, Umfang, Dringlichkeit)
- Antwort-Entwurf: LLM schreibt Antwort in Firmen-Tonalität
- Übergabe: Entwurf landet als E-Mail-Entwurf bei zuständigem Sachbearbeiter
Sieben Schritte. Wir bauen sie der Reihe nach.
Schritt 1: Webhook-Trigger
In n8n: New Workflow → Add first step → Webhook.
In den Webhook-Settings:
- HTTP Method: POST
- Path:
kontakt-anfrage(eigener Pfad) - Authentication: Header Auth – generier einen langen Random-String als Secret
- Response Mode: Last Node (n8n antwortet, wenn der Workflow durch ist)
n8n zeigt dir die Webhook-URL, etwa https://deine-n8n-instanz.de/webhook/kontakt-anfrage. Diese URL trägst du in deinem Kontaktformular als POST-Endpunkt ein.
Test: Im n8n-Editor "Test workflow" klicken, dann eine echte Anfrage über das Formular schicken. Wenn n8n den Webhook empfängt, siehst du die Daten als JSON. Wenn nicht, ist der Pfad falsch oder das Header-Auth-Secret stimmt nicht.
Schritt 2: Klassifizierung mit LLM
Nach dem Webhook-Node: + → AI → OpenAI → Message a Model. (Wenn du Azure nutzt, gibt's einen separaten Azure-OpenAI-Node mit denselben Settings.)
Konfiguration:
Credential: Dein OpenAI-Key (einmalig in n8n hinterlegen, dann wiederverwendbar)
Resource: Chat
Operation: Message a Model
Model: gpt-4o-mini (für Klassifikation reicht das, deutlich billiger als gpt-4o)
System-Prompt:
Du bist ein Klassifizierungs-Assistent für eingehende
Kundenanfragen einer Bauunternehmung.
Antworte ausschließlich mit einem JSON-Objekt der Form:
{"kategorie": "angebot" | "support" | "spam" | "sonstiges"}
Keine Erklärung, kein Fließtext.
User-Message: {{ $json.body.nachricht }} (Verweis auf das Nachricht-Feld aus dem Webhook)
Wichtig: Response Format auf JSON Object stellen. Sonst gibt das Modell manchmal Markdown-formatierte Antworten zurück und der Workflow bricht.
Test mit der Anfrage von eben. Du solltest ein { "kategorie": "angebot" } oder ähnlich zurückbekommen.
Schritt 3: Routing über IF-Node
Nach dem Klassifizierungs-Node: + → Flow → IF.
Bedingung: {{ $json.message.content.kategorie }} ist not in spam, sonstiges.
Der IF-Node teilt den Workflow in zwei Pfade. Auf dem "false"-Pfad (Spam/Sonstiges) endet der Workflow. Optional: Bei Spam ein Logging-Eintrag, bei Sonstiges eine Verschiebung in einen Fallback-Ordner.
Auf dem "true"-Pfad geht's weiter mit den nächsten Schritten.
Schritt 4: CRM-Lookup
Hier wird's CRM-spezifisch. Wir zeigen es für ein generisches REST-API-CRM (HubSpot, Pipedrive, Zoho funktionieren ähnlich).
Nach dem IF-Node (true-Pfad): + → HTTP Request.
Method: GET
URL: https://api.hubapi.com/contacts/v1/contact/email/{{ $('Webhook').first().json.body.email }}/profile
Authentication: Header Auth → Bearer Token (HubSpot Private App Token)
Response Code Setting: "Continue on Error" aktivieren – wenn der Kontakt nicht existiert, kommt 404, und der Workflow soll trotzdem weiterlaufen.
Im nächsten Schritt nutzen wir die Existenz oder Abwesenheit dieses Kontakts.
Schritt 5: Extraktion strukturierter Felder
Zweiter LLM-Call. Diesmal extrahieren wir die wichtigen Informationen aus der Anfrage in ein strukturiertes Format.
+ → AI → OpenAI → Message a Model.
Model: gpt-4o (für komplexe Extraktion)
System-Prompt:
Extrahiere aus der Kundenanfrage folgende Felder als JSON:
{
"leistungsart": "Welche Leistung wird angefragt?",
"umfang": "Geschätzter Umfang in Worten oder offen",
"dringlichkeit": "hoch" | "normal" | "niedrig",
"rueckfragen": ["Welche Informationen fehlen für ein
verbindliches Angebot?"]
}
Wenn Information fehlt: null verwenden, nicht raten.
User-Message: {{ $('Webhook').first().json.body.nachricht }}
Schritt 6: Antwort-Entwurf schreiben
Dritter LLM-Call. Hier baut der Agent den eigentlichen Mehrwert: einen menschlich klingenden Antwort-Entwurf.
Zwei Varianten je nachdem, ob es ein Bestandskunde ist oder nicht. Bau das mit zwei separaten OpenAI-Nodes nach einem zweiten IF-Node, der prüft ob der CRM-Lookup einen Treffer hatte.
Beispiel-Prompt für Bestandskunden:
Du bist Sachbearbeiter bei [Firmenname]. Schreibe einen
Antwort-Entwurf an einen BESTANDSKUNDEN.
Tonalität: höflich-direkt, kein Marketing-Sprech.
Begrüßung mit Vorname (aus CRM-Daten).
Beziehe dich konkret auf seine Anfrage.
Stelle die Rückfragen, falls welche im JSON stehen.
Schließe mit Hinweis auf Antwortzeit (24 Stunden).
Unterschrift offen lassen ("Ihr Team von [Firmenname]").
Variante für Neukunden: leicht andere Begrüßung, Kurzvorstellung der Firma im ersten Satz, sonst gleich.
Schritt 7: Übergabe als E-Mail-Entwurf
Hier kommt der entscheidende Punkt: Der Agent versendet die Antwort nicht selbst. Er legt sie als Entwurf im Postfach des Sachbearbeiters ab.
Für Microsoft 365: + → Microsoft Outlook → Draft → Create. Du brauchst einmalig die OAuth-Authentifizierung gegen euer Microsoft-365-Konto.
To Recipients: {{ $('Webhook').first().json.body.email }}
Subject: AW: Ihre Anfrage vom {{ $now.format('DD.MM.YYYY') }}
Body Content Type: HTML
Body: {{ $('OpenAI Antwort-Entwurf').first().json.message.content }}
Save to Sent: aus (es ist ja ein Entwurf, soll nicht versendet werden)
Optional: Eine Slack/Teams-Benachrichtigung an den Sachbearbeiter, dass ein neuer Entwurf bereitliegt. + → Slack → Send Message.
Was am Anfang schiefgeht (und wie du es fixt)
Aus Erfahrung – die fünf häufigsten Probleme bei der ersten Inbetriebnahme:
JSON-Parse-Fehler. LLMs verpacken JSON gern in Markdown-Codeblöcke. Fix: Response Format → JSON Object in den OpenAI-Settings, plus im Prompt explizit "JSON only, keine Codeblöcke". Beides, einzeln reicht nicht.
Webhook-Daten-Struktur falsch. Je nach Formular-Anbieter (Typeform vs. eigenes HTML-Form vs. WordPress Contact Form 7) ist die JSON-Struktur unterschiedlich. Im n8n-Editor kannst du den letzten Webhook-Aufruf inspizieren und siehst genau, wo welche Felder liegen. Erst danach Verweise schreiben.
Halluzinierte CRM-Daten. Wenn der CRM-Lookup nichts findet (404), greift das LLM trotzdem manchmal auf "verfügbare Daten" zurück und erfindet einen Vornamen. Lösung: Im System-Prompt explizit "wenn kein CRM-Datensatz vorliegt, neutrale Anrede verwenden" – und im Code prüfen, ob das CRM-Resultat existiert.
Kosten-Eskalation. Wenn dein Webhook von einem Spam-Bot mit 10.000 Anfragen pro Stunde geflutet wird, wird teuer. Lösung: Vor dem ersten LLM-Call eine Rate-Limit-Logik (n8n hat keine native, aber du kannst mit Static Data arbeiten) und ein Hard Limit auf der OpenAI-Seite.
E-Mail-Entwurf landet im falschen Postfach. Standard ist das Postfach des n8n-Authentifizierten Users. Wenn du den Entwurf in einem Shared Mailbox haben willst, musst du den Outlook-Node entsprechend konfigurieren.
Wann der Agent reif für Live-Betrieb ist
Bevor du den Workflow scharfschaltest, drei Tests:
20 historische Anfragen durchspielen. Nimm die letzten 20 Anfragen aus eurem Postfach und lass sie durch den Workflow laufen. Vergleich die generierten Entwürfe mit dem, was die Sachbearbeiter damals tatsächlich geschrieben haben. Übereinstimmung bei mindestens 70 Prozent? Reif.
Spam-Anfragen testen. Generier ein paar offensichtliche Spam-Texte ("Buy cheap viagra", "Investment opportunity") und prüf, ob der Workflow korrekt klassifiziert. Wenn nicht: Klassifizierungs-Prompt schärfen.
Edge Cases. Eine sehr lange Anfrage (5.000 Wörter Code-Snippet drin), eine sehr kurze ("Brauch Hilfe"), eine in einer Fremdsprache. Was passiert? Brechen die Schritte sauber ab oder produziert das LLM Müll?
Wenn alle drei Tests sauber durchlaufen, kannst du scharf schalten. Aber selbst dann: Die ersten 100 Live-Anfragen werden manuell geprüft, bevor der Sachbearbeiter rausschickt. Das ist die Mensch-im-Loop-Phase.
Was du als nächstes erweitern kannst
Der Agent läuft. Was kommt danach? Drei sinnvolle Erweiterungen:
Anhänge analysieren. Wenn die Anfrage eine PDF (Lastenheft, Bauplan) anhängt, kann der Agent das Dokument einlesen, Kernpunkte extrahieren und in den Antwort-Entwurf einbauen. Mit GPT-4o oder Gemini 2.5 funktioniert das gut.
Konfidenz-Score. Erweitere den Klassifizierungs-Prompt um einen Konfidenz-Wert (0-100). Bei niedriger Konfidenz: Spezial-Routing zu einem Senior-Mitarbeiter statt automatischem Entwurf.
Lernende Tonalität. Sammle die manuellen Überarbeitungen der ersten 100 Anfragen. Pack sie als Few-Shot-Beispiele in den Prompt. Nach drei Monaten klingt der Agent wie eure echten Mitarbeiter.
Fertige Vorlage
Wir haben den oben beschriebenen Workflow als n8n-Vorlage (JSON-Export) verfügbar. Wenn du die KI-Beratung bei uns buchst, bekommst du die Vorlage an deine konkrete CRM- und Mail-Umgebung angepasst und in eurer n8n-Instanz live geschaltet.
Kontakt: info@kiba.berlin.
Teil 5 (Final) der Serie. Zurück zum Pillar-Guide · Alle Artikel
32 KI-Rezepte für den Mittelstand
Kostenloser Praxisleitfaden mit Kostenrahmen, Entscheidungsmatrix und Fördermittel-Guide für KMU.
PDF kostenlos herunterladenBereit für den nächsten Schritt?
Sprechen Sie mit unseren KI-Experten – der erste Beratungstermin ist kostenlos und unverbindlich.
Dieser Artikel ist Teil unseres umfassenden Guides: KI für KMU — Der vollständige Guide für den Mittelstand
Ähnliche Artikel

OpenAI-API für Firmen einrichten: AVV, API-Key, Budget – in 30 Minuten
Schritt-für-Schritt-Setup der OpenAI-API für deutsche Unternehmen: Business-Account, Auftragsverarbeitungsvertrag, API-Key-Hygiene, Budget-Limits. Mit den zwei Einstellungen, die fast alle vergessen.

Azure OpenAI in Deutschland einrichten: Der DSGVO-saubere Default für KMU
Schritt-für-Schritt-Setup von Azure OpenAI Service mit EU Data Boundary in Sweden Central. Vom Subscription-Antrag über das Deployment bis zum ersten Request – mit den drei Hürden, die niemand erklärt.

KI-Agenten im Unternehmen: Wo du wirklich anfängst (und warum 90 % scheitern)
Pillar-Guide für den ehrlichen Einstieg in KI-Agenten: die drei Wege (OpenAI, Azure, lokal), wann welcher passt, und die fünf Fallen, in die fast alle tappen.