はじめに
同じチームに所属するメンバーにタスクを割り当ててplannerで管理するなど、
power automateとteamsを用いてフローを自動化している中で気がついたのですが、
「@チーム名」の全体メンションがpower automateでは使えないとのこと。。
メンバーの入れ替わりの際にその都度flowをメンテする(ユーザーの個別メンション)のが手間に思い何かいいものがないかと模索してみました。
前提条件
- 所属するteamにおいて「全体連絡用」などの名でメンバー全員が含まれるタグを作成しておくこと
具体的な処理
例えば、以下のようにpower automateで何かの操作をトリガーチーム内に所属するメンバーに対してタスクを割り当てたいflowがあるとします。
-
before
今までは「個人のメンショントークンを取得→変数に格納→タスク割り当てに使用 × 所属するメンバー人数分」のflowを実施していました。 -
after
以下のように「タグのメンバーを一覧表示する」機能を使うことで「全体連絡用タグ」に追加しているメンバー全員のユニークなIDが取得できます。
おそらく、以下のドキュメントにあるような機能がpower automateのflowにも実装されている様子。
ドキュメント内に応答例として以下の記載がありますが、このレスポンスにおける「"userId"」が今回使用したいパラメータとなります。
HTTP/1.1 200 OK
Content-Type: application/json
{
"value": [
{
"@odata.type": "#microsoft.graph.teamworkTagMember",
"id": "MjQzMmI1N2ItMGFiZC00M2RiLWFhN2ItMTZlYWRkMTE1ZDM0IyNlYjY1M2Y5Mi04MzczLTRkZTYtYmZlYy01YjRkMjE2YjZhZGUjI2QzYjJiM2ViLWM0N2YtNDViOS05NWYyLWIyZjJlZjYyMTVjZQ==",
"displayName": "Grady Archie",
"tenantId": "18be64a9-c73a-4862-bccc-76c31ef09b9d",
"userId": "92f6952f-61ca-4a94-8910-508a240bc167"
},
{
"@odata.type": "#microsoft.graph.teamworkTagMember",
"id": "MjQzMmI1N2ItMGFiZC00M2RiLWFhN2ItMTZlYWRkMTE1ZDM0IyNlYjY1M2Y5Mi04MzczLTRkZTYtYmZlYy01YjRkMjE2YjZhZGUjI2QzYjJiM2ViLMW0N2YtNDViOS05NWYyLWIyZjJlZjYyGHVjZQ==",
"displayName": "Lee Gu",
"tenantId": "18be64a9-c73a-4862-bccc-76c31ef09b9d",
"userId": "945fe02a-5dc1-4d28-bf5c-30a6147fe842"
}
]
}
上記で取得できた値を「タスクを生成する」flowにてユーザーIDに指定してあげることで
個別にわりあてされたタスクを作成することができます。
まとめ
現状はチーム全体メンションを扱えませんが、このように全体向けのメンションを管理しておくことで、
メンバーの入れ替わりの際にタグをメンテナンスすることでflowはそのまま利用することができます。
今回例にあげたタスクを作成するだけでなく、全体に向けたアナウンスのフローにも同じタグが利用できると思うので1つ作成しておいても損はないのかなと思いました。