1. システムとオフィスの融合
  2. media
  3. Power Apps Power Platform Power Automate
  4. PowerPlatformでTeamsのリアクションを取得してみた

QESブログ

PowerPlatformでTeamsのリアクションを取得してみた

  • LINEで送る
  • このエントリーをはてなブックマークに追加

はじめに

Teamsのチャットにお知らせを投稿して、確認したら「いいね」を付ける運用を行っている方もいるかと思います。
「いいね」では件数は分かりますが、誰が「いいね」していないかを確認するのは難しいと思います。
今回は、Teams メッセージのリアクションを取得して、メンバーの誰がリアクションしたのか一覧表示するアプリを作ってみました。


作ってみた

下記のようなイメージで実装してみました。



1.チャットのメッセージ一覧を取得する

メッセージの取得には、Microsoft Teams コネクタ を利用して、Screen の OnVisible イベントでメッセージを取得するようにしました。

OnVisible イベント

Clear(messages);
ForAll(
LastN(MicrosoftTeams.GetMessagesFromChannel(<team-id>,<channel-id>).value,5),
Collect({
subject: If(IsBlank(subject),"(件名なし)",subject),
  messageId:id,
  body:body
})
);

2.Power Appsの画面でメッセージを選択して、フローを呼び出す

今回はメッセージはドロップダウンで選択できるようにして、OnChange イベントでフローを呼び出すようにしました。

OnChange イベント

Set(flowReruen,リアクション取得.Run(Dropdown1.Selected.messageId).riactions);


3.フローに呼び出し、メッセージのリアクション情報を取得する

下記のようなフローを作成しました。




※画像をクリックすると別ウィンドウで表示されます。別ウィンドウでは元のサイズで画像を表示することができます。


確認したら「いいね」を付けるのように、特定のリアクションに意味合いを設ける場合、
「確認済み」等の意味合いで表示した方が分かりやすいので、以下のリアクションを Power Automate の中で変換するようにしました。

リアクション 表示内容
いいね(like) 確認済み
すてき(heart) 対応済み


4.Power Automateの戻り値を整形する

フローからは、JSON 形式で返却する形にしたので、Power Apps 側で JSON を解析する必要があります。
今回は、ParseJSON 関数を利用して、JSON の解析を実装しました。
※ParseJSON 関数は、実験段階の機能です。利用する場合は、設定より「ParseJSON 関数と型のないオブジェクト」を有効にする必要があります。

OnChange イベント

Set(flowReruen,リアクション取得.Run(Dropdown1.Selected.messageId).riactions);

ClearCollect(
  riactions,
  ForAll(
Table(ParseJSON(flowReruen)),
  {
name: Text(ThisRecord.Value.username),
reaction: Text(ThisRecord.Value.reaction)
})
);



実際に動かしてみた

Teamsのチャネルにメッセージ、リアクションを登録して動かしてみます。




Power Apps 側で表示すると、下記のイメージとなります。
メッセージとリアクション情報が表示できました。

※削除済みのメッセージやユーザーも取得対象に含まれていたので、実際に運用する際は、Teams API 等を利用する方が良さそうです。

まとめ

Power Apps、Power Automate を利用して、Teams のリアクション情報を取得することができました。
また、チームのメンバーを母数として、誰がリアクションをしているか?を一覧形式で確認することもできました。
出欠席の確認などにも活用できそうです。

本ブログで興味を持たれましたらご支援等させていただきますので
是非、以下の「お問い合わせフォーム」から気軽にお問合せください!

QESでは、Microsoft製品やAWS製品に関するソリューションに取り組んでおります。
他プロダクトに関するブログも投稿しておりますので、下記のリンクから是非ご覧ください。


また、QESでは採用活動を強化しております。
ブログを読んで弊社の業務内容に興味を持っていただけましたら、採用情報にもお目通しいただければ幸いです。
https://www.qes.co.jp/recruit.htm


※このブログで参照されている、Microsoft、Windows、Azure、SharePoint、PowerAppsその他のマイクロソフト製品およびサービスは、米国およびその他の国におけるマイクロソフトの商標または登録商標です。
  • LINEで送る
  • このエントリーをはてなブックマークに追加

お気軽にお問い合わせください。

ページのトップへ