Jak automatyzować zatwierdzanie wniosków urlopowych w Power Automate?

Dowiedz się, jak krok po kroku zautomatyzować proces składania i zatwierdzania wniosków urlopowych przy użyciu Power Automate i SharePoint.
01 stycznia 2025
blog
Poziom: Średnio zaawansowany

Artykuł przeznaczony dla użytkowników Microsoft 365 (np. HR, menedżerów i osób automatyzujących procesy), którzy chcą wdrożyć w Power Automate proces obsługi i zatwierdzania wniosków urlopowych z użyciem SharePoint, Forms, Outlook i opcjonalnie Teams.

Z tego artykułu dowiesz się

  • Jak zbudować formularz do składania wniosków urlopowych i zintegrować go z Power Automate?
  • Jak skonfigurować listę SharePoint jako bazę danych wniosków oraz zbudować przepływ zatwierdzania krok po kroku?
  • Jak automatyzować powiadomienia, proces akceptacji/odrzucenia, testowanie oraz jakie są najlepsze praktyki i możliwe rozszerzenia rozwiązania?

Wprowadzenie do Power Automate i celu rozwiązania

Power Automate to narzędzie firmy Microsoft, które umożliwia tworzenie zautomatyzowanych przepływów pracy (ang. workflows) między różnymi usługami i aplikacjami. Jego główną zaletą jest możliwość integracji z ekosystemem Microsoft 365, takimi jak SharePoint, Outlook, Teams czy Excel, ale także z wieloma zewnętrznymi źródłami danych. Dzięki temu użytkownicy mogą automatyzować powtarzalne zadania bez konieczności pisania skomplikowanego kodu.

Jednym z typowych zastosowań Power Automate w środowisku firmowym jest automatyzacja procesów kadrowych, w tym obsługa wniosków urlopowych. Tradycyjny proces oparty na wiadomościach e-mail, arkuszach kalkulacyjnych lub papierowych formularzach jest czasochłonny, podatny na błędy i trudny do monitorowania. Power Automate pozwala uprościć ten proces poprzez automatyczne przyjmowanie, przekazywanie do zatwierdzenia i rejestrowanie wniosków urlopowych w jednym, spójnym systemie.

Główne cele zastosowania Power Automate w kontekście wniosków urlopowych to:

  • Zwiększenie efektywności – eliminacja ręcznego przekazywania dokumentów i przypomnień.
  • Minimalizacja błędów – dane są zbierane i przetwarzane w ustandaryzowany sposób.
  • Lepsza kontrola i przejrzystość – każdy etap procesu jest rejestrowany i możliwy do śledzenia.
  • Integracja z istniejącymi narzędziami – możliwość wykorzystania SharePoint jako bazy danych, Outlook do powiadomień oraz Teams do interakcji.

Dzięki Power Automate możliwe jest stworzenie w pełni zautomatyzowanego systemu, który obsłuży wniosek od momentu jego złożenia, przez zatwierdzenie, aż po finalne zapisanie decyzji i poinformowanie pracownika.

Tworzenie formularza do składania wniosków urlopowych

Proces automatyzacji zatwierdzania wniosków urlopowych w Power Automate rozpoczyna się od stworzenia formularza, który umożliwi pracownikowi wprowadzenie niezbędnych informacji. Formularz ten jest punktem wyjścia całego przepływu i powinien być intuicyjny oraz dostosowany do potrzeb organizacji.

Najczęściej wykorzystywanym narzędziem do tworzenia formularzy w ekosystemie Microsoft 365 jest Microsoft Forms. Pozwala on w szybki sposób zbudować prosty i czytelny formularz online, który można łatwo zintegrować z Power Automate. Alternatywnie, można użyć formularzy wbudowanych w SharePoint Online, szczególnie jeśli dane mają być zapisywane bezpośrednio na liście SharePoint.

Formularz wniosku urlopowego powinien zawierać podstawowe pola umożliwiające zgłoszenie nieobecności, takie jak:

  • Imię i nazwisko pracownika
  • Dział lub zespół
  • Data rozpoczęcia i zakończenia urlopu
  • Rodzaj urlopu (np. wypoczynkowy, bezpłatny, okolicznościowy)
  • Opcjonalne uwagi lub komentarz

