Unser eigener n8n-Copilot – von der Idee bis zum ersten funktionierenden Workflow

Es begann mit einer einfachen Frage: Was wäre, wenn wir unsere Workflows nicht mehr per Drag & Drop zusammenklicken müssten, sondern sie einfach beschreiben könnten?
Stellt euch vor, wir tippen nur: «Lies unsere Gmail-Mails und schick uns die Zusammenfassung auf Slack.»

Und wenige Sekunden später steht der fertige Workflow in n8n – ohne auch nur einen einzigen Node manuell platziert zu haben. Das war unsere Vision: eine KI, die komplette Automatisierungen auf Zuruf erstellt. Intuitiv. Schnell. Mächtig.

Ausgangslage > Manueller Workflow Aufbau mit n8n

Der erste Plan – und warum es komplizierter wurde

Die Idee war schnell formuliert. Die Umsetzung? Nicht ganz so einfach.
Wir starteten mit einem Setup, das auf den ersten Blick simpel wirkte:

  • n8n (self-hosted) auf einem Laptop
  • Node.js + Express Proxy als Vermittler zwischen Frontend, OpenAI und n8n
  • OpenAI GPT-4o API für die Workflow-Generierung
  • Custom inject.js, um ein Copilot-UI direkt ins n8n-Frontend zu integrieren

In unserem Kopf sah die Architektur klar aus:
[Browser]
   ↓ Prompt
inject.js + UI
   ↓ POST /copilot
[Proxy-Server (localhost:8080)]
   ↓ OpenAI API
   ↓ n8n REST API (localhost:5678)
Ein schöner Plan. Nur leider funktionierte er nicht auf Anhieb.

Die ersten Stolpersteine

Unser erster Gedanke war naiv: „Wir schicken einfach JSON an die API – fertig.“
Die Realität? „Unauthorized.“

Kein Token, kein Glück
Die REST-API von n8n ist login-geschützt.
Ohne gültigen Token? Kein Zugriff. Selbst der Versuch mit disableAuth: true brachte nichts.

Die Lösung: Login via Cookie
Also schrieben wir einen kleinen Login-Flow mit axios-cookiejar-support:
  1. Login-Request mit Benutzername und Passwort
  2. Session-Cookie speichern
  3. Cookie bei jedem API-Request mitsenden
Damit stand endlich die Authentifizierung.

JSON – aber bitte nicht zu kreativ

Das nächste Problem: GPT neigt zu kreativen JSON-Formaten.
Mal fehlte workflow_entity.active, mal war der Name leer oder zu kurz.
Kommentare mitten im JSON? Kein Problem – für GPT. Für die API schon.

Also ergänzten wir eine automatische Reparaturlogik:
if (!workflow.name) workflow.name = `Copilot Workflow ${Date.now()}`;
if (typeof workflow.active !== 'boolean') workflow.active = false;
Damit war unser Copilot auch gegen unvollständige oder leicht fehlerhafte Antworten gewappnet.

Der erste echte Erfolgsmoment

Nach etlichen Iterationen war es so weit:
Wir waren bereits in n8n eingeloggt, gaben unseren Prompt im Copilot ein – „Gmail lesen, Slack-Nachricht schicken“ – und lehnten uns zurück.

Im Hintergrund verfolgten wir in der PowerShell, wie der Prozess Schritt für Schritt lief: Anfrage an die API, Antwort von GPT, JSON-Bearbeitung, Upload zu n8n.
Dann kam der Moment: Eine Meldung im n8n-Interface bestätigte, dass der Workflow erstellt wurde. 

Da war er: unser erster KI-generierter Workflow. Keine Klickerei, kein Drag & Drop – nur ein Satz, und die Automatisierung stand. Ein magischer Moment.


Wohin die Reise geht

Unser Prototyp läuft – und wir haben viele Ideen für die nächste Version:

  • Prompt-History und Undo-Funktion
  • Modellwahl (Claude, Grok) je nach Aufgabenprofil
  • Automatisches Verlinken mit bestehenden Nodes
  • Vorschläge vor dem Einfügen anzeigen
  • Smart Debugging mit Chatverlauf

Fazit

Ein kleiner Proxy.
Ein zusätzlicher Button im UI.
Ein grosser Schritt in Richtung: „Sprich mit deiner Automatisierung, statt sie zu klicken.“

Noch ist unser n8n-Copilot ein Prototyp. Aber er funktioniert – und das ist erst der Anfang.
Christoph Menzi
Inhaber & GL, Technischer Leiter
Bitte Javascript aktivieren!
visions Assistent
Grüezi! Ich bin Ihr KI-Assistent. Stellen Sie mir eine Frage – ich bin ready!