Bureau avec des tubes pneumatiques transparents reliant un nœud central aux postes de travail

Drupal-n8n-Integration: Formulare, Inhalte und Geschäftssysteme verbinden

Angenommen, ein Besucher sendet auf Ihrer Website eine Produktanfrage. Mit einer Drupal-n8n-Integration kann die Anfrage in Ihr CRM gelangen, das zuständige Vertriebsteam benachrichtigen und eine Referenz für die weitere Bearbeitung zurückgeben. Ihr Team verbringt dann weniger Zeit mit dem Kopieren von Daten und mehr Zeit mit der Antwort.

Die Verbindung funktioniert auch in die andere Richtung. Ein in einem anderen System freigegebener Artikel kann zu einem Entwurf in Drupal werden, und ein geändertes Veranstaltungsdatum kann eine bestehende Seite aktualisieren.

Drupal stellt Formulare, strukturierte Inhalte, Validierung und Kontrolle über die Veröffentlichung bereit. n8n leitet Daten zwischen Systemen weiter und wandelt sie um. Zusammen verbinden beide Ihre Website mit den Abläufen, die vor und nach einem Seitenbesuch stattfinden.

In diesem Artikel:

Was können Drupal und n8n gemeinsam leisten?

Die nützlichsten Integrationen ersetzen einen konkreten manuellen Schritt: das Herunterladen von Formulareinsendungen, das Kopieren von Artikeltexten oder das Benachrichtigen eines anderen Teams nach der Veröffentlichung.

Drei Muster decken viele alltägliche Anforderungen ab:

  • Von Formularen zu Geschäftssystemen: eine Anfrage an ein CRM senden, eine Supportanfrage weiterleiten oder eine Person für eine Veranstaltung registrieren.
  • Von externen Systemen zu Drupal: einen Entwurf aus freigegebenem Quellmaterial erstellen oder eine Produktspezifikation aktualisieren.
  • Von Drupal zu externen Systemen: ein Team benachrichtigen, wenn Inhalte veröffentlicht werden, oder geänderte Informationen an einen externen Katalog senden.

Jedes Muster braucht Feldzuordnungen und abgestimmte Regeln. Die Verbindung der Systeme entscheidet nicht automatisch, welcher CRM-Datensatz aktualisiert wird oder wer einen importierten Artikel veröffentlichen darf.

Die Verantwortung für Daten bleibt klar geregelt. Drupal kann die maßgebliche Quelle für Website-Inhalte bleiben, während ein CRM die Kundendaten und ein PIM-System die Produktspezifikationen verwaltet. n8n koordiniert die Übergaben, statt zu einem weiteren Inhaltsspeicher zu werden.

Einen breiteren Blick auf die Planung solcher Verbindungen bietet der Artikel CMS-Integration mit externen Systemen und Datenbanken - was Sie wissen müssen.

Wie verbinden Webhooks und APIs die beiden Systeme?

Für diese Beispiele brauchen Sie keinen speziellen Drupal-Connector. Die Standard-Nodes Webhook und HTTP Request von n8n stellen die Verbindung her.

Von Drupal zu n8n: Drupal sendet eine HTTP-Anfrage, wenn ein konfiguriertes Ereignis eintritt. Der Webhook-Node empfängt die übermittelten Daten (Payload) und startet einen Workflow.

Von n8n zu Drupal: Der HTTP-Request-Node ruft eine Drupal-API auf, um Datensätze im Rahmen der Berechtigungen des Integrationskontos zu lesen, anzulegen oder zu aktualisieren. Wenn ein Quellsystem keine Ereignisse senden kann, kann n8n Datensätze auch nach Zeitplan abrufen.

Drupal-Formular oder Inhaltsereignis
  → n8n-Webhook → Verarbeitung und Weiterleitung → CRM / Helpdesk / andere API

Externes Ereignis oder freigegebener Inhalt
  → n8n-Workflow → Drupal JSON:API → neuer oder aktualisierter Inhalt

Empfang bedeutet nicht Abschluss. Eine Webhook-Antwort kann bestätigen, dass n8n eine Anfrage angenommen hat, während eine spätere CRM-Aktion trotzdem fehlschlagen kann. Überwachen Sie den HTTP-Austausch und das tatsächliche geschäftliche Ergebnis getrennt.

