[2022/03/08]
かなり配信が遅いテナントの既定の環境でも当該アクションの追加が確認できました。
Power Automate で Teams にメッセージを投稿する場合、これまで標準アクションでサポートされていたのはユーザーへの@メンション のみでした。
このほかにGraph APIを使ったチーム/チャネルへのメンション、Teams APIを使ったタグメンションなどがHTTPアクションを利用することで実現できていました。
Power Automate でプレミアムアクションを使わずに Teams のチャネルやチームにメンションを送る - MoreBeerMorePower
Post a teams message with Tag mention from Power Automate - MoreBeerMorePower
今回新たにTeamsの標準アクションとして チーム内のタグへのメンション が追加されました。
関係するのが以下2つの新アクションです。
最初のアクション「List all tags for a team」では、指定したチームの中で設定されたタグの一覧が取得できます。
次のアクション「Get an @mention token for a tag」で、メッセージ投稿で利用可能なタグへのメンショントークンを取得できます。
アクション解説:List all tags for a team (チームのすべてのタグを一覧化する)
このアクションでは、ドロップダウンまたはカスタム値としてグループを指定します。
(カスタム値の場合にはチームのグループID)
このアクションの結果、以下のような配列が得られます。(body('List_all_tags_for_a_team')
の結果)
{ "@odata.context": "https://graph.microsoft.com/beta/$metadata#teams('787d35a0-aaaaa-49c6-aedd-fffff449dd1')/tags", "@odata.count": 2, "value": [ { "id": "YjVjZdasaffdgf4NWNiIyM3ODdkMzVhM...EjI3RrSU1TdGNpMg==", "teamId": "'787d35a0-aaaaa-49c6-aedd-fffff449dd1", "displayName": "Test Tag", "description": null, "memberCount": 2, "tagType": "standard" }, { "id": "YjVjZdasaffdgf4adaaaaDdkMzVhM...EjI3RrSU1TdGNpMg==", "teamId": "'787d35a0-aaaaa-49c6-aedd-fffff449dd1", "displayName": "Sample Tag", "description": null, "memberCount": 3, "tagType": "standard" } ] }
タグへのメンションに必要なのは上のJSONの中のid
とteamId
ですが、投稿日時点では残念ながら動的コンテンツでこれらの値を取得することはできませんでした。
個別に取り出す場合には式を使って取得する必要があります。式の場合には body('List_all_tags_for_a_team')?['value']?[0]?['id']
のように指定すれば0番目のid列の値が取得できます。
アクション解説:Get an @mention token for a tag (タグの@メンショントークンを取得する)
タグの@メンショントークンを取得するアクションでは、チームとその中のタグを指定します。
このアクションの結果、以下のようなJSONオブジェクトが得られます。
{ "atMention": "<atTag><tagId>YxxxxYtYWVkZC1mZDkzYmMNpMg%3D%3D</tagId><groupId>787d35a0-2edddd-49c6-aedd-fd93aaaadd1</groupId></atTag>" }
タグのIDをUrlエンコードしたものと、グループのIDで構成されていることがわかります。
なお、このアクションの結果は後続のメッセージ投稿アクションで動的コンテンツとして表示されます。
あとはメッセージの投稿に@メンショントークンを追加すればOKです。
注意事項
動的コンテンツの説明にも書かれている通り、タグへの@メンションができるのはユーザーとして投稿する場合のみ です。Flowbotや最近追加されているVirtual Agentsでは投稿できません。
また、メンショントークンが使えるのは、通常のメッセージだけでなくAdaptive Cardの投稿でも可能です。
適当なカードのテキスト部分にメンショントークンを追加すると・・・
期待通りメンションされています。
以上です。タグ一覧の取得アクションは今後改善されることを期待していましょう。
参考:Graph API betaでTag取得・作成のためのAPIが追加されていました