Wstęp
Jeśli śledziłeś poprzednie odcinki tego kursu, to powinieneś bez większych problemów tworzyć już proste aplikacje w PowerApps oraz przepływy we Flow. Dotarłeś do tego punktu, więc zakładam, że widzisz potencjał w tych narzędziach. Jeśli tak jest, to pewnie zastanawiasz się, w jaki sposób można połączyć możliwości PowerApps i Flow. Dzisiaj chciałbym pokazać Ci jak to zrobić.
Plan działania
Wiesz już jak działają podstawowe funkcje obi narzędzi. W dzisiejszym odcinku skupię się na samym połączeniu PowerApps i Flow. Celem będzie uruchomienie przepływu bezpośrednio z aplikacji. Wykorzystamy do tego przycisk, który we właściwości OnSelect wywoływać będzie przygotowany przez nas Flow. Co robić będzie sama aplikacja i jakie akcje wywoływać będzie przepływ, nie jest dzisiaj najważniejsze. Jestem wręcz przekonany, że znajdziesz lepszy od mojego scenariusz wykorzystania tej funkcji. Po cichu liczę, że nie tylko je wymyślisz, ale i wdrożysz 🙂
Przepis
Całość nie jest trudna, jeśli choć raz zobaczysz jak przebiega taki proces. Można go streścić w kilku prostych krokach:
- Dodaj odpowiedni interfejs aplikacji w PowerApps (w naszym przypadku będzie to prosty formularz oraz przycisk).
- Skonfiguruj połączenia (zakładka Action/Akcje > Flow). Pamiętaj, że integracja wymaga odpowiedniego wyzwalacza po stronie Flow. Jeśli masz już jakiś proces, który chciałbyś podłączyć do PowerApps, to będziesz musiał go zmienić. Możesz oczywiście utworzyć też nowy od zera.
- Zbuduj Flow. Ten krok nie różni się niczym niezwykłym od procesu tworzenia innych procesów. Inny jest tylko wyzwalacz (patrz punkt 2). Reszta to standardowa kombinacja akcji i warunków.
- Zdefiniuj dane pobierane z PowreApps. Ten punkt jest najważniejszy. Wszędzie tam, gdzie potrzebujesz użyć we Flow danych z PowerApps, użyj opcji Ask in PowerApps / Zapytaj w PowerApps. Spowoduje to utworzenie specjalnej zmiennej, której wartość ustawiać będziesz w PowerApps (patrz punkt 5).
- Dodaj nowy Flow do aplikacji PowerApps. Uruchomienie przepływu będzie polegało na wywołaniu metody Run obiektu, który nazywać się będzie tak jak Twój przepływ. Wartości zmiennych przekazujemy w parametrach(np.: MojPrzeplyw.Run(texbox1.text, textbox2.text,…))
Przykład
Nie przejmuj się, jeśli nie zrozumiałeś nic z poprzedniego opisu. Większość tych kroków wymaga minimalnego wkładu od użytkownika. Przede wszystkim tym obejrzyj poniższe wideo. Pokazuję w nim, jak krok po kroku skonfigurować taką aplikację.
Podsumowanie
Dzisiejsza lekcja była wyjątkowa. Nie chciałem pokazać w niej konkretnego scenariusza, a raczej uzmysłowić Ci potencjał jaki płynie z integracji PowerApps i Flow. Przyznasz, że jego wykorzystanie nie wymaga wielkich nakładów pracy. Pewnie zastanawiasz się co z integracją w drugą stronę. Czy można przesyłać dane z Flow do PowerApps? Tak! Jest to możliwe. Tę i inne funkcje postaram Ci się pokazać już w kolejnym odcinku. Będzie to już ostatnia część tej serii. Czas pokaże, czy ostatnia w ogóle. Daj mi znać w komentarzach, czy i ewentualnie jakie tematy związane z PowerApps, Flow i SharePoint Cię interesują. Tymczasem pozdrawiam i do następnego razu!

Panie Łukaszu, jak można wykonać takie połączenie ale nie ze skrzynką outlooka a z innym serwerem (w tym wypadku home) ?
Z góry dzięki za info.
Potrzebny jest dedykowany do tego konektor. Niestety takiego nie ma, zatem zrobić się tego nie da 🙁 Home.pl musiałoby takowy stworzyć.
Hmm, a jeżeli dodaję do outlooka inne konto (z innej domeny) czy istnieje możliwość wskazania w powerapps (lub flow) z którego konta (w outlook) mają wychodzić maile?
Panie Łukaszu, podczas rozmowy z osoba tworzącą aplikację w Power Apps i powiązaniu jej z Sharepoint usłyszałam, że zapisy nowych rekordów na liście lepiej jest wykonywać poprzez Power Automate flows zamiast bezpośrednio z Power Apps. Jakie są Pana doświadczenia w tej materii?
To wszystko zależy od kontekstu. Są przypadki, kiedy zapis przez Power Automate jest uzasadniony(np. kiedy chcemy ukryć dane rzeczywistego autora rekordu). Są takie, kiedy nie ma to większego sensu. Moim zdaniem tych drugich jest więcej 😉 Reasumując: na tak zadane pytanie odpowiedziałbym: FAŁSZ, ale czuję, że pewnie w Pani scenariuszu brakuje więcej szczegółów.