2.5K Views
April 19, 25
スライド概要
https://kimamani.connpass.com/event/352207/
Microsoft 365、Power Platrform、PowerShellについて調べたことや検証したこと
既定以外の環境で 「選択されたメッセージに対して」トリガー と同様のことを実現する方法 気ままに勉強会 #109 今回のお題:気ままになんでもLT会~第7回~ 2025/4/19 1
自己紹介 • 名前: • 活動場所 わたるふ • ブログ (主な活動場所) ルドルフもわたるふもいろいろあってな https://wataruf.hatenablog.com • こんなひとです • SharePoint Server 2007 からお仕事でMicrosoft 製品に関わる • PowerShell が好き • 公開している登壇資料 https://www.docswell.com/user/wataruf01 • Microsoft Teams が好き • Power Automate が特に好き • マシュマロ (質問を受け付けています) • 活動内容 • 調査・検証したことなどをブログで解説しています • 開発したもの (主にPower Automate のクラウドフロー) をGitHubで公開しています https://marshmallowqa.com/wataruf01?utm_medium=url_text&utm_ source=promotion Microsoft MVP for Business Applications (2023/4~) 2
注意事項 • 解説する内容は私の個人的な見解が含まれています • 内容に誤りがある場合はご指摘をいただけると助かります 3
今回のお話 既定以外の環境で 「選択されたメッセージに対して」トリガー と同様のことを実現する方法 思いついたから 作ってみました フローはGitHubで公開しています。 活用いただければ幸いです。 4
「選択されたメッセージから」トリガーをご存じですか? Power Automateの「選択されたメッセージに対して (V2)」トリガーは、 Microsoft Teams内のメッセージを選択してフローを開始することができるトリガーです。 このトリガーを使うと Teamsに投稿されているメッセージから直接 クラウドフローを実行することができます 5
このトリガー、私はめっちゃ活用しています Microsoft Teamsで 投稿に「いいね」をしていないひとに対して スケジュール実行でメンションする Microsoft TeamsのスレッドをCSVに保存する 指定した投稿と同じメンションをする (親メッセージ + 返信) チェックボックスを使ってメンション先を指定する Teamsの投稿でメンションされているひとと チャット・会議を開始する 6
このトリガー、こんな点が便利です! • Teams のメッセージにフローの実行メニューがあるため スレッドでのやり取りから別の画面に切り替えることなくフローを実行できる • フローの実行トリガーで「メッセージへの返信」が伴わないこと (これ大事!) ➢ 比較例として、X(旧 Twitter)で投稿をインプット情報としてGrokに質問を行う方法が 「投稿に対する返信でGrokにメンションする」なのは、通常の返信を埋もれさせてしまうため、少し使いにくいと感じています。 • フローの起点としたメッセージの情報をフローのインプット情報として使える ➢ • 例:件名、本文、添付ファイル、いいね、投稿者 フロー実行時に実行ユーザーに対してフォームを使った情報提供を行わせることができる 7
でもこのトリガー、、、 8
でもこのトリガー、使えるのは既定(default)環境だけです Learn - Microsoft Teams のメッセージからクラウド フローをトリガーする https://learn.microsoft.com/ja-jp/power-automate/trigger-flow-teams-message つまり、既定以外の環境では このトリガーを使うことができません 9
「環境」とか「既定の環境」ってなに? • Power Platformにおける「環境」とはアプリやフローを 作成・実行・管理するためのスペースの単位を表す用語です。 • 「既定の環境」はテナント作成時に自動で付与され、すべてのユーザーが 自由に利用できる共通の作業場所です。 • 「既定の環境」は主に個人やチームでの軽微な利用を想定しており、 本番運用には適していないため、専用の本番環境を別途用意することが推 奨されています。 10
「環境」とか「既定の環境」ってなに? • Power Platformにおける「環境」とはアプリやフローを 作成・実行・管理するためのスペースの単位を表す用語です。 • 「既定の環境」はテナント作成時に自動で付与され、すべてのユーザーが 自由に利用できる共通の作業場所です。 • 「既定の環境」は主に個人やチームでの軽微な利用を想定しており、 本番運用には適していないため、専用の本番環境を別途用意することが推 奨されています。 !? 11
ということは、、、 「選択されたメッセージから」 既定の環境は トリガーは 本番運用には適していない 既定の環境でのみ使える 残念すぎる つまり 「選択されたメッセージから」 (´・ω・`) トリガーは 本番運用には適していない 12
このトリガーの便利さを諦められないので 「代わりになる方法」を考えてみました 今回の主旨は 「選択されたメッセージに対して」トリガーの 代替手段です 13
代替手段に求められる条件はこれ! 条件 必須 内容 任意のPower Platform 環境で使えること ◎ そもそもの大前提。 既定環境、および、既定以外の環境のどちらで もで使えることが必須。 フローの実行トリガーで「メッセージへの返信」が 伴わないこと ◎ フローの実行に返信が伴うのはコミュニケー ションの妨げになるのでNG。 フローの起点としたメッセージの情報をフローの インプット情報として使えること ◎ メッセージをインプット情報として使うことが このトリガーの主目的なので必須。 手軽に使えること 「選択されたメッセージに対して」トリガーの 実行よりクリック数が増えないことが理想。た だし、必須ではない。 フローを実行する際にフロー実行者が追加で インプット情報を提供できること 追加のインプット情報提供は必須要件ではない。 作成したフローを簡単に他のユーザーと 共有・利用できること これも必須要件ではない。個人利用限定でも充 分使いやすい。 14
【主旨・結論】「転送」機能を使って実現します • 2025年1~2月に、「チャネル間のメッセージ転送機能」が 展開されました。 • このメッセージ転送機能を「選択されたメッセージに対して」トリガーの 代替手段として使います。 • 関連するMicrosoft 365メッセージセンターの通知ID: MC950897 – Microsoft Teams: Forward messages to and from channels https://mc.merill.net/message/MC950897 15
使用イメージ 1/4 フローの実行対象とするメッセージはこちら 16
使用イメージ 2/4 「…」をクリックして開き、「転送」を選択します。 17
使用イメージ 3/4 • 転送先でチャネルを指定します。 このチャネルに Power Automate のフローを 仕込んでいます 18
使用イメージ 4/4 • メッセージの転送が完了し、フローが実行されます。 フローが実行され、 転送元のメッセージを インプット情報にして処理が実行されます 19
仕組み チャネル 投稿 メッセージが投稿されたときに チャネル 投稿 ② フローが起動する ③ 総当たり方式で 転送元のチャネルを特定 起動するフローを仕込んでいるチャネル (転送による投稿でもトリガーされる) チャネル 投稿 チャネル 投稿 チャネル チャネル 投稿 ① 投稿を転送 チャネル 投稿 チャネル No 投稿 チャネル 投稿 No 投稿 No Yes ! (転送元チャネルである) チャネル 投稿 ④ 転送元の投稿を インプット情報にして 任意の処理を実行 20
フロー図 このフローの メインの出力は このアクションです 21
この方法を使って 何が実現できるかというと、、、 22
アイディア次第で色々なことが実現できます!! ( ・´ー・`)ドヤァ Microsoft Teamsで 投稿に「いいね」をしていないひとに対して スケジュール実行でメンションする Microsoft TeamsのスレッドをCSVに保存する 指定した投稿と同じメンションをする (親メッセージ + 返信) チェックボックスを使ってメンション先を指定する Teamsの投稿でメンションされているひとと チャット・会議を開始する 23
応用例 実現したいアクションごとに チャネルをわける タグトリガーとの 併用 Adaptive Cardとの 併用 フローA 起動用チャネル フロー起動用チャネル チャネル 投稿 フロー起動用チャネル チャネル フローB 起動用チャネル チャネル 投稿 投稿 チャネル 投稿 投稿 チャネル 投稿 チャット チャネル 投稿 tagtrigger:○○ フローC 起動用チャネル チャネル 投稿 チャネル Microsoft Teams で特定のタグがつかわ れたらアクションを実行する https://wataruf.hatenablog.com/entry/ 2022/04/25/000000 追加の 情報入力をお願いします XXXX XXXX 24
ただし、処理時間が(比較的)長いという弱点があります • トリガー起因で起こる処理遅延 トリガーがポーリング型のため、処理開始まで数分の遅延が生じる場合があります。即時対応が 求められるケースではタイムラグを前提とした設計や運用が必要です。 • 処理ロジックで起こる処理遅延 このフローは実行ユーザーがアクセス可能なすべてのチームのチャネルを取得して、対象チャネ ルを特定します。そのため、所属するチームが多いほど処理に時間がかかります。 これを回避するには、設計段階での工夫が必要です。 25
代替案ゆえの弱点はあるものの 設計と使いどころにひと工夫加えることで 無限の可能性を引き出せる方法です。 (`・ω・´)シャキーン 26
このフローはGitHubで公開しています ご活用ください。ブログでフローの解説をしています。 • 【概要編】Microsoft Teams でチャネル間のメッセージ転送を使ってフローを実行する https://wataruf.hatenablog.com/entry/2025/04/14/000000 • 【解説編】Microsoft Teams でチャネル間のメッセージ転送を使ってフローを実行する https://wataruf.hatenablog.com/entry/2023/01/14/211735 27
Power AutomateのフローやTIPSをブログで公開しています • 興味を持っていただけたかたは下記のURLからいらしてください https://wataruf.hatenablog.com 28
ましゅまろで質問をうけつけています • 匿名でのご質問も可です。 • X(旧Twitter)にマシュマロのリンクを公開しています。 • 回答内容はブログで投稿します。 29
まとめ 今回は投稿の転送機能を使った 「選択されたメッセージに対して」トリガーの代替手段を解説しました。 これがどなたかのお役に立てれば幸いです。 フィードバック・ご意見をいただけると とても嬉しいです。 30
31