Trigger Conditions in Power Automate richtig einsetzen
Trigger Conditions in Power Automate helfen dir dabei, Flows gezielt zu steuern und unnötige Ausführungen zu vermeiden. Statt Bedingungen erst im Flow zu prüfen, definierst du Trigger Bedingungen direkt am Einstiegspunkt. So wird dein Flow nur gestartet, wenn bestimmte Kriterien erfüllt sind. Das verbessert nicht nur die Performance, sondern reduziert auch Flow Runs und spart Ressourcen.
Vorteile
Weniger Flow Runs, bessere Performance und klarere Logik sind die größten Vorteile.
Beispiel equals
Wenn du mit Trigger Conditions arbeitest, wirst du früher oder später auf die equals-Funktion stoßen. Und genau hier passieren oft kleine Fehler, die später richtig Zeit kosten. Deshalb schauen wir uns das Ganze einmal sauber und praxisnah an.
Die Funktion equals() prüft, ob zwei Werte exakt gleich sind. Klingt simpel, aber im Kontext von Trigger Conditions kommt es stark darauf an, wie du die Werte referenzierst. Denn du arbeitest hier direkt mit den Rohdaten des Triggers und nicht mit den dynamischen Inhalten aus den Actions.
Ein klassisches Beispiel ist die Prüfung auf einen Dateinamen. Stell dir vor, dein Flow soll nur starten, wenn eine bestimmte Excel-Datei hochgeladen wird. Genau hier kommt equals() ins Spiel.
Power Automate |
@equals(triggerOutputs()?['body/{FilenameWithExtension}'],'ExcelFile.xlsx')
Was passiert hier genau?
Der Ausdruck greift auf den Output des Triggers zu, genauer gesagt auf den Dateinamen inklusive Endung. Danach wird geprüft, ob dieser exakt dem String 'ExcelFile.xlsx' entspricht.
Wenn das zutrifft, wird der Flow gestartet. Wenn nicht, passiert einfach nichts. Und genau das ist der große Vorteil: Der Flow läuft gar nicht erst los.
Einstellung und Bedingung
Wenn du TriggerConditions nutzen willst, musst du erst wissen, wo sich dieses Setting überhaupt versteckt. Es ist nämlich nicht direkt sichtbar im Flow Designer. Genau das sorgt oft für Verwirrung, besonders am Anfang. In diesem Artikel zeige ich dir Schritt für Schritt, wie du zu den TriggerConditions kommst und wie du sie sauber konfigurierst. Du bekommst außerdem direkt ein praxisnahes Beispiel, das du sofort übernehmen kannst.
Der Einstiegspunkt ist immer dein Trigger. In deinem Beispiel ist das „When a file is created or modified (properties only)“. Genau hier setzt du an. Öffne zuerst deinen Flow im Editor. Danach klickst du direkt auf den Trigger. Wichtig: Nicht auf einen Step darunter, sondern wirklich auf den ersten Block. Rechts oben im Trigger findest du die drei Punkte (…). Diese sind leicht zu übersehen, aber entscheidend. Klick darauf und wähle dann Settings aus. Damit öffnet sich ein Panel mit erweiterten Optionen.
Im Settings-Bereich siehst du mehrere Optionen wie:
- Split On
- Retry Policy
- Concurrency Control
- Trigger Conditions
Für dich ist nur der letzte Punkt relevant. Scrolle einfach nach unten, bis du Trigger Conditions siehst.
Sobald du im Bereich bist, klickst du auf + Add. Danach erscheint ein Eingabefeld für deine Expression.
Debugging: Wenn der Flow nicht startet
Wenn dein Flow plötzlich gar nicht mehr läuft, liegt das oft an einer TriggerCondition.
Das Problem: Der Flow wird dann gar nicht erst gestartet. Du siehst also keinen Fehler im Run-Verlauf.
Deshalb mein Tipp:
Teste deine Expression zuerst im Flow selbst mit einer normalen Condition. Wenn sie dort funktioniert, kannst du sie in die TriggerConditions übernehmen.
Weitere Beispiele
Neben equals() gibt es noch weitere hilfreiche Funktionen, die du in Trigger Conditions einsetzen kannst, um deinen Flow noch gezielter zu steuern. Mit startsWith() kannst du zum Beispiel prüfen, ob ein Dateiname mit einem bestimmten Präfix beginnt, was besonders nützlich ist, wenn Dateien nach einem festen Schema benannt werden. Ähnlich funktioniert endsWith(), etwa wenn du nur auf bestimmte Dateitypen wie .xlsx reagieren willst. Wenn du flexibler vergleichen möchtest, bietet sich contains() an, um zu prüfen, ob ein Wert irgendwo im String vorkommt. Für komplexere Szenarien kannst du außerdem and() und or() kombinieren, um mehrere Bedingungen logisch zu verknüpfen. So stellst du sicher, dass dein Flow wirklich nur dann startet, wenn alle relevanten Kriterien erfüllt sind oder alternativ mindestens eine Bedingung zutrifft. Diese Funktionen helfen dir dabei, deine Trigger Conditions deutlich robuster und gleichzeitig wartbarer zu gestalten, ohne dass du unnötige Logik in den eigentlichen Flow verschieben musst.
Power Automate |
@startsWith(triggerOutputs()?['body/{FilenameWithExtension}'], 'Excel')
Power Automate |
@endsWith(triggerOutputs()?['body/{FilenameWithExtension}'], '.xlsx')
Power Automate |
@contains(triggerOutputs()?['body/{FilenameWithExtension}'], 'File')
Power Automate |
@and(
startsWith(triggerOutputs()?['body/{FilenameWithExtension}'], 'Excel'),
endsWith(triggerOutputs()?['body/{FilenameWithExtension}'], '.xlsx')
)
Power Automate |
@or(
contains(triggerOutputs()?['body/{FilenameWithExtension}'], 'Report'),
contains(triggerOutputs()?['body/{FilenameWithExtension}'], 'Summary')
)
Power Automate |
@contains(toLower(triggerOutputs()?['body/{FilenameWithExtension}']), 'file')
Power Automate |
@not(contains(triggerOutputs()?['body/{FilenameWithExtension}'], 'temp'))
Power Automate |
@greater(length(triggerOutputs()?['body/{FilenameWithExtension}']), 10)
Best Practices
Halte deine TriggerConditions so simpel wie möglich. Nutze sie nur für einfache Filter wie:
- Dateiname
- Status
- einfache Werte
Komplexe Logik gehört weiterhin in den Flow.
Außerdem lohnt es sich, die Expressions kurz zu dokumentieren. Nach ein paar Wochen weißt du sonst nicht mehr, warum der Flow plötzlich nicht mehr startet.
Fazit
TriggerConditions sind extrem mächtig, aber auch etwas versteckt. Wenn du einmal weißt, wo sie liegen, kannst du deine Flows deutlich effizienter machen.
Du reduzierst unnötige Runs, verbesserst die Performance und sorgst für saubere Logik direkt am Einstiegspunkt.
Gerade bei häufig ausgelösten Triggern ist das ein echter Vorteil, den viele noch nicht nutzen.
Kontaktiere mich direkt über das Kontaktformular. LowCode Investigator ist deine Plattform für praxisnahe Einblicke in die Welt der LowCode-Entwicklung – von Devs für Devs.
noch mehr interessante Beiträge
Sie sehen gerade einen Platzhalterinhalt von Vimeo. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr InformationenSie sehen gerade einen Platzhalterinhalt von YouTube. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr InformationenSie müssen den Inhalt von reCAPTCHA laden, um das Formular abzuschicken. Bitte beachten Sie, dass dabei Daten mit Drittanbietern ausgetauscht werden.
Mehr Informationen