Directus Flows: Der vollständige Leitfaden zu Triggern, Operations und Data Chains
Directus ist weit mehr als eine Headless-Datenplattform. Mit dem Modul Flows bringt Directus eine integrierte Automatisierungs-Engine mit, die viele Aufgaben klassischer iPaaS-Lösungen wie Zapier, Make oder n8n direkt innerhalb der Plattform erledigen kann.
Wer Directus produktiv einsetzt, sollte deshalb drei Begriffe verstehen:
- Trigger – was einen Flow startet
- Operations – welche Schritte ausgeführt werden
- Data Chain – welche Daten zwischen den Schritten weitergegeben werden
Jeder Directus Flow besteht aus genau diesen drei Bausteinen: ein Trigger, mehrere Operations und eine gemeinsame Data Chain.
Wenn Sie Directus bislang nur als Headless CMS oder API-Layer betrachtet haben, eröffnet das Flow-System eine weitere Dimension: Automatisierung direkt auf Datenbankebene.
Mehr zum Gesamtansatz finden Sie im Leitartikel zur Directus Integrationsplattform.
Was sind Directus Flows?
Flows sind die integrierte Automatisierungs-Engine von Directus.
Sie reagieren auf Ereignisse, führen Geschäftslogik aus, verändern Daten, versenden Benachrichtigungen oder kommunizieren mit externen Systemen.
Typische Anwendungsfälle:
- Slack-Nachrichten versenden
- CRM-Systeme aktualisieren
- Freigabeprozesse automatisieren
- Daten validieren
- externe APIs aufrufen
- periodische Hintergrundjobs ausführen
Position innerhalb der Directus-Architektur
Flows sitzen zwischen:
- Datenbank
- API
- Benutzeroberfläche
- externen Systemen
Sie können auf nahezu jedes Ereignis innerhalb der Plattform reagieren.
Dadurch entsteht ein zentrales Automatisierungs-Layer direkt innerhalb von Directus.
Wann Flows besser sind als externe iPaaS-Tools
Für datenbanknahe Prozesse sind Directus Flows häufig effizienter als externe Werkzeuge.
Beispiele:
- Datensatz wird angelegt
- Status wird geändert
- Bestellung wird freigegeben
- Benutzer wird erstellt
Diese Ereignisse liegen bereits innerhalb von Directus vor.
Ein externer Workflow muss sie zunächst empfangen und wieder zurückschreiben.
Flows arbeiten dagegen direkt auf dem Datenmodell.
Anatomie eines Flows
Jeder Flow besteht aus drei Komponenten:
Trigger – was den Flow startet
Der Trigger definiert den Startpunkt.
Ohne Trigger läuft kein Flow.
Beispiele:
- Datensatz erstellt
- Webhook empfangen
- Cron-Zeitplan erreicht
- anderer Flow beendet
Operations – die einzelnen Schritte
Operations bilden die eigentliche Logik.
Typische Operations:
- Daten lesen
- Daten ändern
- Bedingungen prüfen
- HTTP Requests senden
- E-Mails versenden
- JavaScript ausführen
Data Chain – das durchgereichte JSON-Objekt
Die Data Chain ist das Herzstück eines Flows.
Jede Operation kann:
- Daten lesen
- Daten ergänzen
- Daten verändern
- Daten an die nächste Operation weiterreichen
Man kann sich die Data Chain als gemeinsames JSON-Dokument vorstellen, das durch den gesamten Workflow wandert.
Trigger-Typen im Detail
Event Hook (Datensatzänderung)
Der häufigste Trigger.
Beispiele:
- create
- update
- delete
Typische Anwendungsfälle:
- neuer Kunde
- neue Bestellung
- Statuswechsel
Webhook (eingehend)
Ein externer Dienst ruft Directus auf.
Beispiele:
- Stripe
- HubSpot
- GitHub
- ERP-System
Mehr dazu im Artikel Directus Webhooks Anleitung.
Schedule (Cron)
Zeitgesteuerte Prozesse.
Beispiele:
- jede Stunde
- täglich
- wöchentlich
Mehr dazu im Beitrag Geplante Flows mit Cron.
Manuell
Flows können manuell gestartet werden.
Ideal für:
- Admin-Aktionen
- Massenänderungen
- Wartungsaufgaben
Another Flow
Ein Flow kann einen anderen Flow auslösen.
Dadurch entstehen wiederverwendbare Prozessketten.
Die wichtigsten Operations
Read Data
Liest Daten aus Collections.
Beispiel:
- Kundendaten laden
- Produktinformationen abrufen
Create Data
Erstellt neue Datensätze.
Beispiele:
- Aktivitätsprotokolle
- Tickets
- Benachrichtigungen
Update Data
Aktualisiert vorhandene Daten.
Typischer Anwendungsfall:
Statuswechsel nach erfolgreicher Verarbeitung.
Delete Data
Entfernt Datensätze.
Wird häufig für Bereinigungsprozesse verwendet.
Webhook Request URL
Sendet Daten an externe Systeme.
Beispiele:
- Slack
- Teams
- HubSpot
- SAP
- Salesforce
Condition & Branching
Erlaubt Entscheidungslogik.
Beispiele:
- Wenn Umsatz > 10.000 €
- Wenn Status = Freigabe
- Wenn Kunde Premium
Run Script
Führt JavaScript innerhalb einer Sandbox aus.
Wichtig:
- kein Zugriff auf Node.js
- keine externen Pakete
- reine JavaScript-Ausführung
Ideal für:
- Datenmanipulation
- Formatierungen
- Berechnungen
Notification, Mail und Log
Kommunikation mit Benutzern.
Typische Anwendungsfälle:
- Freigabeanfragen
- Fehlerbenachrichtigungen
- Statusmeldungen
Schritt-für-Schritt-Beispiel: Slack-Benachrichtigung bei neuem Kunden
Nehmen wir an, jede neue Kundenanlage soll automatisch in Slack gemeldet werden.
1. Event-Hook-Trigger einrichten
Trigger:
- Collection: customers
- Event: create
2. Daten anreichern
Operation: Read Data
Zusätzliche Informationen laden:
- Ansprechpartner
- Umsatzklasse
- Vertriebsgebiet
3. Bedingung prüfen
Condition: Nur Kunden melden, wenn:
- Umsatzpotenzial > 10.000 €
4. Slack-WebHook aufrufen
Webhook Request:
{
"text": "Neuer Kunde angelegt: Muster GmbH"
}
5. Asynchron schalten
Für produktive Umgebungen empfiehlt sich:
Asynchronous Execution = aktiviert
Vorteile:
- API antwortet sofort mit 200 OK
- Benutzer wartet nicht auf die Verarbeitung
- höhere Stabilität
Beispiel einer Data Chain
Nach mehreren Operations könnte die Data Chain so aussehen:
{
"trigger": {
"id": 123,
"company": "Muster GmbH"
},
"customer": {
"segment": "Enterprise",
"region": "DACH"
},
"validation": {
"notify": true
},
"slack": {
"sent": true
}
}
Genau deshalb ist die Data Chain so wichtig. Jede Operation erweitert dieses Objekt.
Die nächste Operation kann die Ergebnisse direkt nutzen.
Best Practices
Idempotenz und Fehlertoleranz
Flows sollten mehrfach ausführbar sein.
Dadurch entstehen keine Doppelverarbeitungen.
Logging und Beobachtbarkeit
Produktive Flows benötigen:
- Logging
- Fehlermeldungen
- Monitoring
Direktus bietet hierfür eigene Aktivitätsprotokolle.
Wann auslagern an Inngest oder n8n?
Directus Flows sind hervorragend für datennahe Automatisierung geeignet.
Auslagern sollten Sie bei:
- langen Prozessketten
- hoher Last
- vielen externen APIs
- komplexen Retry-Strategien
Mehr dazu:
Fazit
Das mentale Modell hinter Directus Flows ist bewusst einfach:
Ein Trigger startet den Flow. Mehrere Operations bearbeiten die Daten. Die Data Chain transportiert die Ergebnisse durch den gesamten Prozess.
Wer dieses Prinzip verstanden hat, kann in wenigen Minuten Automatisierungen erstellen, die in anderen Plattformen zusätzliche Werkzeuge erfordern würden.
Für viele datenbanknahe Prozesse ersetzen Directus Flows bereits heute einen großen Teil klassischer Automatisierungsplattformen.
Der nächste Schritt ist das Verständnis eingehender und ausgehender Webhooks. Deshalb empfiehlt sich anschließend der Artikel Directus Webhooks Anleitung.
FAQ
Welche Trigger-Typen gibt es in Directus Flows?
Directus unterstützt Event Hooks, Webhooks, Cron/Schedules, manuelle Trigger und Trigger durch andere Flows.
Kann ein Flow einen anderen Flow auslösen?
Ja. Über den Trigger-Typ „Another Flow“ können Automatisierungen modular aufgebaut und wiederverwendet werden.
Wie wird die Data Chain zwischen Operations weitergegeben?
Alle Operations arbeiten auf einem gemeinsamen JSON-Objekt. Ergebnisse einer Operation stehen der nächsten automatisch zur Verfügung.
Sind Run-Script-Operations sicher?
Ja. Scripts laufen in einer Sandbox ohne direkten Zugriff auf Node.js oder externe Pakete.
Wann sollte ich Flows an Inngest auslagern?
Wenn komplexe Event-Orchestrierung, hohe Last, umfangreiche Retry-Logik oder lange laufende Prozesse erforderlich werden.