Wie kann ein Drupal-Formular einen CRM-Datensatz anlegen oder aktualisieren?

Angenommen, Ihr Anfrageformular erfasst Kontaktdaten, eine Nachricht, das gewünschte Produkt und die Region. Im vorgeschlagenen Workflow validiert Drupal die Einsendung, sendet ausgewählte Werte an n8n, und der Workflow sucht einen passenden Kontakt im CRM.

Gibt es einen Treffer, aktualisiert n8n die zulässigen Felder und hängt die Anfrage an. Andernfalls legt n8n einen neuen Kontakt an. Eine abgestimmte Routing-Regel leitet die Anfrage anschließend an eine regionale Vertriebsqueue weiter oder erstellt ein Support-Ticket.

Die ausgehende Drupal-Komponente wählen

Für Formulare, die mit dem Community-Modul Webform erstellt wurden, bietet der Remote Post Handler einen direkten Weg für ausgehende Anfragen. Der Handler gehört zu Webform und ist nicht Teil der Form API im Drupal-Core. Prüfen Sie die Optionen Ihrer installierten Version, bevor Sie Payload und Authentifizierung festlegen.

Das optionale Projekt Webform Remote Handlers stellt REST- und SOAP-Handler mit konfigurierbarer Payload und Authentifizierung bereit. Betrachten Sie es als Alternative für bestimmte Anforderungen, nicht als Abhängigkeit für jede Integration.

Bei einem eigenen Drupal-Formular kann ein Submit-Handler validierte Werte an einen Integrationsdienst oder eine Queue übergeben. Bestehende Entity-Formulare lassen sich oft leichter über Entity-Ereignisse anbinden, als jedes Formular einzeln anzupassen.

Felder am geschäftlichen Ergebnis ausrichten

Eingabe in Drupal Vorgeschlagene Verarbeitung in n8n Ziel
Kontakt-E-Mail Nach abgestimmten Regeln normalisieren und Treffer suchen CRM-Kontakt
Gewünschtes Produkt Wert einer externen Produktreferenz zuordnen CRM-Anfrage oder Verkaufschance
Anfragetyp oder Region Den abgestimmten Zweig wählen Vertriebsqueue oder Supportsystem
Kennung der Einsendung Einen stabilen Integrationsschlüssel beibehalten Vermeidung von Duplikaten und Nachverfolgung der Zustellung

Klären Sie mehrdeutige Fälle früh. Liefert eine Suche mehrere Kontakte, kann der Workflow die Anfrage zur manuellen Prüfung weitergeben, statt zu raten. Auch Marketing-Einwilligungen brauchen eine ausdrückliche Zuordnung: Wer eine Vertriebsanfrage sendet, willigt damit nicht automatisch in Marketing-Kommunikation ein.

Eine stabile Kennung der Einsendung ermöglicht es dem Zielsystem, eine wiederholte Zustellung zu erkennen. Das ist wichtig, wenn ein Timeout einen erneuten Versuch auslöst, obwohl das CRM den Datensatz bereits gespeichert hat.

Die Wartezeit für Besucher kurz halten

Bei mehrstufigen Abläufen sorgt eine Zustellung im Hintergrund dafür, dass Besucher nicht auf jedes angebundene System warten. Eine dauerhafte Queue und ein Wiederholungsmechanismus müssen eigens umgesetzt werden. Ein Remote Post Handler allein stellt diesen Mechanismus nicht bereit.

Die CRM-Referenz kann auch an Drupal zurückgegeben werden, etwa an einen eigens dafür erstellten Endpoint oder an einen anderen Datensatz, für den die Integration Berechtigungen hat. Gehen Sie nicht davon aus, dass das JSON:API-Modul aus dem Drupal-Core jedes Element einer Webform-Einsendung zum Schreiben freigibt. Auf die ausgehende Zustellung hat das keinen Einfluss.

Wie kann ein externes Ereignis Drupal-Inhalte anlegen oder aktualisieren?

Angenommen, ein externes Redaktionssystem markiert einen Artikel als freigegeben. n8n empfängt das Ereignis, ruft den Quelldatensatz ab, ordnet dessen Felder zu und legt in Drupal einen Entwurf vom Typ Article an. Eine Redakteurin oder ein Redakteur prüft den importierten Inhalt vor der Veröffentlichung.

