n8n-Integration
Paket: BASIS
1. Allgemein
n8n ist eine Open-Source-Automatisierungsplattform, über die externe Systeme und Dienste miteinander verbunden werden können – ohne Programmierkenntnisse, aber mit der Option, bei Bedarf eigenen Code einzubinden. brainX stellt eine offizielle, von n8n verifizierte Community Node zur Verfügung, über die brainX direkt in n8n Workflows eingebunden werden kann.
Eine Schritt-für-Schritt-Beschreibung der n8n-Integration ist im Video brainX + n8n: So landet jeder Landingpage-Lead sofort im CRM | Deep Dive Part 7 auf dem brainX YouTube-Kanal verfügbar. Der im Video gezeigte Beispiel-Workflow steht zum Download in der Videobeschreibung zur Verfügung.
In brainX + n8n: vom Kontaktformular zum Lead und Termin – Schritt für Schritt | Deep Dive Part 8 wird der Workflow aus Part 7 um eine brainX-interne Automatisierung erweitert (Vertriebsbenachrichtigung, Terminerstellung, Bestätigungsmail an den Lead).
2. brainX Community Node in n8n
Die brainX Community Node ist offiziell von n8n verified und wird von brainX aktiv gepflegt. Sie ist in n8n unter Integrations → Suche nach “brainX" auffindbar.
Die Node spiegelt die Möglichkeiten der brainX REST API in einer benutzerfreundlichen, No-Code-kompatiblen Form wider und ermöglicht es, brainX-Datensätze aus n8n heraus zu lesen, zu erstellen, zu aktualisieren und zu verknüpfen.
3. Authentifizierung (Credentials)
Die Verbindung zwischen n8n und brainX wird über Credentials in n8n hergestellt. Folgende Angaben werden benötigt:
- Base URL – die URL der brainX-Instanz (z. B.
https://meine-brainx-domain) - Benutzername – der Benutzername, mit dem der Benutzer sich in brainX anmeldet
- API-Passwort – ein speziell generiertes API-Passwort (nicht das normale Anmeldepasswort)
Das API-Passwort wird in brainX unter Meine Einstellungen generiert und ist ausschließlich für den API-Zugriff vorgesehen. Es entspricht nicht dem Anmeldepasswort des Benutzers. Weitere Informationen zur Generierung des API-Passworts sind auf der Seite REST API zu finden.
Nach der Eingabe der Credentials kann die Verbindung in n8n über Test Connection geprüft werden.
3.1. Postfach für den Versand in Automatisierungen freischalten
Ein in brainX eingebundenes E-Mail-Postfach ist standardmäßig nicht für den Versand in Automatisierungen freigegeben. Um ein Postfach für den automatisierten E-Mail-Versand (sowohl in brainX-Automatisierungen als auch in n8n-Workflows, die E-Mails über brainX senden) zu verwenden, muss es zuerst freigeschaltet werden:
- In brainX die Globalen Einstellungen öffnen
- Das gewünschte Postfach aufrufen
- In den Postfach-Einstellungen die Option Automatisierung erlauben aktivieren
- Speichern
Ohne diese Freischaltung steht das Postfach in der Aktion E-Mail schicken innerhalb von Automatisierungen nicht zur Auswahl.
4. Verfügbare Operationen
Die brainX Node unterstützt folgende Operationen:
4.1. Search
Sucht nach Datensätzen in einem wählbaren Modul anhand eines oder mehrerer Filter.
Konfigurierbare Optionen:
- Modul – das zu durchsuchende Modul (z. B. Leads, Kontakte, Deals)
- Limit – maximale Anzahl zurückgegebener Datensätze
- Filter – ein oder mehrere Filterkriterien; im Standard mit UND verknüpft
- Filter Combine With OR – verbindet die Filter mit ODER statt UND
- Fields to Return – schränkt die zurückgegebenen Felder ein; im Standard werden Standardfelder zurückgegeben
- Include Deleted – gibt auch Datensätze zurück, die sich noch im Papierkorb befinden
- Always Output Data – gibt auch bei leerem Ergebnis ein leeres Array zurück (empfohlen, wenn das Ergebnis in einer nachgelagerten Bedingung ausgewertet wird)
Die Option Always Output Data sollte aktiviert sein, wenn das Suchergebnis in einem nachgelagerten IF-Node ausgewertet wird – nur so wird bei keinem Treffer ein leeres Array zurückgegeben, das die Bedingung korrekt auswerten kann.
Die Auswahl der Vorgänger-Node (z. B. beim Befüllen von Feldern in einer Create- oder Update-Node) steht nur dann zur Verfügung, wenn der entsprechende Ausgangspfad des vorherigen IF-Nodes im letzten Testlauf auch tatsächlich aktiv war. Wurde z. B. der false-Pfad zuletzt nicht durchlaufen, fehlt die Vorgänger-Node-Auswahl in der nachgelagerten Node. Lösung: den Workflow mit Testdaten erneut durchlaufen lassen, sodass der gewünschte Pfad aktiviert wird.
4.2. Create
Erstellt einen neuen Datensatz in einem wählbaren Modul. Alle Felder des Moduls stehen zur Verfügung – einschließlich benutzerdefinierter Felder, die in der jeweiligen brainX-Instanz angelegt wurden.
Felder können mit statischen Werten oder mit dynamischen Werten aus vorherigen Node-Ausgaben befüllt werden.
Als Antwort wird der vollständige neu erstellte Datensatz zurückgegeben, inklusive der automatisch vergebenen Datensatz-ID.
4.3. Update
Aktualisiert einen bestehenden Datensatz. Funktioniert analog zur Create-Operation, erfordert zusätzlich die Record ID des zu aktualisierenden Datensatzes.
Es werden nur die explizit angegebenen Felder aktualisiert – bestehende Feldwerte, die nicht übergeben werden, bleiben unverändert.
4.4. Get
Ruft einen einzelnen Datensatz anhand seiner ID ab und gibt alle Felder des Datensatzes zurück.
Wird verwendet, wenn die ID eines Datensatzes bereits bekannt ist und die vollständigen Details benötigt werden.
4.5. Add Relations
Verknüpft zwei Datensätze miteinander. Diese Operation wird ausschließlich für Module verwendet, die in brainX gegenseitig über den Relations-Tab verknüpft sind (z. B. Leads ↔ Kampagnen, Leads ↔ Dokumente).
Der Unterschied zwischen Add Relations und Create/Update:
- Add Relations → für Verknüpfungen, bei denen beide Module den jeweils anderen Datensatz im Relations-Tab anzeigen (n:m-Beziehung)
- Create/Update → für alle anderen Felder, die in der Detailansicht als Relationsfeld erscheinen (z. B. ein Kontakt, der einem Lead zugeordnet ist)
Konfiguration:
- Record ID – die ID des Datensatzes, dem die Verknüpfung hinzugefügt werden soll
- Related Record ID – die ID des zu verknüpfenden Datensatzes
Als Antwort wird ein Status 200 mit der Meldung OK zurückgegeben.
4.6. Get Current User
Gibt die Details des Benutzers zurück, dessen Credentials für die Verbindung verwendet werden.
4.7. Get Companies
Gibt die Mandanten zurück, auf die der aktuelle Benutzer Zugriff hat. Relevant für brainX-Instanzen mit Mandantenfähigkeit.
4.8. Custom API Call
Ermöglicht den direkten Aufruf beliebiger Endpunkte der brainX REST API für Sonderfälle, die durch die Standard-Operationen der Node nicht abgedeckt werden.
Verfügbare HTTP-Methoden: GET, PATCH, POST, DELETE
Konfiguration:
- Endpunkt – der gewünschte API-Endpunkt
- Body – optionaler JSON-Body für POST- und PATCH-Anfragen
4.9. Test Mode 4.9. Production Mode (Webhook)
Webhook-Nodes in n8n haben zwei Betriebsmodi, die sich grundlegend unterscheiden:
| Test Mode | Production Mode | |
|---|---|---|
| Aktivierung | Manuell über Listen for Test Events | Automatisch nach Publish des Workflows |
| Verfügbarkeit | Temporär – läuft nach kurzer Zeit automatisch ab | Dauerhaft aktiv |
| URL | Test-URL (nur für Entwicklung) | Produktions-URL (öffentlich erreichbar) |
| Zweck | Entwicklung und Testen des Workflows | Produktivbetrieb |
Den Test Mode erst kurz vor dem Absenden der Testdaten aktivieren, da er nach kurzer Inaktivität automatisch stoppt. Erst nach dem Publish des Workflows ist die Produktions-URL verfügbar und der Workflow dauerhaft aktiv.
Nach dem Veröffentlichen (Publish) ist der Webhook öffentlich über das Internet erreichbar. Es wird dringend empfohlen, eine Header-Authentifizierung zu aktivieren, um unberechtigte Anfragen zu verhindern.
4.10. Felder aus verschiedenen Vorgänger-Nodes kombinieren
In einer brainX Node können Felder aus unterschiedlichen Vorgänger-Nodes kombiniert werden – es ist nicht notwendig, sich auf eine einzige Vorgänger-Node zu beschränken.
In einer Update-Node wird die Record ID aus der Search-Node bezogen (da sie dort als Suchergebnis vorliegt), während alle anderen Felder (Vorname, Nachname, E-Mail etc.) aus dem Webhook bezogen werden, der die Formulardaten enthält.
Beim Befüllen eines Feldes einfach die gewünschte Vorgänger-Node in der Auswahlliste wechseln – das ist unabhängig für jedes Feld möglich.
4.11. Feldliste aktualisieren nach Änderungen in brainX
Die brainX Node ruft die verfügbaren Felder eines Moduls beim Öffnen per API ab. Werden in brainX nach dem ersten Öffnen der Node neue Felder angelegt (z. B. benutzerdefinierte Felder über die Modulverwaltung), sind diese in n8n zunächst nicht sichtbar.
Um die Feldliste zu aktualisieren, den Reload/Refresh-Button in der Node verwenden. Dieser ruft die aktuellen Felddefinitionen erneut per API ab und stellt neu angelegte Felder sofort zur Verfügung – ohne dass die Node neu konfiguriert werden muss.
4.12. Datumsformat und Zeitzone bei Datums-/Uhrzeitfeldern
Datums-/Uhrzeitfelder werden von brainX im Format ISO 8601 erwartet:
YYYY-MM-DDTHH:mm:ss+HH:mm
2025-10-27T09:00:00+02:00
Der Anteil +HH:mm am Ende gibt die Zeitzone an. Liefert das Quellsystem (z. B. ein Kontaktformular) Datum und Uhrzeit ohne Zeitzone, kann diese manuell an die n8n-Expression angehängt werden:
{{ $json.wunschtermin }}+02:00
Die Zeitzone muss der tatsächlichen Zeitzone des Benutzers bzw. des Systems entsprechen, um Verschiebungen bei der Anzeige im brainX-Kalender zu vermeiden. Für Mitteleuropäische Zeit (MEZ) gilt +01:00, für Mitteleuropäische Sommerzeit (MESZ) gilt +02:00.
Den Test Mode erst kurz vor dem Absenden der Testdaten aktivieren, da er nach kurzer Inaktivität automatisch stoppt. Erst nach dem Publish des Workflows ist die Produktions-URL verfügbar und der Workflow dauerhaft aktiv.
5. Praxisbeispiele
5.1. Landingpage-Lead in brainX anlegen
Das folgende Beispiel zeigt den Aufbau eines typischen n8n-Workflows, der einen Lead aus einem Kontaktformular in brainX anlegt oder aktualisiert.
Aufbau des Workflows:
- Webhook – empfängt die Formulardaten (Vorname, Nachname, E-Mail, Firma, Telefon) per HTTP POST
- Search (Modul: Leads) – prüft anhand der E-Mail-Adresse, ob der Lead bereits in brainX vorhanden ist
- Limit: 1
- Always Output Data: aktiviert
- IF-Node – wertet das Suchergebnis aus:
- Ergebnis nicht leer → Lead existiert bereits → Update-Zweig
- Ergebnis leer → neuer Lead → Create-Zweig
- Create (Modul: Leads) – legt einen neuen Lead an; befüllt Felder aus dem Webhook-Request sowie statische Felder (z. B. Quelle = Website, Status = Neu)
- Update (Modul: Leads) – aktualisiert den bestehenden Lead mit den neuen Formulardaten
- Add Relations – verknüpft den Lead mit einer Kampagne (Record ID des Leads aus dem Create- oder Search-Ergebnis; Related Record ID der Kampagne)
Webhooks sollten immer mit einer Header-Authentifizierung (Header Auth) abgesichert werden, um unberechtigte Anfragen von externen Quellen zu verhindern.
5.2. Erweiterung mit brainX-Automatisierung
Sobald der Lead per n8n in brainX angelegt ist, kann eine brainX-interne Automatisierung den weiteren Prozess übernehmen. Das folgende Beispiel zeigt, wie eine brainX-Automatisierung direkt an den n8n-Workflow anschließt.
Auslöser: Lead wird erstellt (Modul Leads)
Strang 1 – Vertrieb benachrichtigen:
- Bedingung: Quelle des Leads ist gleich Webseite
- Aktion: Interne Benachrichtigung an Vertriebsgruppe senden (z. B. „Neuer Lead: [Vorname] [Nachname] wurde erstellt")
Strang 2 – Termin erstellen:
- Bedingung: Feld Wunschtermin ist nicht leer
- Aktion: Termin erstellen mit folgenden Feldern:
- Betreff: per Blockly zusammengesetzt, z. B. „Neuer Termin mit [Nachname]"
- Beginn: Wunschtermin-Feld des Leads
- Ende: Wunschtermin + 30 Minuten (per Blockly: Zeit berechnen mit Zahl)
- Typ: Anruf
- Status: Geplant
- Referenz: Lead
Strang 3 – Bestätigungsmail an Lead senden:
- Bedingung: Feld E-Mail ist nicht leer
- Aktion: E-Mail an die E-Mail-Adresse des Leads senden (Bestätigung, dass die Anfrage eingegangen ist und eine Rückmeldung zum Wunschtermin erfolgt)
Die Automatisierung muss nach der Erstellung aktiviert werden (Status aktiv), damit sie bei neu angelegten Leads ausgelöst wird.
Da der Lead die Briefanrede-Automatisierung (1.0 | Briefanrede Leads & Kontakte) bereits beim Erstellen durchläuft, steht das Feld Briefanrede in der Bestätigungsmail als Platzhalter zur Verfügung – sofern beim Erstellen des Leads auch das Feld Titel übergeben wird (auch wenn es leer ist), damit die Logik der Briefanrede-Automatisierung korrekt greift.
6. Kampagnen-ID ermitteln
Die ID einer Kampagne kann auf zwei Wegen ermittelt werden:
- Direkt aus brainX: In der Detailansicht der Kampagne ist die Record-ID in der URL der Seite enthalten.
- Per Get- oder Search-Operation in n8n: Eine brainX Node mit der Operation Get (Modul: Kampagnen) gibt alle Kampagnen mit ihren IDs zurück. Mit Search kann gezielt nach einer bestimmten Kampagne gesucht werden.