Aplikacja Power Apps może samodzielnie czytać i zapisywać dane przez konektory. Ale co gdy potrzebujesz wywołać coś bardziej złożonego — wysłać maila, stworzyć meeting w kalendarzu, zaktualizować wiele rekordów w transakcji? Wtedy warto wyciągnąć logikę do Power Automate i wywołać przepływ bezpośrednio z przycisku w aplikacji.

Trigger: „Power Apps or flow"

Przepływ, który ma być wywoływany z Power Apps, musi używać triggera „When a Power Apps or flow calls this flow" (wcześniej nazywanego „PowerApps"). Ten trigger pojawia się po wybraniu Instant flow jako typ przepływu.

W triggerze definiujesz parametry wejściowe — to dane, które aplikacja będzie przekazywać do przepływu przy każdym wywołaniu. Przykłady: ID wybranego rekordu, dane z formularza, decyzja użytkownika (zatwierdzono/odrzucono).

Definiowanie danych wejściowych i wyjściowych

Po wybraniu triggera kliknij „Add an input". Dostępne typy: Text, Yes/No, File, Email, Number, Date. Każdy input ma nazwę — ta sama nazwa pojawi się w Power Apps przy wywołaniu przepływu.

Żeby przepływ mógł zwrócić dane do aplikacji (np. wynik operacji, numer nadanego ID), na końcu przepływu dodaj akcję „Respond to a PowerApp or flow". Tam definiujesz outputs — wartości, które Power Apps odbierze po zakończeniu wykonania.

Wywołanie z Power Apps — formuła Run()

Po stronie aplikacji dodaj przepływ do ekranu (Power Apps Studio → zakładka Action → Power Automate → Add flow). Wywołanie przepływu z formuły wygląda tak:

NazwaPrzeplywu.Run(TextInput1.Text, Dropdown1.Selected.Value)

Kolejność argumentów w Run() odpowiada kolejności inputów zdefiniowanych w triggerze przepływu.

Jeśli przepływ zwraca dane, wynik możesz przypisać do zmiennej:

Set(wynikPrzeplywu, NazwaPrzeplywu.Run(TextInput1.Text))

A następnie użyć wynikPrzeplywu.nazwaOutputu w dalszych formułach.

Wywołanie synchroniczne — ważna uwaga

Domyślnie wywołanie Run() jest synchroniczne — aplikacja czeka aż przepływ skończy działanie i dopiero wtedy kontynuuje (np. odświeża galerię, wyświetla komunikat sukcesu). Dla krótkich operacji (kilka sekund) to idealne. Dla długich procesów może to oznaczać, że użytkownik czeka — warto wtedy pokazać spinner lub komunikat „Przetwarzam…".

Kiedy flow, a kiedy bezpośredni konektor w Power Apps

  • Bezpośredni konektor (Patch, SubmitForm) — prostsze operacje CRUD na jednym źródle danych. Szybsze, prostsze.
  • Power Automate — gdy potrzebujesz operacji na wielu systemach, zatwierdzenia, wysłania maila, złożonej logiki lub dostępu do konektora niedostępnego w Power Apps.

Dobrą praktyką jest nie wkładać do Power Apps logiki biznesowej, która lepiej żyje w przepływie — aplikacja powinna głównie zbierać dane od użytkownika i je prezentować.