Top
Power Automate + Adaptive Cards + Microsoft Teams

For a selected message – nowy wyzwalacz w Power Automate


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!


Tomasz Poszytek

Cześć! Nazywam się Tomasz. Jestem ekspertem w dziedzinie automatyzacji procesów i budowaniu rozwiązań dla biznesu z użyciem Power Platform. Jestem Microsoft MVP i Nintex vTE.

Brak komentarzy

Wyślij komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.