Power Automateを使ってTeams投稿する際、チームやチャネルにメンションすることはできないのですかな…?
チームやチャネルにメンション投稿する場合、「Microsoft Graph API」というのを利用するので、ユーザーやタグメンションよりは少し応用的です。
この記事では、Power Automateで、Teamsのチームやチャネルにメンション投稿する方法を解説します。
Power Automateで、Teamsのチームやチャネルにメンション投稿するには、Microsoft Graph HTTP要求を送信するアクションを使います。
Microsoft Graph を使ったHTTPリクエストができれば、Power Automateのアクションで用意されていないものでも、色々なサービス連携ができますので、ぜひ使ってみてください!
- チームやチャネルにメンション投稿する方法
- Microsoft Graphとは何か?
- チームIDやチャネルIDの取得方法
Youtube動画で見たい方は、こちらからどうぞ!
ユーザーやタグでメンション投稿する方法
Teamsコネクタを使った場合、「ユーザーの@メンショントークンを取得する」アクションや、「タグの@メンショントークンを取得する」アクションを使って、簡単にユーザーやタグでメンション投稿ができます。
具体的な方法については、以下の記事を参考にしてください。

一方で、Teamsのチームやチャネルへメンション投稿をしたい場合、「チームID」や「チャネルID」を使って、Microsoft Graph HTTP要求を送信するアクションを使います。
Microsoft Graph HTTPリクエストとは?
Microsoft Graphとは、Microsoft 365サービスにアクセスするための、統一された入り口です。

決められた形式に従って、HTTPリクエストをすれば、Microsoft Graph APIは、例えばTeams等のサービスから情報を取得し、取得したチームの情報を返してくれます。
このMicrosoft Graph HTTPリクエストを使うことで、Teamsのチームやチャネルにメンション投稿することができます。
実際にチームやチャネルにメンション投稿してみる!
今回作成するPower Automateフローの全体像です。

Microsoftの公式情報は以下のページを参考にしてください。
Microsoft Graph でのMicrosoft Teams メッセージング API の操作
チャネルまたはチャットで chatMessage を送信する
チームIDとチャネルIDの取得方法
はじめに、メンション投稿先の「チームID」と「チャネルID」を取得します。
①チームIDの取得方法
チームIDの取得方法は簡単です。
1.チャネルの「三点リーダー」>「チャネルへのリンクを取得」を選択します。

2.コピーをクリックして、メモ帳などに貼り付けます。

②チャネルIDの取得方法
チャネルIDの調べ方は、少し工夫をしてみます。
1.①で取得したチャネルのリンクをコピーしてブラウザで開いてみます。
2.「このサイトは、Microsoft Teamsを開こうとしています。」のポップアップはキャンセルして、「代わりにWebアプリを使用」をクリックします。

3.この時URLにチャネルIDが表示されるのですが、実際にチャネルが開くとURLが変わってしまいますので、急いで選択してからコピーします。
4.コピーしたURLをメモ帳に貼り付けてみると、以下のようになっています。

5.これもコピーをクリックして、メモ帳などに貼り付けます。
これで「チームID」と「チャネルID」が取得できました!
チームメンション投稿する方法
Power Automateの編集画面を開きます。
1.先ほどコピーした「チームID」と「チャネルID」を分かりやすく「データ操作」の「作成」アクションに格納しておきます。

2.「作成」アクションの後は、「Teams」>「Microsoft Graph HTTP要求を送信する」アクションを追加し、以下のように入力します。
URI:https://graph.microsoft.com/v1.0/teams/@{outputs(‘作成:チームID’)}/channels/@{outputs(‘作成:チャネルID’)}/messages
メソッド:POST
コンテンツタイプ:application/json
本文は、以下のように入力します。
{
"body": {
"contentType": "html",
"content": "<div><div><at id=\"0\">通知テスト</at> こんにちは!チームメンションのテストです!</div></div>"
},
"mentions": [
{
"id": 0,
"mentionText": "通知テスト",
"mentioned": {
"conversation": {
"id": "@{outputs('作成:チームID')}",
"conversationIdentityType": "team"
}
}
}
]
}

今回はチーム名「通知テスト」を記載しましたが、この2箇所を一致させれば、実際のチーム名でなくても好きなように表示することができます。
実際にテストして、チームメンションできるか試してみますぞ!
チャネルメンションする方法
チャネルへのメンション投稿もほぼ同じなので、先ほどと同様に「Microsoft Graph HTTP要求を送信する」アクションを設定していきます。
※以下の設定は、チームメンションと全く同じです
URI:https://graph.microsoft.com/v1.0/teams/@{outputs(‘作成:チームID’)}/channels/@{outputs(‘作成:チャネルID’)}/messages
メソッド:POST
コンテンツタイプ:application/json
本文は、以下のように入力します。
{
"body": {
"contentType": "html",
"content": "<div><div><at id=\"0\">質問チャネル</at> こんにちは!チャネルメンションのテストです!</div></div>"
},
"mentions": [
{
"id": 0,
"mentionText": "質問チャネル",
"mentioned": {
"conversation": {
"id": "@{outputs('作成:チャネルID')}",
"conversationIdentityType": "channel"
}
}
}
]
}

必要に応じて、「”content”:」で表示する本文も変えておきます。
テスト実行してみると、以下のような感じで、チームやチャネルへメンションをつけて投稿できました。

Power Automateを使ったチームへの自動投稿はよく使われますが、チームやチャネルにメンションしたいというケースはよくあるかと思います。
Microsoft Graph HTTPリクエストを使う実装は少し難しいですが、コピペで実装できるので、是非チャレンジしてください!
今回使ったMicrosoft Graph APIのリファレンスは以下をご参考ください。
最後に
この記事では、Power Automateで、Teamsのチームやチャネルにメンション投稿する方法を解説しました。
Power Automateで、Teamsのチームやチャネルにメンション投稿するには、Microsoft Graph HTTP要求を送信するアクションを使います。
Microsoft Graph HTTP要求のアクションを使うと、その他にも新しいチームやチャネルの作成、チームメンバーの追加、削除など色々なことができますので、是非使ってみてください!