W zależności od wybranej platformy, formularz może być osadzony na stronie intranetowej, wysyłany bezpośrednio do pracowników jako link lub zintegrowany z aplikacją Teams.

Ważne jest, aby każdy formularz był odpowiednio uporządkowany i zawierał walidację danych (np. sprawdzanie poprawności dat). Dzięki temu unikniemy błędów, które mogłyby zakłócić dalsze etapy automatyzacji.

W dalszych krokach formularz zostanie powiązany z przepływem w Power Automate, który przechwyci przesłane dane i zainicjuje odpowiedni proces zatwierdzania.

Konfiguracja listy SharePoint jako bazy danych wniosków

SharePoint oferuje elastyczną i zintegrowaną z Microsoft 365 platformę do przechowywania danych, co czyni go idealnym narzędziem do obsługi procesów HR, takich jak wnioski urlopowe. W tym przypadku wykorzystamy SharePoint jako centralną bazę danych, w której będą gromadzone wszystkie dane dotyczące zgłoszeń urlopowych. Jeśli chcesz lepiej poznać możliwości automatyzacji tego typu procesów, sprawdź nasz Kurs Microsoft Power Automate (kurs Flow) podstawowy - automatyzacja procesów i zadań.

Lista SharePoint działa podobnie do tabeli w relacyjnej bazie danych — każdy wniosek to osobny wiersz, a jego właściwości (np. imię pracownika, typ urlopu, data rozpoczęcia) odpowiadają kolumnom.

Przykładowa struktura listy SharePoint

Nazwa kolumny Typ danych Opis
Tytuł Tekst jednowierszowy Unikalna nazwa lub identyfikator zgłoszenia
Imię i nazwisko Tekst jednowierszowy Dane pracownika składającego wniosek
Typ urlopu Wybór Rodzaj urlopu: wypoczynkowy, chorobowy, bezpłatny itp.
Data rozpoczęcia Data i godzina Pierwszy dzień urlopu
Data zakończenia Data i godzina Ostatni dzień urlopu
Status Wybór Stan wniosku: Oczekuje, Zatwierdzony, Odrzucony
Komentarz menedżera Wielowierszowy tekst Uzasadnienie decyzji o zatwierdzeniu lub odrzuceniu

Tworzenie listy SharePoint

Aby skonfigurować listę, należy przejść do witryny SharePoint, a następnie:

  • Utworzyć nową listę niestandardową, np. o nazwie WnioskiUrlopowe
  • Skonfigurować kolumny zgodnie z powyższą tabelą
  • Opcjonalnie ustawić uprawnienia, by dostęp do listy mieli tylko upoważnieni pracownicy i menedżerowie

Przykładowe dodanie elementu przez REST API (opcjonalnie)

Dla bardziej zaawansowanych użytkowników, SharePoint umożliwia także manipulację danymi przez API:

POST https://contoso.sharepoint.com/sites/HR/_api/web/lists/getbytitle('WnioskiUrlopowe')/items
Headers:
  Authorization: Bearer {token}
  Accept: application/json;odata=verbose
Body:
{
  '__metadata': { 'type': 'SP.Data.WnioskiUrlopoweListItem' },
  'Title': 'Wniosek-2024-001',
  'Imie_x0020_i_x0020_nazwisko': 'Jan Kowalski',
  'Typ_x0020_urlopu': 'Wypoczynkowy',
  'Data_x0020_rozpoczecia': '2024-07-01T00:00:00Z',
  'Data_x0020_zakonczenia': '2024-07-10T00:00:00Z',
  'Status': 'Oczekuje'
}

Po poprawnej konfiguracji lista stanie się podstawą do dalszej automatyzacji całego procesu zatwierdzania urlopów w Power Automate.

Budowa przepływu w Power Automate – krok po kroku

Power Automate to narzędzie Microsoft umożliwiające tworzenie zautomatyzowanych przepływów pracy (flow), które integrują różne aplikacje i usługi. W kontekście obsługi wniosków urlopowych pozwala ono na automatyczne reagowanie na zdarzenia, takie jak złożenie nowego wniosku, jego zatwierdzenie przez menedżera czy wysyłanie powiadomień.

