はじめに
※全テナント反映されているかはわかりません。 (投稿時点)
Microsoft TeamsとのIntegrationが強化されているPower Platformですが、Power Automateで注目のトリガーが利用可能になりました!
選択したメッセージ
これまで、SharePointやOneDriveや、CDSでは「選択したXXX」のトリガーが存在していましたが、Teamsの文脈ではこれが 「選択したメッセージ」になります。
このトリガーのいいところの1つは、Teamsで会話している中で発生したタスクや、共有されたドキュメント、あるいはメッセージそのものをフローで取得して後続のアクションにつなげられる点です。
また、上の図を見てわかる通り、Adaptive Cardsを利用して、「メッセージ+カスタムの入力」が可能になります。
このAdaptive Cardsへの入力もメッセージ同様に後続のアクションで利用できるので、より幅広い活用が可能になります。
試してみる
トリガーの設定としては3つです。いずれもオプションなので、何も指定しなくても実行可能です。
- Adaptive Cards
- Adaptive Cardsを表示するダイアログの幅
- Adaptive Cardsを表示するダイアログの高さ
Adaptive Cardsは、Power Automateに組み込みのデザイナーで作成します。
変更後は必ず「Save Card」してください。
Adaptive Cardsを設定しない場合
トリガーの実行には、まずメッセージの[…]をクリックし、表示されるメニューの一番下「More actions」に表示されるフローを選びます。
Adaptive Cardsを何も設定していない場合には、下図のようなメッセージが表示され、フローが即時開始されます。
得られるデータを見てみると、(一部マスクしていますが)以下のような構成になっています。
{ "entity": { "teamsFlowRunContext": { "MessagePayload": { "Id": "1594040259306", "From": { "Application": null, "Conversation": null, "Device": null, "User": { "DisplayName": "Nagao Hiroaki", "Id": "18841347-0000-0000-0000-1d411f03ae5d" } }, "Body": { "ContentType": "html", "Content": "<div><div><at id=\"0\">hiro2</at> 7/24までに申請出しておいてください。</div>\n</div>", "PlainText": "hiro2 7/24までに申請出しておいてください。" }, "Subject": "", "LinkToMessage": "https://teams.microsoft.com/l/message/19:c1d77cxxxxxxc74e47145bf87af@thread.skype/1594040259306" }, "Id": "f:7894xxxx713737", "ChannelData": { "EventType": null, "Team": { "Id": "19:c1d77ca380axxxxxc74e47145bf87af@thread.skype", "AadGroupId": "787d35a0-0000-0000-0000-fd93bc449dd1", "Name": null }, "Tenant": { "Id": "b5cf997a-0000-4007-a2e5-999999999" }, "Channel": { "Id": "19:c1d77caaaaaaaaaae47145bf87af@thread.skype", "Name": null }, "Notification": null }, "From": { "Id": "29:1YiVIsxasddffaT1JX-fa8I_o2-Zgh3Qx2YTtjQAyNaYhDNQew", "Name": "Nagao Hiroaki", "Role": null, "AadObjectId": "18841347-0000-0000-0000-1d411f03ae5d", "Properties": null }, "Conversation": { "Id": "19:c1d77ca3xxxxxxe47145bf87af@thread.skype;messageid=1594040259306", "Name": null, "IsGroup": true }, "Locale": "en-US", "CommandContext": "message" }, "cardOutputs": {} } }
情報量多いのですが、メッセージに関する詳細 (テナント、グループ、チャンネル、メッセージのID、だれが出したか、内容)等が得られていることがわかります。
あとはこれらの情報を利用して、後続アクションを実行していくことになります。
※もちろん動的な値に表示されます。
Adaptive Cardsを利用した場合
Adaptive Cardsをオプションで指定した場合を見てみます。
More actionsから実行すると、今度はダイアログが表示され、設定したカードが表示されます。
ここに情報を入力して送信してみると、Adaptive Cardsを利用しない場合と比べて、以下のデータが追加で得られます。
"Id": "19:c1d77ca3xxxxxxe47145bf87af@thread.skype;messageid=1594040259306", "Name": null, "IsGroup": true }, "Locale": "en-US", "CommandContext": "message" }, "cardOutputs": { "taskTitle": "例外申請提出", "DueDate": "2020-07-27" } } }
カードからの情報は、 cardOutputsの中に入ります。 メッセージ同様、これを補足情報として後続のアクションで利用することで、「メッセージ+実行時のカスタム入力」で何らかの処理を自動化することができます。
おわり
速報として、Power AutomateでTemas向けトリガーに追加された「選択したメッセージ」をご紹介しました。
次の投稿では、メッセージの選択トリガーからPlannerへのタスク追加を実行してみます。