For a selected message – nowy wyzwalacz w Power Automate
Table of Contents
Na początku lipca Microsoft dodał dwa nowe wyzwalacze w Power Automate dla lepszej integracji z Microsoft Teams: dla wybranej wiadomości (for selected message) i gdy dodawany jest nowy członek zespołu (When a new team member is added). W tym poście szczegółowo omówię pierwszy z nich.
Zobacz je w akcji.
Wyzwalacze

Oba pomogą Ci poprawić zarządzanie (governance) w Microsoft Teams. Wyzwalacz „For selected message” pozwala zarządzać działaniami dotyczącymi określonej wiadomości wybranej przez użytkownika. Z drugiej strony wyzwalacz When a new team member is added, pozwoli Ci działać, gdy właściciel zespołu doda nowych członków, np. budując przepływ wysyłający wiadomość powitalną zawierającą regulamin itp.
Dla wybranej wiadomości/ For selected message
Ważne! Dzisiaj ten wyzwalacz działa tylko z przepływami, które są tworzone w środowisku domyślnym (Default environment).

Po użyciu tego wyzwalacza zauważysz nowy edytor Adaptive Cards wbudowany w akcję. Możesz stworzyć kartę bezpośrednio z poziomu edytora Power Automate:

Karta, którą zbudujesz, zostanie następnie wyświetlona użytkownikowi, który wybierze wiadomość i wybierze określony przepływ, który zechce uruchomić.
Jak działa ten wyzwalacz?
Po zaprojektowaniu karty i przepływu, i zapisaniu jej przejdź do Microsoft Teams. Następnie najedź kursorem na wiadomość w kanale lub w prywatnej rozmowie. Zauważysz, że pojawia się mała ikona (…) – ellipsis (1). Rozwiń opcje wiadomości i na dole menu najedź na „Więcej akcji” (2). Znajdziesz tam wszystkie przepływy utworzone za pomocą wyzwalacza „Dla wybranej wiadomości” (3).

Uwaga: etykiety przepływów widoczne w menu „Więcej akcji” wyświetlają nazwy przepływów. Tworząc je, pamiętaj zatem, aby nadać im opisowe i raczej krótkie nazwy.
Co dalej?
Gdy użytkownik kliknie nazwę przepływu, wyświetli się okienko z Adaptive Card utworzone w ramach akcji wyzwalacza:

Po przesłaniu karty zostanie uruchomiony przepływ, w którym możesz faktycznie zaprojektować wszystko, czego potrzebujesz. Najważniejszy jest zakres danych zwracanych przez wyzwalacz:
{
"entity":{
"teamsFlowRunContext":{
"MessagePayload":{
"Id":"[MESSAGE ID]",
"From":{
"Application":"[APP ID WIADOMOŚCI]",
"Conversation":"[CONVERSATION ID WIADOMOŚCI]",
"Device":"[SZCZEGÓŁY URZĄDZENIA]",
"User":{
"DisplayName":"John Researcher",
"Id":"e4e6b40f-f698-403e-bc8e-252a2d52f22c"
}
},
"Body":{
"ContentType":"html",
"Content":"[ZAWARTOŚĆ HTML WIADOMOŚCI]",
"PlainText":"[TEKSTOWA ZAWARTOŚĆ WIADOMOŚCI]"
},
"Subject":null,
"LinkToMessage":"[LINK ABSOLUTNY DO WIADOMOŚCI]"
},
"Id":"[REQUEST ID]",
"Value":"[REQUEST VALUE]",
"ChannelData":{
"EventType":"[ID WYDARZENIA, jeśli dostępne]",
"Team":{
"Id":"[TEAM ID]",
"Name":"[TEAM NAME]"
},
"Tenant":{
"Id":"[TENANT ID]"
},
"Channel":{
"Id":"[CHANNEL ID]",
"Name":"[CHANNEL NAME]"
},
"Notification":"[NOTIFICATION]"
},
"From":{
"Id":"[REQUESTER ID]",
"Name":"[REQUESTER DISPLAY NAME]",
"Role":"[REQUESTER ROLE]",
"AadObjectId":"[REQUESTER AAD ID]",
"Properties":"DODATKOWE SZCZEGÓŁY WNIOSKUJĄCEGO"
},
"Conversation":{
"Id":"[CONVERSATION ID]",
"Name":"[CONVERSATION NAME]",
"IsGroup":true
},
"Locale":"en-US",
"CommandContext":"message"
},
"cardOutputs":{
"[ELEMENT ID]":"[ELEMENT VALUE]"
}
}
}
Dane te pomagają precyzyjnie zidentyfikować wybraną wiadomość i jej lokalizację. Dodatkowo zawierają wszystkie dane z zaprojektowanej Adaptive Card. Pamiętaj, aby zdefiniować identyfikatory dla każdej kontrolki, z której chcesz uzyskać wartość:

Ważne! Identyfikatory ID kontrolek MUSZĄ być UNIKALNE!
Jedną z naprawdę ważnych, zwracanych wartości jest „LinkToMessage” – po kliknięciu przechodzi do wskazanej w żądaniu wiadomości, podświetlając ją żółtym tłem, aby użytkownik wiedział, o którą wiadomość chodzi:

Jak ci się podoba? Jeśli masz jakieś pytania / uwagi, zostaw je w komentarzach poniżej! Dzięki!