Budowa przepływu opiera się na trzech podstawowych składnikach:

  • Wyzwalacz (trigger) – uruchamia przepływ po wystąpieniu określonego zdarzenia, np. dodanie nowego rekordu do listy SharePoint.
  • Akcje (actions) – zestaw zadań wykonywanych automatycznie po wywołaniu wyzwalacza, np. wysłanie e-maila, aktualizacja elementu, rozpoczęcie procesu zatwierdzania.
  • Warunki (conditions) – umożliwiają skierowanie przepływu na różne ścieżki w zależności od spełnionych kryteriów, np. decyzji menedżera.

Przy budowie przepływu w Power Automate dla zatwierdzania wniosków urlopowych najczęściej wykorzystywane są poniższe typy akcji:

Typ akcji Zastosowanie
SharePoint – Get item / Create item / Update item Odczyt, zapis i aktualizacja danych wniosku urlopowego
Outlook – Send an email (V2) Wysyłka powiadomień do pracownika i menedżera
Start and wait for an approval Rozpoczęcie procesu zatwierdzania lub odrzucenia wniosku
Condition Rozdzielanie przepływu w zależności od decyzji o zatwierdzeniu

Pierwszym krokiem podczas tworzenia przepływu będzie wybór odpowiedniego wyzwalacza. W przypadku integracji z SharePoint najczęściej będzie to:

When an item is created (SharePoint)

Po jego ustawieniu dodawane są kolejne akcje – odczyt szczegółów wniosku, wysyłka powiadomień, uruchomienie procesu zatwierdzania i zapis decyzji.

Przykład fragmentu warunku w Power Automate (skrócony):


@equals(outputs('Start_and_wait_for_an_approval')?['body/outcome'], 'Approve')

W praktyce przepływ można budować przy użyciu gotowych szablonów lub od zera, z wykorzystaniem wizualnego kreatora. W kolejnych krokach omówimy konfigurację poszczególnych elementów, takich jak formularz, lista SharePoint czy proces zatwierdzania.

💡 Pro tip: Nazywaj kroki jednoznacznie i od razu zapisz ID elementu (Compose), by łatwo używać go w kolejnych akcjach i w logach. Dodaj warunki zabezpieczające (coalesce, sprawdzenie null) oraz ustaw Configure run after, aby bezpiecznie obsłużyć błędy i ścieżki alternatywne.

Obsługa powiadomień e-mailowych dla pracowników i menedżerów

Efektywna komunikacja stanowi kluczowy element każdego procesu zatwierdzania wniosków urlopowych. W Power Automate możliwe jest zautomatyzowanie powiadomień e-mailowych, co pozwala na szybkie informowanie zarówno pracowników, jak i menedżerów o statusie wniosku. Powiadomienia te mogą być dostosowane do różnych etapów procesu – od momentu złożenia wniosku, przez decyzję menedżera, aż po finalne zatwierdzenie lub odrzucenie.

W zależności od roli odbiorcy, treść oraz moment wysyłki wiadomości e-mail może się znacząco różnić. Oto podstawowe różnice:

Odbiorca Moment wysyłki Cel wiadomości Przykładowy temat e-maila
Pracownik Po złożeniu wniosku / Po decyzji menedżera Potwierdzenie zgłoszenia lub informacja zwrotna Twój wniosek urlopowy został złożony / zatwierdzony / odrzucony
Menedżer Natychmiast po złożeniu wniosku przez pracownika Powiadomienie o oczekującym wniosku do zatwierdzenia Nowy wniosek urlopowy do zatwierdzenia

Power Automate pozwala na dynamiczne tworzenie treści wiadomości e-mail za pomocą zmiennych, co umożliwia personalizację komunikatu w oparciu o dane z formularza lub listy SharePoint. Dla przykładu, można wstawić imię pracownika, daty urlopu oraz status wniosku w treść wiadomości:

Temat: Wniosek urlopowy - @{triggerOutputs()?['body/Title']}

Treść:
Cześć @{triggerOutputs()?['body/EmployeeName']},

