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動画で見たい方は、こちらからどうぞ!

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

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フローの全体像です。

チーム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
パワ実
DX推進担当(IT部門) 2021年からPower Platform(Power BI、Power Apps、Power Automate)を勉強中。 Power Platformを使っていく中で、知りえた情報を発信している。 Youtube、Twitterでの情報発信もしています!

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

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