ルドルフもわたるふもいろいろあってな

Microsoft 365、Power Platform、PowerShellについて調べたことや検証したことなどを投稿します。技術の話は面白い。

Microsoft Teamsで投稿に「いいね」をしていないひとに対してスケジュール実行でメンションする(改良版 + 全体解説の概要編)

主旨

1週間前にこんな投稿をしました。
wataruf.hatenablog.com

その投稿で解説した「Teamsの投稿をPower Automateで取得する方法」を使って掲題のフローを改良した、というのが今回の投稿の主旨です。
wataruf.hatenablog.com

また、改良した箇所も踏まえてフローのステップを全体的に解説します。今回は概要編です。ステップごとの詳細な解説は別の投稿で行います。

改良したフローをGitHubにアップロードしました。

こちらからダウンロードしてください。
github.com

フローの概要

このフローは、Teamsのチャネル上にある投稿を指定してフローを実行することで、あらかじめフローに投稿したメンバーのうち「誰がいいねをしたか」と「誰がいいねをしていないのか」を表形式で表示するフローです。後者にあたるメンバーに対して自動でメンションすることもできます。提出物管理を行う場面で活用できます。
表は指定した投稿の返信で表示されます。
f:id:wataruf01:20220409065505p:plain

フロー実行時に以下のオプションを指定できます。

  • すぐに表を投稿するか、それとも日時を指定して表示を投稿するか
  • いいねをしていないメンバーにメンションするか、それともしないか

f:id:wataruf01:20220409065609p:plain

フローの全体図

改良後のフローの全体図は以下の通りです。
f:id:wataruf01:20220409070925p:plain

同じフローのスコープと条件分岐を開いたものがこちらです。
  ※ 画像が荒くて文字が読めないかも。
f:id:wataruf01:20220409071719p:plain

フローの流れの概要

フローのおおまかな処理の流れを言葉で表すと以下の通りになります。
※ 変数設定などの細かい処理は割愛しています

  1. [分岐]スケジュール実行であるか
    • Yesであれば、実行予定日時をスレッドに表示して、予定日時までストップ
    • No であれば、後続のステップに進む
  2. トリガーになった投稿のリアクション一覧を取得
  3. フローが確認対象とする各メンバーがいいねをした日時を取得
  4. 取得結果を表形式に整形
  5. スレッドに表を投稿、かつ、いいねを指定いないメンバーにメンションを送信

データ処理部分を図で表すと

こうなります。
f:id:wataruf01:20220409074047p:plain

改良した箇所はどこか?

改良した箇所は下記の投稿に記載したように。「メッセージを取得」と「トリガーメッセージ抽出(= 選択アクション)」を組み合わせて使っていた部分を「メッセージの詳細を取得」に変えたことです。
wataruf.hatenablog.com

この改良による最も大きなメリットは、直近20件より過去の投稿でも実行が可能になったことです。また、親の投稿だけでなく返信もトリガーとして指定できるようになりました。

ステップごとの解説は次回

ステップごとの設定とその意図を解説編で説明します。長くなったら複数回に分けたいと思います。

追記:解説編その1を投稿しました

解説編その1です。
wataruf.hatenablog.com