Twój wniosek urlopowy w dniach @{triggerOutputs()?['body/StartDate']} - @{triggerOutputs()?['body/EndDate']} został @{triggerOutputs()?['body/Status']}.

Stosowanie takiej automatyzacji znacząco ogranicza konieczność ręcznego monitorowania procesu, usprawnia obsługę wniosków oraz zapewnia przejrzystość całego przebiegu dla wszystkich uczestników. Jeśli chcesz pogłębić swoją wiedzę i jeszcze lepiej wykorzystać możliwości Power Automate, sprawdź nasz Kurs Microsoft Power Automate zaawansowany - automatyzacja i synchronizacja przepływów.

Proces zatwierdzania lub odrzucania wniosków przez menedżera

W centralnym punkcie całego przepływu automatyzacji zatwierdzania urlopów znajduje się decyzja menedżera. To właśnie od niej zależy, czy dany wniosek zostanie przyjęty, czy też odrzucony. Power Automate oferuje intuicyjne mechanizmy umożliwiające szybkie i przejrzyste zarządzanie tym procesem.

Najczęściej wykorzystywaną metodą jest zastosowanie akcji „Approve/Reject – First to respond” lub „Start and wait for an approval”, które generują automatyczne powiadomienie e-mailowe z przyciskami do zatwierdzenia lub odrzucenia wniosku.

W zależności od wybranego scenariusza, menedżer może podjąć decyzję bezpośrednio z poziomu:

  • e-maila (np. Outlook),
  • aplikacji mobilnej Power Automate,
  • lub portalu Power Automate w przeglądarce.

Poniżej przedstawiono porównanie dwóch najczęściej stosowanych typów akcji zatwierdzających:

Typ akcji Opis Zastosowanie
Start and wait for an approval Rozpoczyna proces zatwierdzania i zatrzymuje przepływ do momentu odpowiedzi. Gdy decyzja musi być podjęta zanim proces pójdzie dalej.
Approve/Reject – First to respond Zatwierdzenie lub odrzucenie następuje po odpowiedzi pierwszego z decydentów. Przy zadaniach zespołowych, gdzie wystarczy decyzja jednej osoby.

Dodatkowo, menedżer ma możliwość dodania komentarza do swojej decyzji, co może być przydatne do uzasadnienia odrzucenia lub przekazania informacji zwrotnej pracownikowi.

Przykładowa akcja Power Automate może wyglądać następująco:

{
  "type": "Start and wait for an approval",
  "parameters": {
    "approvalType": "ApproveReject",
    "title": "Wniosek urlopowy od {{EmployeeName}}",
    "assignedTo": "{{ManagerEmail}}",
    "details": "{{LeaveRequestDetails}}"
  }
}

Po zakończeniu procesu zatwierdzania, przepływ analizuje odpowiedź menedżera i kieruje dalsze akcje – np. wysyła powiadomienie do pracownika lub aktualizuje status w SharePoint.

💡 Pro tip: Ustaw termin (timeout) i przypomnienia oraz dołącz pełne szczegóły wniosku w treści prośby, aby menedżer mógł zdecydować bez otwierania źródła danych. Dobierz właściwy typ zatwierdzania (First to respond vs Everyone must approve) i wymuś komentarz przy odrzuceniu dla klarownego feedbacku.

Testowanie i publikacja przepływu

Po zakończeniu budowy przepływu w Power Automate niezwykle istotne jest jego dokładne przetestowanie przed wdrożeniem do użytku produkcyjnego. Testowanie pozwala upewnić się, że wszystkie akcje działają poprawnie, a całość przebiega zgodnie z oczekiwanym scenariuszem – od złożenia wniosku po decyzję menedżera i wysyłkę powiadomień.

W celu przeprowadzenia testu warto przygotować przykładowy wniosek urlopowy i uruchomić przepływ ręcznie lub na podstawie rzeczywistego zdarzenia, np. wprowadzenia danych do formularza. Power Automate oferuje szczegółowe logi i wizualne śledzenie przebiegu przepływu, dzięki czemu łatwo można zidentyfikować ewentualne błędy i nieprawidłowości.

