Logika przepływów w Power Automate – warunki, zmienne i pętle w praktyce
Poznaj praktyczne zastosowania warunków, zmiennych i pętli w Power Automate – twórz inteligentne, dynamiczne przepływy automatyzacji procesów!
Artykuł przeznaczony dla osób tworzących przepływy w Microsoft Power Automate (użytkowników biznesowych i początkujących automatyzatorów), które chcą lepiej zrozumieć logikę warunków, zmiennych, pętli i wyrażeń.
Z tego artykułu dowiesz się
- Jak działają warunki (if) w Power Automate i jak wpływają na przebieg przepływu?
- Jakie typy zmiennych są dostępne w Power Automate i do czego najlepiej je wykorzystywać?
- Jak używać pętli Apply to each oraz wyrażeń do przetwarzania i przekształcania danych w przepływach?
Wprowadzenie do logiki przepływów w Power Automate
Power Automate to usługa chmurowa od Microsoft, która umożliwia automatyzację procesów biznesowych, integrację aplikacji i usług oraz uproszczenie codziennych zadań poprzez tworzenie tzw. przepływów (flows). Jednym z kluczowych elementów efektywnego budowania przepływów jest zrozumienie i wykorzystanie logiki, która decyduje o tym, jak przepływ będzie reagował na różne dane i sytuacje.
Logika przepływów opiera się na kilku podstawowych mechanizmach, które pozwalają sterować zachowaniem automatyzacji w zależności od kontekstu:
- Warunki – umożliwiają podejmowanie decyzji w przepływie na podstawie zadanych kryteriów. Dzięki nim możliwe jest wykonanie różnych działań w zależności od wartości danych wejściowych.
- Zmiennie – pozwalają na tymczasowe przechowywanie i modyfikowanie danych w trakcie działania przepływu. Są przydatne m.in. do zliczania, przechowywania informacji tymczasowych czy budowania bardziej złożonych logik.
- Pętle – umożliwiają przetwarzanie wielu elementów, takich jak rekordy w liście czy wiersze z tabeli. Dzięki nim można zastosować to samo działanie do każdego elementu zbioru danych.
Te trzy elementy stanowią fundament logiki w Power Automate i pozwalają tworzyć dynamiczne, reagujące na zmiany środowiska i danych przepływy. Dzięki ich użyciu możliwe jest budowanie zarówno prostych automatyzacji, jak i złożonych procesów biznesowych, które dostosowują się do bieżących warunków i danych użytkownika.
Warunki (if) – kontrolowanie przepływu na podstawie logiki
Warunki w Power Automate pozwalają sterować przebiegiem przepływu na podstawie logicznych reguł. Dzięki nim możliwe jest podejmowanie decyzji w zależności od wartości danych wejściowych, wyników poprzednich akcji lub określonych stanów systemu.
Najczęściej stosowaną formą warunkowego sterowania jest akcja Condition, która działa podobnie do instrukcji if znanej z języków programowania. Pozwala ona określić, co ma się wydarzyć, gdy dany warunek jest spełniony (ścieżka "Yes"), oraz co ma się stać, gdy warunek nie zostanie spełniony (ścieżka "No").
Typowe zastosowania warunków to m.in.:
- Sprawdzanie, czy wiadomość e-mail pochodzi od określonego nadawcy
- Decydowanie o dalszym przetwarzaniu na podstawie wartości kolumny w SharePoint
- Wysyłanie powiadomień tylko wtedy, gdy spełnione są określone kryteria
Warto zaznaczyć, że Power Automate umożliwia budowanie zarówno prostych, jak i złożonych wyrażeń warunkowych, obejmujących wiele kryteriów logicznych oraz operatory porównania, co daje dużą elastyczność w projektowaniu przepływów.
Ten wpis powstał w odpowiedzi na zagadnienia, które regularnie pojawiają się na szkoleniach prowadzonych przez Cognity.
Zmiennie – przechowywanie i modyfikowanie danych w przepływie
Zmiennie to istotny element logiki w Power Automate, umożliwiający tymczasowe przechowywanie danych w trakcie działania przepływu oraz ich późniejszą modyfikację. Dzięki nim możemy zachować wartości, które będą wykorzystywane w różnych krokach automatyzacji – np. do zliczania elementów, budowania tekstów czy warunkowego przetwarzania danych.
W Power Automate dostępnych jest kilka typów zmiennych, które różnią się zastosowaniem i sposobem użycia. Poniższa tabela przedstawia podstawowe różnice:
| Typ zmiennej | Opis | Typowe zastosowania |
|---|---|---|
| String | Przechowuje ciągi tekstowe | Tworzenie i manipulowanie tekstem, budowanie wiadomości e-mail |
| Integer | Liczby całkowite | Zliczanie elementów, sterowanie pętlami |
| Boolean | Wartości logiczne – prawda/fałsz | Warunkowe sterowanie przepływem |
| Array | Tablice wartości | Przechowywanie wielu elementów, dynamiczne przetwarzanie danych |
| Object | Struktury danych złożone z kluczy i wartości | Praca z JSON-em, agregacja danych |
Tworzenie zmiennych odbywa się za pomocą akcji takich jak „Initialize variable” (inicjalizacja zmiennej), „Set variable” (ustawianie wartości) oraz „Increment variable” (inkrementacja, czyli zwiększanie wartości liczbowej). Przykład inicjalizacji zmiennej tekstowej:
{
"name": "statusMessage",
"type": "String",
"value": "Początek przepływu"
}
Zmiennych można używać również wewnątrz warunków i pętli, co czyni je niezwykle elastycznym narzędziem do tworzenia bardziej zaawansowanej logiki. Ich prawidłowe stosowanie pozwala znacznie uprościć przepływy i uczynić je bardziej czytelnymi oraz skalowalnymi. Jeśli chcesz nauczyć się, jak skutecznie wykorzystywać zmienne i inne funkcje automatyzacji w praktyce, sprawdź nasz Kurs Microsoft Power Automate (kurs Flow) podstawowy – automatyzacja procesów i zadań.
Pętle (Apply to each) – przetwarzanie kolekcji danych
W Power Automate pętle typu „Apply to each” pozwalają automatycznie wykonywać te same działania dla każdego elementu w kolekcji. Dzięki nim można w prosty sposób przetwarzać listy, tablice, wyniki zapytań czy odpowiedzi z formularzy – bez konieczności ręcznego powielania kroków.
Pętla Apply to each uruchamia zawarte w niej kroki dla każdego elementu wejściowego, np. dla każdego wiersza z pliku Excel, każdego zadania z listy SharePoint lub każdej wiadomości e-mail znalezionej w skrzynce odbiorczej.
| Element | Opis | Przykład zastosowania |
|---|---|---|
| Źródło danych | Kolekcja, tablica, lista rekordów (np. z SQL, Excel, SharePoint) | Lista zgłoszeń z formularza online |
| Zakres pętli | Każdy element kolekcji jest przetwarzany osobno | Sprawdzenie statusu każdego zadania i jego aktualizacja |
| Działania w pętli | Dowolne kroki (np. warunki, aktualizacja danych, wysyłka e-maili) | Wysłanie potwierdzenia do każdego zgłoszeniodawcy |
Oto uproszczony przykład użycia pętli Apply to each w Power Automate:
{
"Apply_to_each": {
"inputs": "@outputs('Get_items')?['body/value']",
"actions": [
{
"Send_an_email": {
"To": "@items('Apply_to_each')?['Email']",
"Subject": "Potwierdzenie zgłoszenia",
"Body": "Dziękujemy za zgłoszenie."
}
}
]
}
}
Warto pamiętać, że działania wewnątrz pętli są wykonywane sekwencyjnie, co może mieć wpływ na czas trwania przepływu. W przypadku dużych zbiorów danych, warto rozważyć optymalizację lub zastosowanie przetwarzania równoległego.
Na szkoleniach Cognity pokazujemy, jak poradzić sobie z tym zagadnieniem krok po kroku – poniżej przedstawiamy skrót tych metod.
Pętle są kluczowym składnikiem logiki przepływu, gdy potrzebujesz zautomatyzowanego podejścia do powtarzalnych operacji na wielu elementach. Dzięki nim Power Automate staje się potężnym narzędziem do masowego przetwarzania danych w sposób przejrzysty i elastyczny.
Wyrażenia – dynamiczne operacje i przekształcenia danych
Power Automate oferuje rozbudowany zestaw wyrażeń, które pozwalają na dynamiczne manipulowanie danymi w trakcie działania przepływu. Dzięki nim możliwe jest wykonywanie obliczeń, operacji na ciągach znaków, sprawdzanie warunków logicznych czy przekształcanie danych wejściowych bez potrzeby pisania kodu.
Wyrażenia są szczególnie przydatne, gdy chcemy dostosować sposób działania przepływu w oparciu o wartości zmienne, dane z formularzy, e-maili, SharePointa czy innych źródeł. Wbudowany język wyrażeń Power Automate bazuje na składni zbliżonej do języka Azure Logic Apps i obejmuje szeroką gamę funkcji.
Typowe zastosowania wyrażeń
- Łączenie i dzielenie tekstu (np.
concat(),split()) - Operacje matematyczne (np.
add(),mul()) - Warunki logiczne i porównania (np.
equals(),if()) - Praca z datami i czasem (np.
addDays(),utcNow()) - Pobieranie danych z obiektów JSON (np.
items(),variables())
Porównanie: Akcje vs Wyrażenia
Poniższa tabela ilustruje kluczowe różnice między użyciem akcji a wyrażeń w przepływach:
| Aspekt | Akcje | Wyrażenia |
|---|---|---|
| Forma | Graficzny interfejs (krok w przepływie) | Funkcja tekstowa wpisywana ręcznie |
| Elastyczność | Ograniczona do dostępnych opcji akcji | Wysoka – możliwość złożonych operacji na danych |
| Wydajność | Każda akcja dodaje krok do przepływu | Wyrażenia wykonywane wewnątrz innych akcji – większa wydajność |
Przykład użycia
Załóżmy, że chcemy połączyć imię i nazwisko z dwóch pól formularza w jedną wartość. Możemy użyć wyrażenia:
concat(triggerOutputs()?['body/firstName'], ' ', triggerOutputs()?['body/lastName'])
Wynikiem będzie pojedynczy ciąg tekstowy zawierający pełne imię i nazwisko, który można wykorzystać w dalszych krokach przepływu.
Dzięki wyrażeniom Power Automate zyskuje znaczną moc transformacyjną, umożliwiając tworzenie inteligentnych i elastycznych przepływów dostosowanych do różnorodnych scenariuszy biznesowych. Jeśli chcesz pogłębić swoją wiedzę i poznać bardziej zaawansowane możliwości automatyzacji, sprawdź Kurs Microsoft Power Automate zaawansowany – automatyzacja i synchronizacja przepływów.
Praktyczny scenariusz: filtrowanie wiadomości e-mail
Jednym z najczęstszych zastosowań Power Automate w codziennej pracy biurowej jest automatyczne filtrowanie wiadomości e-mail. Dzięki wykorzystaniu warunków logicznych, zmiennych oraz pętli możemy skonfigurować przepływ, który przetwarza przychodzące wiadomości i podejmuje na ich podstawie określone działania, np. zapisuje załączniki, oznacza priorytety czy przenosi wiadomości do odpowiednich folderów.
Załóżmy, że chcemy utworzyć przepływ, który:
- Sprawdza, czy nadawca wiadomości pochodzi z konkretnej domeny (np. firmowej).
- Ocenia, czy tytuł wiadomości zawiera określone słowo kluczowe (np. "faktura").
- Dla wiadomości spełniających warunki — zapisuje załączniki w wybranej bibliotece SharePoint, a samą wiadomość przenosi do folderu „Faktury”.
Do realizacji tego scenariusza wykorzystamy następujące elementy logiki przepływu:
| Element logiki | Zastosowanie w scenariuszu |
|---|---|
| Warunki (if) | Sprawdzenie, czy nadawca należy do określonej domeny oraz czy temat wiadomości zawiera słowo kluczowe. |
| Zmienna | Przechowywanie statusu przetwarzania wiadomości (np. czy załącznik został zapisany). |
| Pętla (Apply to each) | Iterowanie po wszystkich załącznikach w wiadomości, aby można je było zapisać indywidualnie. |
Przykładowy fragment logiki warunkowej może wyglądać tak:
{
"if": {
"condition": "@and(contains(triggerBody()?['From'], '@firma.pl'), contains(triggerBody()?['Subject'], 'faktura'))",
"actions": [
// zapis załącznika, przeniesienie wiadomości itd.
]
}
}
Dzięki temu podejściu możemy zautomatyzować procesy związane z obsługą skrzynki mailowej i znacząco zredukować czas spędzany na ręcznej selekcji i porządkowaniu wiadomości.
Praktyczny scenariusz: przetwarzanie danych z formularzy
Jednym z najczęstszych zastosowań Power Automate w środowisku biznesowym jest automatyzacja procesów związanych z obsługą formularzy. Dane wprowadzane przez użytkowników, np. w formularzach Microsoft Forms lub innych narzędziach, mogą być automatycznie przechwytywane i przetwarzane przy użyciu logiki przepływu.
Przykładowy scenariusz może obejmować formularz zgłoszeniowy, w którym użytkownik wprowadza dane kontaktowe, wybiera typ zgłoszenia oraz dodaje opis problemu. Po przesłaniu formularza, przepływ w Power Automate może automatycznie:
- zarejestrować dane w określonym arkuszu Excel lub bazie danych,
- wysłac potwierdzenie e-mail do osoby wypełniającej formularz,
- przekazać zgłoszenie do odpowiedniego działu w organizacji,
- uzależnić dalsze kroki od typu zgłoszenia – np. utworzyć zadanie w systemie zarządzania projektami lub wysłać powiadomienie do zespołu pomocy technicznej.
W tego rodzaju scenariuszach stosuje się warunki logiczne, zmienne do przechowywania danych z formularza, a także pętle przy przetwarzaniu większej liczby odpowiedzi. Power Automate umożliwia też zastosowanie wyrażeń do dynamicznego przekształcania danych przed ich dalszym użyciem.
Przetwarzanie danych z formularzy to doskonały przykład tego, jak Power Automate może usprawnić i zautomatyzować powtarzalne zadania, jednocześnie zwiększając dokładność i szybkość obsługi procesów biznesowych.
Podsumowanie i dobre praktyki tworzenia logiki przepływów
Tworzenie skutecznych przepływów w Power Automate opiera się na umiejętnym wykorzystaniu dostępnych elementów logiki: warunków, zmiennych, pętli i wyrażeń. Każdy z tych elementów pełni inną funkcję i odpowiada za kontrolę przepływu danych oraz wykonywanie działań w sposób dynamiczny i zoptymalizowany.
Warunki pozwalają na podejmowanie decyzji w zależności od wartości danych, zmienne służą do ich przechowywania i modyfikowania, a pętle umożliwiają iteracyjne przetwarzanie list lub zbiorów danych. Wyrażenia natomiast dają możliwość tworzenia bardziej zaawansowanej logiki i przekształceń.
Aby budować przejrzyste i efektywne przepływy, warto stosować się do kilku dobrych praktyk:
- Używaj nazw opisowych dla działań, zmiennych i warunków – to ułatwia zrozumienie logiki przepływu, szczególnie w większych automatyzacjach.
- Testuj przepływy etapami – uruchamianie przepływu na różnych etapach tworzenia pomaga szybciej wykrywać błędy i nieprawidłowości.
- Unikaj zagnieżdżania zbyt wielu warunków lub pętli – przepływy stają się wtedy trudne do utrzymania i mniej czytelne.
- Stosuj komentarze i notatki (tam, gdzie to możliwe) – pomagają zrozumieć cel poszczególnych działań, szczególnie po dłuższym czasie lub dla innych użytkowników.
- Optymalizuj logikę – usuwaj niepotrzebne kroki, stosuj wyrażenia zamiast dodatkowych akcji, gdy to możliwe.
Stosowanie tych zasad nie tylko ułatwia pracę z Power Automate, ale również zwiększa niezawodność i skalowalność budowanych rozwiązań automatyzujących procesy biznesowe. Podczas szkoleń Cognity pogłębiamy te zagadnienia w oparciu o konkretne przykłady z pracy uczestników.