Dasselbe Muster eignet sich für bestehende Inhalte. Eine Veranstaltungsplattform kann zum Beispiel die Termine verwalten, während Drupal für die Einleitung auf der Website und die verwandten Links zuständig ist. Eine Terminänderung sollte die Datumsfelder aktualisieren, ohne die Einleitung der Redaktion zu überschreiben.

JSON:API für Entity-basierte Anfragen nutzen

Das Core-Modul JSON:API stellt HTTP-Ressourcen bereit, die auf dem Entity- und Feldmodell der Website basieren.

Für den Inhaltstyp Article sind typische Operationen:

  • POST /jsonapi/node/article, um einen Artikel anzulegen.
  • PATCH /jsonapi/node/article/{uuid}, um einen bestehenden Artikel zu aktualisieren.

Diese Ressourcennamen hängen vom tatsächlichen Modell der Website ab. Der HTTP-Request-Node in n8n sendet authentifizierte Anfragen, und Drupal wendet weiterhin Validierung und Zugriffsprüfungen an.

JSON:API ist standardmäßig schreibgeschützt. Schreibzugriffe müssen bewusst aktiviert werden und erfordern Authentifizierung sowie ein Konto mit eingeschränkten Berechtigungen. Das Aktivieren von Schreibzugriffen allein macht eine Integration nicht sicher. Wie sich Drupal-Daten über APIs bereitstellen lassen, beschreiben wir ausführlicher im Artikel Headless CMS. Wie können Daten mithilfe von REST API und JSON API Modulen offengelegt werden?

Speichern Sie eine externe Quellkennung in einem abgestimmten Feld oder einem Zuordnungsdatensatz. Bei späteren Durchläufen nutzt n8n diese Kennung, um die Drupal-Entity zu finden und ihre UUID abzurufen. Andernfalls könnte jede Aktualisierung in der Quelle einen weiteren Artikel erzeugen.

Attribute und Beziehungen trennen

Eine kleine Zuordnung macht den Unterschied deutlich:

Externer Titel       → attributes.title
Externer Text        → attributes.body.value
Externe Quell-ID     → attributes.field_source_id
Externe Kategorie    → relationships.field_tags
Externes Bild        → relationships.field_image

Die Namen der eigenen Felder sind hier nur Beispiele.

Attribute enthalten Feldwerte. Beziehungen verweisen auf andere Entities, etwa Taxonomie-Begriffe oder Medien. Diese referenzierten Entities müssen existieren, und der Workflow braucht ihre Ressourcentypen und UUIDs. Ein POST für einen Artikel legt weder automatisch einen fehlenden Begriff an noch lädt er ein Bild in eine Medien-Entity hoch.

Wählen Sie außerdem ein zulässiges Textformat für den Text und validieren Sie eingehendes Markup, statt externem HTML zu vertrauen.

Veröffentlichung als eigene Entscheidung behandeln

Anlegen, Aktualisieren und Veröffentlichen sind unterschiedliche Aktionen.

Wenn die Core-Module Workflows und Content Moderation aktiviert sind, muss die Integration die konfigurierten Zustände, die Berechtigungen für Übergänge und die Prüfregeln berücksichtigen. Das Ändern von status ist kein universeller Weg, die Moderation zu umgehen.

Eine automatische Veröffentlichung kann bei berechtigten, validierten Aktualisierungen sinnvoll sein, etwa bei einem Veranstaltungsdatum aus der dafür maßgeblichen Quelle. Importierte redaktionelle Texte brauchen dagegen oft eine menschliche Prüfung. Legen Sie diese Grenze für jeden Workflow fest.

Für eine eng umrissene Aktion, die mehrere Entities betrifft, kann ein eigener Endpoint übersichtlicher sein als mehrere allgemeine Schreibvorgänge. Auch er braucht klar definierte Autorisierung und Validierung.

Wie können Änderungen in Drupal Aufgaben in anderen Systemen auslösen?

Angenommen, die Veröffentlichung eines Artikels soll ein Kommunikationsteam benachrichtigen und einen externen Katalog aktualisieren. Drupal sendet ein Veröffentlichungsereignis an n8n, und n8n leitet die relevanten Daten an jedes Ziel weiter.

