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.