Podczas testowania należy zwrócić uwagę na:

  • czy dane są poprawnie zapisywane w źródle (np. na liście SharePoint);
  • czy przepływ reaguje na zdarzenia wyzwalające (np. nowy wpis);
  • czy wiadomości e-mail są wysyłane do odpowiednich odbiorców;
  • czy decyzje menedżera są poprawnie rejestrowane i wpływają na dalszy przebieg procesu.

Po pomyślnym przejściu testów przepływ można opublikować i udostępnić w środowisku produkcyjnym. Warto również rozważyć utworzenie kopii zapasowej oraz opisanie logiki działania w dokumentacji wewnętrznej, co ułatwi późniejsze aktualizacje lub rozwiązywanie problemów.

💡 Pro tip: Przetestuj wszystkie ścieżki (approve, reject, brak odpowiedzi/timeout) i przeanalizuj Run history wraz z inputs/outputs dla każdego kroku. Przed publikacją przenieś wartości stałe do zmiennych środowiskowych, sprawdź connection references i wykonaj eksport rozwiązania jako kopię zapasową.

Najlepsze praktyki i możliwe rozszerzenia rozwiązania

Automatyzacja zatwierdzania wniosków urlopowych w Power Automate to nie tylko oszczędność czasu, ale też szansa na zbudowanie solidnego i skalowalnego procesu. Poniżej przedstawiamy najlepsze praktyki, które warto wziąć pod uwagę podczas projektowania rozwiązania, oraz propozycje jego dalszego rozwoju.

Najlepsze praktyki

  • Stosuj nazewnictwo konwencyjne i komentarze: Nazwy kroków, zmiennych i komponentów powinny być czytelne i jednoznaczne. Komentarze w przepływie pozwalają na łatwiejsze utrzymanie rozwiązania i szybsze zrozumienie logiki przez innych użytkowników.
  • Unikaj duplikacji logiki: Jeśli ten sam fragment logiki ma być użyty wielokrotnie, rozważ jego wydzielenie do osobnego przepływu wywoływanego za pomocą akcji „Run a child flow”.
  • Weryfikuj dane wejściowe: Przed rozpoczęciem logiki zatwierdzania warto dodać walidację pól formularza, np. sprawdzenie, czy data zakończenia nie jest wcześniejsza niż data rozpoczęcia urlopu.
  • Loguj kluczowe zdarzenia: Korzystaj z listy SharePoint lub pliku Excel do rejestrowania statusów wniosków, prób zatwierdzenia, błędów lub interakcji użytkowników. Pomaga to w audycie i diagnozowaniu problemów.
  • Używaj środowisk testowych: Zanim wdrożysz automatyzację do produkcji, przetestuj ją w środowisku sandbox. Zapewni to większą stabilność i zmniejszy ryzyko błędów.

Możliwe rozszerzenia rozwiązania

  • Integracja z Microsoft Teams: Powiadomienia i decyzje zatwierdzające mogą być przesyłane bezpośrednio przez Teams, co zwiększa wygodę i szybkość działania menedżerów.
  • Raportowanie Power BI: Dane z wniosków mogą być eksportowane i analizowane w Power BI, umożliwiając monitorowanie statystyk urlopowych w skali zespołu lub całej firmy.
  • Obsługa wielu poziomów zatwierdzania: W organizacjach o bardziej złożonej strukturze możliwe jest dodanie kolejnych poziomów akceptacji w zależności od długości urlopu lub typu wniosku.
  • Powiadomienia SMS: W krytycznych przypadkach można dodać integrację z usługą powiadomień SMS, aby nie przeoczono żadnych ważnych decyzji.
  • Archiwizacja wniosków: Starsze wnioski mogą być automatycznie przenoszone do archiwum lub innej listy, co zwiększa wydajność głównej listy SharePoint.

Stosowanie powyższych praktyk i rozważenie proponowanych rozszerzeń pozwoli stworzyć bardziej elastyczny i profesjonalny system zatwierdzania wniosków urlopowych, który lepiej odpowiada na potrzeby organizacji.

icon

Formularz kontaktowyContact form

Imię *Name
NazwiskoSurname
Adres e-mail *E-mail address
Telefon *Phone number
UwagiComments