In Microsoft Power Automate werden Flow ausgeführt, sobald der Trigger erfüllt wird, z.B. ein Element wird in SharePoint erstellt oder bearbeitet, eine neue Microsoft Forms Umfrage wurde ausgefüllt oder eine E-Mail ist eingegangen. Doch manchmal soll der Flow nur starten, wenn eine bestimmte Bedingung erfüllt ist, etwa der SharePoint Listenwert weißt einen bestimmten Wert auf. Hierzu gibt es die Triggerbedingungen in Power Automate, auf die ich im weiteren genauer eingehen möchte.
Nehmen wir das Beispiel, dass wir eine E-Mail Benachrichtigung erhalten möchten, sobald ein SharePoint Listenelement auf “Abgeschlossen” gesetzt wurde. Hierzu könnte man den SharePoint Trigger “Wenn ein Element erstell oder geändert wird” nutzen, dann eine Bedingung hinzufügen “Wenn Abgeschlossen ist gleich True” (Voraussetzung es handelt sich bei dem Feld “Abgeschlossen” um ein “Ja/Nein”-Feld) und “Wenn ja”, wird eine E-Mail gesendet.

Dies hat allerdings zur Folge, dass unser Flow immer getriggert wird, sobald ein neues Element in unserer Liste erstellt oder bearbeitet wird, ganz egal, ob unser Feld Abgeschlossen gleich True oder False ist, die Überprüfung findet dann erst im Flow selbst statt. Betrachten wir allerdings die Anzahl der API-Anforderungen, die ein Benutzer durch seine Lizenz in 24 Stunden ausführen kann, könnte es bei einer hohen Bearbeitung in der SharePoint-Liste zu Problemen kommen:
Benutzerlizenzen | Anzahl API-Anforderungen / 24 Stunden |
Dynamics 365 Enterprise-Anwendungen | 20.000 |
Dynamics 365 Professional | 10.000 |
Dynamics 365-Teammitglieder | 5.000 |
Power Apps pro Benutzerplan | 5.000 |
Power Automate pro Benutzerplan | 5.000 |
Office-Lizenzen (mit Power Apps/Power Automate) | 2.000 |
(Quelle: https://docs.microsoft.com/de-de/power-platform/admin/api-request-limits-allocations Stand: 18.04.2020; Einschränkungen in den Lizenzen bitten dem Docs-Artikel entnehmen)
Was ist eine Microsoft Power Platform-Anforderung?
Anforderungen bestehen aus verschiedenen Aktionen, die ein Benutzer für verschiedene Produkte ausführt. Auf einer allgemeinen Ebene ist unten aufgeführt, was einen API-Aufruf ausmacht:
- Konnektoren – Alle API-Anforderungen an Konnektoren von Power Apps oder Power Automate
- Microsoft Power Automate – Alle schrittweisen Power Automate-Aktionen
- Common Data Service – CRUD-Vorgänge (Create, Read, Update, Delete) sowie alle Spezialvorgänge wie “Teilen” oder “Zuweisen”.
Achten Sie darauf, dass es für Common Data Service eine kleine Auswahl an systeminternen Vorgängen gibt, die ausgeschlossen sind, wie Anmelden, Abmelden und Systemmetadaten-Vorgänge wie getClientMetadata
(Quelle: https://docs.microsoft.com/de-de/power-platform/admin/api-request-limits-allocations#what-is-a-microsoft-power-platform-request Stand: 18.04.2020)
Wir führen also immer wieder (unnötige) Anforderungen aus, obwohl unser Element noch gar nicht abgeschlossen ist.
Wie können wir dies verhindern?
Microsoft hat hier für Microsoft Power Automate eine Funktion in die Triggereinstellungen eingebaut, mit der wir bereits im Trigger eine Bedingung integrieren können, sodass unser Flow nur startet, wenn diese Bedingung erfüllt wurde. Um diese zu finden, klicken wir auf die drei Punkte unseres Triggers und wählen “Einstellungen”


Am Ende der Einstellungen finden wir die Funktion “Triggerbedingungen”, mit der wir einen Ausdruck definieren können, der den Wert TRUE aufweisen muss, damit unser Trigger und damit unser Flow gestartet wird. Wir können hier bis zu zehn Triggerbedingungen festlegen.
Wie gebe Ich eine neue Triggerbedingung an?
Klicken wir auf “Hinzufügen”, öffnet sich ein Feld, in dem wir unsere Triggerbedingung hinzufügen müssen. Doch was geben wir hier nun an?
Hier müssen wir mit Ausdrücken arbeiten, die wir bereits aus unserem Dynamischen Inhalt kennen:

Um unseren Ausdruck zu schreiben, kann uns auch die “Aktion” Verfassen helfen, falls wir unseren Ausdruck überprüfen möchten:

Da unser Flow nur starten soll, wenn unsere SharePoint Spalte “Abgeschlossen” gleich Ja/TRUE ist, nutzen wir den folgenden Ausdruck “equals”:
equals(triggerBody()?['Abgeschlossen'],true)
Durch “equals” werden werden zwei Werte miteinander verglichen und uns wird “true”, wenn die Werte gleich sind, oder “false”, wenn die Werte ungleich sind, zurückgegeben. Dabei ist darauf zu achten, dass in unserem “equals” true als boolischer Wert angegeben wird und nicht als Text.
Führen wir unseren Flow noch ohne Triggerbedingung aus, erhalten wir folgende Ergebnisse für “Verfassen”:


Haben wir unseren Ausdruck gefunden, der die richtigen Ergebnisse liefert, kopieren wir diesen Ausdruck einfach in unsere Triggerbedingung. Wichtig dabei ist, dass vor dem Ausdruck ein @-Symbol hinzugefügt wird.

Außerdem können wir unsere Bedingung entfernen:

Zum Test erstellen wir in unserer SharePoint-Liste nun zwei Elemente, ein Element mit “Abgeschlossen” = Ja und ein Element mit “Abgeschlossen” = Nein. Wenn unser Ausdruck richtig ist, sollte nur ein Flow ausgeführt werden:



Ich hoffe euch hat der Beitrag weitergeholfen und viel Erfolg bei der Nutzung von Triggerbedingungen in Power Automate 🙂
Euer Marvin
Hi Marvin,
ich arbeite in Microsoft in der deutschen Sprache. Die meisten Videos über Power Automate (und ähnliche) schaue ich mir im Englisch. Gibt es eine Liste, wo man die ganzen englischen Triggernamen mit den deutschen Begriffen findet? Z. B. wo steht das “compose” “verfassen” heißt.
Ich tue mir sehr schwer damit und die IT-Abteilung bei uns ist nicht wirklich hilfreich (so dass sie mir Englisch installieren würden [die Adminrechte dazu habe ich natürlich nicht]). Ich habe online Power Automate auf Englisch und in Visio leider auf Deutsch…
Vielen Dank im Voraus für Deine Antwort.
Und vielen Dank für diesen Beitrag, ich denke ich werde diese Bedingungen in meinen Flows verwenden!
Hi Kris,
eine Liste gibt es nicht, soweit ich weiß. Du kannst aber alle Aktionen und Trigger in den Microsoft Docs nachschlagen:
https://docs.microsoft.com/de-de/power-automate/data-operations
über die Länderkennung “de-de” in der URL kannst du jeweils zwischen deutsch und englisch wechseln: “de-de” vs. “en-us”. Dann siehst du jeweils den deutschen und den englischen Namen z.B. “Verfassen” bzw. “Compose”.
Ich hoffe das hilft dir!
Viele Grüße
Marvin