PowerAutomate

【Power Automate入門】Teamsのチームやチャネルにメンション投稿する方法

ミムチ

Power Automateを使ってTeams投稿する際、チームやチャネルにメンションすることはできないのですかな…?

パワ実

チームやチャネルにメンション投稿する場合、「Microsoft Graph API」というのを利用するので、ユーザーやタグメンションよりは少し応用的です。

この記事では、Power Automateで、Teamsのチームやチャネルにメンション投稿する方法を解説します。

Power Automateで、Teamsのチームやチャネルにメンション投稿するには、Microsoft Graph HTTP要求を送信するアクションを使います。

Microsoft Graph を使ったHTTPリクエストができれば、Power Automateのアクションで用意されていないものでも、色々なサービス連携ができますので、ぜひ使ってみてください!

この記事で分かること
  1. チームやチャネルにメンション投稿する方法
  2. Microsoft Graphとは何か?
  3. チームIDやチャネルIDの取得方法

Youtube動画で見たい方は、こちらからどうぞ!

https://youtu.be/TRhr7HdKyxY

ユーザーやタグでメンション投稿する方法

Teamsコネクタを使った場合、「ユーザーの@メンショントークンを取得する」アクションや、「タグの@メンショントークンを取得する」アクションを使って、簡単にユーザーやタグでメンション投稿ができます。

具体的な方法については、以下の記事を参考にしてください。

【Power Automate入門】Teams投稿時に複数の宛先にメンションする方法この記事では、Power Automateで、ユーザーやタグへの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」は「groupId=」の後ろから「&tenantId」の前までの部分になります。

②チャネルIDの取得方法

チャネルIDの調べ方は、少し工夫をしてみます。

1.①で取得したチャネルのリンクをコピーしてブラウザで開いてみます。

2.「このサイトは、Microsoft Teamsを開こうとしています。」のポップアップはキャンセルして、「代わりにWebアプリを使用」をクリックします。

3.この時URLにチャネルIDが表示されるのですが、実際にチャネルが開くとURLが変わってしまいますので、急いで選択してからコピーします。

4.コピーしたURLをメモ帳に貼り付けてみると、以下のようになっています。

「チャネルID」は「channel/」の後ろから次の「/」の前までの部分になります。

※下の画像では「19:」~「@thread.tacv2」までになります

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>&nbsp;こんにちは!チームメンションのテストです!</div></div>"
    },
    "mentions": [
        {
            "id": 0,
            "mentionText": "通知テスト",
            "mentioned": {
                "conversation": {
                    "id": "@{outputs('作成:チームID')}",
                    "conversationIdentityType": "team"
                }
            }
        }
    ]
}
  • 「通知テスト」の2か所の部分は、メンションしたいチーム名を記載します。
  • 「”id”: “出力”」の出力部分は、チーム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>&nbsp;こんにちは!チャネルメンションのテストです!</div></div>"
    },
    "mentions": [
        {
            "id": 0,
            "mentionText": "質問チャネル",
            "mentioned": {
                "conversation": {
                    "id": "@{outputs('作成:チャネルID')}",
                    "conversationIdentityType": "channel"
                }
            }
        }
    ]
}
  • 「質問チャネル」の2か所の部分は、メンションしたいチャネル名を記載します。
  • 「”id”: “出力”」の出力部分は、チャネルIDを入れます(動的なコンテンツ)。
  • conversationIdentityTypeは「channel」にします。

必要に応じて、「”content”:」で表示する本文も変えておきます。

テスト実行してみると、以下のような感じで、チームやチャネルへメンションをつけて投稿できました。

ただしこの場合、パワ実が投稿する形となるので、自分(パワ実)へのメンションはされません。

Power Automateを使ったチームへの自動投稿はよく使われますが、チームやチャネルにメンションしたいというケースはよくあるかと思います。

パワ実

Microsoft Graph HTTPリクエストを使う実装は少し難しいですが、コピペで実装できるので、是非チャレンジしてください!

今回使ったMicrosoft Graph APIのリファレンスは以下をご参考ください。

チャネルまたはチャットでchatMessageを送信する

最後に

この記事では、Power Automateで、Teamsのチームやチャネルにメンション投稿する方法を解説しました。

Power Automateで、Teamsのチームやチャネルにメンション投稿するには、Microsoft Graph HTTP要求を送信するアクションを使います。

パワ実

Microsoft Graph HTTP要求のアクションを使うと、その他にも新しいチームやチャネルの作成、チームメンバーの追加、削除など色々なことができますので、是非使ってみてください!

ABOUT ME
パワ実(Microsoft MVP)
2021年からPower Platform(Power BI、Power Apps、Power Automate)を勉強中。 2023年にIT系・コンサルタントに転職し、仕事でPower Platformを活用したコンサルを行っています。 2025年~Microsoft MVP for Business Applications 受賞 Power Platformを使っていく中で、知りえた情報をブログ、Youtube、Xで発信しています。 Power Platformに関するご相談は以下のページからお願いします! https://www.powerplatformknowledge.com/contact/

Power Platformのご依頼・ご相談について

Power Platformについてのご相談、お仕事のご依頼については、
こちらのお問い合わせページをご確認ください。