Trigger nur unter Bedingungen auslösen (Wenn-Dann)

Manchmal soll ein Workflow-Trigger nicht bei jeder Person oder Gruppe feuern, sondern nur in bestimmten Fällen – zum Beispiel: „Schicke diese Benachrichtigung nur, wenn das Feld Kuratiert von den Wert CM hat." Genau dafür gibt es Bedingungen. Du legst weiterhin einen ganz normalen Trigger an und ergänzt ihn um eine Regel, die festlegt, wann er ausgeführt wird.

Diese Anleitung baut auf den Grundlagen aus Personen oder Gruppen: Wo hänge ich meine E-Mail Automatisierung an? auf. Wenn du noch nie einen Trigger erstellt hast, lies dort am besten zuerst nach.

Wann sind Bedingungen sinnvoll?

Bedingungen lohnen sich überall dort, wo derselbe Workflow-Schritt für unterschiedliche Datensätze unterschiedlich behandelt werden soll. Typische Fälle:

  • Je nach zuständigem Bereich soll eine andere Person oder ein anderes Team benachrichtigt werden.
  • Eine Erinnerung soll nur rausgehen, wenn ein bestimmtes Feld noch leer ist.
  • Eine Bestätigung soll nur bei einer bestimmten Auswahl im Formular verschickt werden.

Ohne Bedingung feuert ein Trigger für jeden Datensatz, der den Workflow-Schritt durchläuft. Mit Bedingung prüft festiware vorher die Regel und führt den Trigger nur dann aus, wenn sie zutrifft.

Bedingungen aktivieren

Du legst den Trigger zunächst wie gewohnt an:

  1. Öffne im Admin-Bereich die Detailansicht (Augen-Symbol) des Personen- oder Gruppentyps.
  2. Öffne die Detailansicht des Workflow-Schritts, an dem die Automatisierung hängen soll.
  3. Klicke auf Erstelle Trigger, vergib einen Namen und wähle die Aktion (z. B. Sende eine Nachricht an ein Teammitglied) sowie den Auslöser (Eintritt in Schritt oder Austritt aus Schritt).
  4. Aktiviere den Schalter Bedingungen verwenden.

Sobald der Schalter aktiv ist, erscheint ein zusätzliches Feld Bedingungen. Dieses Feld ist absichtlich versteckt, solange du keine Bedingung brauchst – deshalb sieht man es bei der normalen Trigger-Erstellung nicht.

Wenn du den Schalter wieder ausschaltest, wird der Trigger für alle Datensätze ausgeführt – die Bedingung wird dann ignoriert.

Eine einfache Bedingung schreiben

Eine Bedingung besteht aus drei Angaben: dem Feld, einem Operator (dem Vergleich) und dem Wert, gegen den verglichen wird. Du trägst sie als kleinen Textblock im Feld Bedingungen ein:

{ "field": "bereich", "operator": "==", "value": "Musik" }

Diese Regel bedeutet: Führe den Trigger nur aus, wenn das Feld bereich den Wert Musik hat.

Beim field gibst du den technischen Namen deines Formularfelds an – genau so, wie du ihn beim Anlegen des Felds vergeben hast (z. B. bereich, kuratiert_von, transport). Verwende den reinen Feldnamen ohne Zusätze.

Auch wenn der Hinweistext am Feld ein Beispiel mit vorangestelltem data. zeigt: Für deine eigenen Formularfelder genügt der reine Feldname. Ein data.-Präfix führt dazu, dass die Bedingung nicht greift.

Damit feuert der Trigger genau dann, wenn die Auswahl im Feld passt.

Mehrere Bedingungen kombinieren

Oft soll eine Regel aus mehreren Teilen bestehen. Dafür gibt es zwei Klammern:

  • and – alle enthaltenen Bedingungen müssen zutreffen.
  • or – mindestens eine der enthaltenen Bedingungen muss zutreffen.

Beispiel: nur ausführen, wenn der Bereich Musik ist und noch keine Freigabe vorliegt:

{
  "and": [
    { "field": "bereich", "operator": "==", "value": "Musik" },
    { "field": "freigabe", "operator": "!=", "value": "erteilt" }
  ]
}

and und or lassen sich beliebig ineinander verschachteln, wenn du komplexere Regeln brauchst. Lässt du das Bedingungsfeld leer, gilt der Trigger immer.

Welche Vergleiche möglich sind

Im operator legst du fest, wie verglichen wird:

Operator Bedeutung
== gleich
!= ungleich
> >= größer / größer oder gleich
< <= kleiner / kleiner oder gleich
in Wert ist in einer Liste enthalten
not_in Wert ist nicht in einer Liste enthalten

Für Datumsvergleiche kannst du als Wert "now" einsetzen – das steht für den aktuellen Zeitpunkt, z. B. um zu prüfen, ob ein Datum in der Zukunft liegt.

Je nach Feldwert unterschiedliche Empfänger benachrichtigen

Ein häufiger Wunsch: Je nach Auswahl in einem Feld soll eine andere Mailadresse benachrichtigt werden. Das löst du mit mehreren Triggern am selben Workflow-Schritt – jeder mit seiner eigenen Bedingung.

Beispiel – das Feld kuratiert_von entscheidet über den Empfänger:

  1. Trigger 1: Aktion „Nachricht senden", Empfänger cm@…, Bedingung
    { "field": "kuratiert_von", "operator": "==", "value": "CM" }
  2. Trigger 2: Aktion „Nachricht senden", Empfänger pob@…, Bedingung
    { "field": "kuratiert_von", "operator": "==", "value": "POB" }

Beide Trigger hängen am selben Schritt. festiware prüft bei jedem Datensatz beide Bedingungen und führt nur den passenden Trigger aus. So kannst du beliebig viele Empfänger sauber auseinanderhalten.

Tipps und Stolpersteine

  • Feldname statt Präfix: Für eigene Formularfelder ist der reine Feldname richtig (kuratiert_von), nicht data.kuratiert_von.
  • Werte müssen exakt passen: Bei Auswahlfeldern vergleichst du gegen den hinterlegten Optionswert. Achte auf Groß-/Kleinschreibung.
  • Bezug auf verknüpfte Daten: Wenn du dich auf ein Feld einer verknüpften Person oder Gruppe beziehst, nutzt du die Punkt-Schreibweise (z. B. application.kategorie). Halte solche Bedingungen aber sparsam – einfache Felder am Datensatz selbst sind am robustesten.
  • Mehrere Empfänger: Lieber mehrere klar benannte Trigger mit je einer Bedingung als einen Trigger mit verschachtelter Logik – das bleibt übersichtlicher.

Damit kannst du steuern, dass jeder Trigger nur in genau den Situationen feuert, in denen er gebraucht wird. Wie du Trigger grundsätzlich an Teams hängst, liest du in Automatische E-Mail Benachrichtigungen an Teams; wenn du stattdessen mehrere Status-Dimensionen nebeneinander abbilden willst, hilft dir Ist es möglich mehrere Journey status Spalten nebeneinander zu haben?.

Hat das Deine Frage beantwortet? Danke für Dein Feedback Es gab ein Problem beim Absenden Deines Feedbacks

Brauchst Du weitere Hilfe? Schreib uns! Schreib uns!