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フローの全体像です。
チーム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要求のアクションを使うと、その他にも新しいチームやチャネルの作成、チームメンバーの追加、削除など色々なことができますので、是非使ってみてください!