Das nützliche Ereignis lautet „wurde veröffentlicht“, nicht einfach „jemand hat den Artikel gespeichert“. Gespeicherte Entwürfe und Änderungen ohne Bezug zur Veröffentlichung sollten keine Veröffentlichungsbenachrichtigung auslösen.

Das Ereignis in Drupal auswählen und senden

Das Community-Modul ECA ermöglicht es Teams, Ereignisse, Bedingungen und Aktionen zu modellieren. Ein ECA-Modell kann die relevante Änderung erkennen und eine Aktion für ausgehende Anfragen aufrufen, sofern die installierten Integrationsmodule eine solche Aktion bereitstellen.

Prüfen Sie Plugins und Versionen, bevor Sie die genaue Konfiguration planen. HTTP Client Manager ist ein Community-Modul für wiederverwendbare externe HTTP-Operationen und wird im ECA-Umfeld eingesetzt. Es ist nicht für jede ausgehende Anfrage erforderlich, und die verfügbaren Aktionen hängen vom jeweiligen Setup ab.

Ein eigenes Modul ist eine weitere Möglichkeit: Hooks beim Anlegen oder Aktualisieren von Entities können ein Ereignis in eine Queue stellen, und ein Worker sendet es mit dem HTTP-Client von Drupal. Dieser Ansatz eignet sich, wenn das Projekt eine klar definierte Wiederholungslogik oder eine genaue Erkennung von Statuswechseln braucht.

Die Entity API von Drupal sendet nicht automatisch Webhooks. Ereignisauswahl, Payload, Versand und Zustellungsbehandlung müssen eingerichtet werden.

Genug Kontext für sicheres Handeln senden

Eine praxistaugliche Ereignis-Payload enthält eine Ereigniskennung, die UUID der Entity, den Ereignistyp und die Felder, die das Ziel benötigt. Bei Bedarf kann n8n weitere Daten abrufen, für die es Berechtigungen hat.

Die Veröffentlichungsentscheidung der Redaktion kann als menschliche Kontrolle dienen. Gehört zu den Folgeschritten der Versand einer Kampagne, kann eine separate Freigabe dennoch sinnvoll sein.

Vermeiden Sie außerdem Schleifen. Wenn n8n eine externe Referenz nach Drupal zurückschreibt, sollte diese Aktualisierung nicht immer wieder denselben Workflow starten. Bedingungen können prüfen, ob sich relevante Felder geändert haben und ob die Änderung von der Integration stammt.

Warum macht das Entity-Modell von Drupal Integrationen wiederverwendbar?

Definierte Felder ersparen es Ihnen, Geschäftsdaten aus dem Seiten-Markup herauszulesen. Ein Workflow kann ein Datumsfeld, eine Produktreferenz oder eine Kategorie direkt lesen, statt zu raten, wo sie im gerenderten HTML erscheinen.

Zwei Drupal-Konzepte haben unterschiedliche Aufgaben:

  • Entity API ist das interne Programmiermodell von Drupal für Entities.
  • JSON:API ist eine HTTP-Schnittstelle, die auf der Entity API und der Field API von Drupal aufbaut.

n8n ruft die HTTP-Schnittstelle auf, nicht die PHP-basierte Entity API.

Sobald Authentifizierung, Zuordnung der Kennungen und Fehlerbehandlung stehen, kann ein weiterer klar modellierter Inhaltstyp dasselbe Integrationsmuster nutzen. Die konkreten Operationen hängen weiterhin von der Unterstützung durch die Entity, den Berechtigungen und eventuellen Anforderungen an Übersetzungen oder Revisionen ab.

Diese Struktur hilft auch im Zusammenhang mit großen Sprachmodellen (LLMs). Konsistente Felder können Webseiten, Feeds, APIs und strukturierte Daten versorgen und so widersprüchliche Informationen über Kanäle hinweg verringern. Integrationen halten Quelldaten aktuell, garantieren aber nicht, dass KI-Assistenten Ihre Website finden oder empfehlen.

Ein KI-Schritt ist optional. n8n könnte eine Anfrage klassifizieren oder einen Entwurf vorbereiten, sofern die Datenverarbeitung freigegeben ist und eine passende Prüfung stattfindet. Um eine validierte Formulareinsendung in ein CRM zu übertragen, braucht es kein LLM.

Behalten Sie lokale Validierung, Inhaltsregeln und die Entscheidung über Veröffentlichungen in Drupal. Nutzen Sie n8n für die Umwandlung und Koordination zwischen Systemen.

