Wiele osób pyta: jak zrobić przepływ, który reaguje tylko na określone warunki? Najczęstsza odpowiedź brzmi — dodaj Condition w środku flow. Ale jest lepszy sposób: Trigger Conditions, czyli warunki ustawione bezpośrednio na poziomie wyzwalacza.
Na czym polega problem
Wyobraź sobie przepływ, który reaguje na dodanie elementu do listy SharePoint. Domyślnie uruchamia się za każdym razem gdy cokolwiek trafi na listę — bez względu na wartości w polach. Jeżeli chcesz, żeby przepływ działał tylko dla rekordów spełniających określony warunek (np. określony dział, kategoria lub email), tradycyjne podejście to:
- Uruchom flow.
- Sprawdź warunek (Condition).
- Jeśli nie spełnia — zakończ bez akcji.
To działa, ale ma wadę: każde uruchomienie liczy się jako wykonanie i zużywa limit API. Trigger Conditions eliminują ten problem — flow w ogóle się nie uruchamia, gdy warunek nie jest spełniony.
Jak działają Trigger Conditions
Trigger Conditions to wyrażenia ustawiane w sekcji Settings wyzwalacza. Możesz je znaleźć klikając trzy kropki (…) przy triggerze → Settings → Trigger Conditions.
Wyrażenia korzystają z tej samej składni co inne wyrażenia w Power Automate (bez nawiasów klamrowych @{ } na początku). Przykłady:
@equals(triggerBody()?['Email'], 'admin@firma.pl')— uruchom tylko gdy pole Email = admin@firma.pl@equals(triggerBody()?['Status/Value'], 'Zatwierdzony')— tylko dla statusu "Zatwierdzony"@greater(triggerBody()?['Kwota'], 10000)— tylko gdy kwota powyżej 10 000
Jak znaleźć poprawną nazwę pola
Żeby nie zgadywać nazwy pola, użyj prostego tricku pokazanego w odcinku: dodaj do flow akcję Compose, w której dynamicznie wybierz wartość z triggera — np. pole Email. Następnie skopiuj wyraz między ?[' a '] z dynamicznego tokenu — to jest dokładna nazwa, której potrzebujesz w wyrażeniu Trigger Condition.
Łączenie wielu warunków
Możesz dodać wiele Trigger Conditions — Power Automate traktuje je jak logiczne AND (wszystkie muszą być spełnione). Jeśli potrzebujesz OR lub bardziej złożonej logiki, skonstruuj jedno wyrażenie z funkcją @or() lub @and().
Dokumentacja Microsoft opisuje pełną składnię dostępnych funkcji — warto ją mieć pod ręką przy budowaniu bardziej złożonych warunków.
Kiedy używać Trigger Conditions, a kiedy Condition w flow
- Trigger Condition — gdy chcesz zablokować uruchomienie flow całkowicie. Oszczędza limity API, nie zostawia historii wykonań.
- Condition wewnątrz flow — gdy chcesz logować próby, wysyłać powiadomienie o odrzuceniu lub obsłużyć kilka ścieżek w jednym flow.
W prostych scenariuszach, gdzie flow ma po prostu "nie działać" dla większości zdarzeń, Trigger Condition jest zdecydowanie lepszym wyborem.