Welche Komponente übernimmt welche Aufgabe?

Sie brauchen nicht jedes der unten genannten Module. Wählen Sie für jede Verbindung die passenden Komponenten aus.

Bedarf Drupal-Seite n8n-Seite
Eine Webform-Anfrage senden Webform Remote Post Handler Webhook und nachgelagerte Aktionen
Werte eines eigenen Formulars senden Submit-Handler und Integrationsdienst oder Queue Webhook
Auf ein Inhaltsereignis reagieren Konfiguriertes ECA-Modell oder eigener Hook mit Queue Webhook und Weiterleitung
Inhalte lesen oder schreiben JSON:API aus dem Core mit passenden Zugriffsrechten HTTP Request
Eine eng umrissene Geschäftsaktion ausführen Eigener Endpoint mit Validierung und Autorisierung HTTP Request
Externe Ziele koordinieren Definierte Ereignis-Payload Zweige und unterstützte Connectoren oder APIs

Was macht die Workflows zuverlässig?

Eine nützliche Integration macht Fehler sichtbar und erlaubt es, fehlgeschlagene Zustellungen zu wiederholen. Behalten Sie diese Punkte schon beim Entwurf des Workflows im Blick:

  • Zugangsdaten schützen. Nutzen Sie separate Integrationskonten mit minimalen Rechten, authentifizierte Webhooks und HTTPS. Speichern Sie Secrets in den Credential-Funktionen von n8n oder in einem freigegebenen Secret Store, nicht in Payloads oder exportierten Workflow-Definitionen. Planen Sie die regelmäßige Rotation.
  • Personenbezogene Daten begrenzen. Senden Sie nur die erforderlichen Felder und legen Sie die Aufbewahrungsdauer der Ausführungsprotokolle bewusst fest. Fehlgeschlagene Ausführungen können Nachrichten und Kontaktdaten enthalten.
  • Wiederholungen sicher machen. Nutzen Sie stabile Kennungen, Duplikatprüfungen und eine begrenzte Zahl an Wiederholungen. Verfolgen Sie jedes Ziel separat, damit eine wiederholte Benachrichtigung keine weitere CRM-Anfrage erzeugt.
  • Die Automatisierung überwachen. Benennen Sie eine verantwortliche Person, richten Sie Warnungen bei fehlgeschlagenen oder hängenden Ausführungen ein und prüfen Sie, ob geplante Workflows tatsächlich laufen. Ein erfolgreicher Webhook-Empfang beweist nicht, dass die Folgeschritte abgeschlossen sind.
  • Bearbeitungsgrenzen respektieren. Beschränken Sie eingehende Aktualisierungen auf Felder, für die die Quelle zuständig ist. Erkennen Sie Konflikte, wenn die Redaktion denselben Inhalt geändert hat, und leiten Sie sie zur Prüfung weiter.

Mit diesen Schutzmaßnahmen spart die Integration tatsächlich Zeit, statt zusätzliche Arbeit zu verursachen. Typische Stolpersteine in dieser Phase beschreibt der Artikel 5 Probleme, auf die Sie stoßen könnten, wenn Sie Drupal mit Drittanbietersoftware integrieren.

Verbinden Sie Ihre Website mit den nächsten Arbeitsschritten

Drupal und n8n können drei praktische Übergaben verbinden: Formulardaten, die Geschäftssysteme erreichen, externe Änderungen, die Website-Inhalte aktualisieren, und Drupal-Ereignisse, die nachgelagerte Aufgaben auslösen.

Die definierten Entities, Felder und Veröffentlichungskontrollen von Drupal bilden die Grundlage für die Inhalte. n8n verbindet diese Grundlage mit den übergreifenden Abläufen, ohne die Verantwortung für die Inhalte zu übernehmen.

Welche Übergabe kostet Ihr Team am meisten Zeit? Sprechen Sie mit Droptica über die Formulare, Inhaltsänderungen und Geschäftssysteme, die Sie verbinden möchten. Wir helfen Ihnen, die API-Wege, Feldzuordnungen und Prüfpunkte festzulegen, die Ihre Workflows brauchen. Mehr über unsere Arbeit erfahren Sie auf der Seite zu unseren Drupal-Entwicklungsdiensten.