• MS365tips
  • PowerAutomate

Power AutomateでTeamsにメンションする方法(ユーザー/タグ/複数人)

この記事では、Power AutomateでTeamsにメンションを付ける方法を解説します。
まず結論として、以下についてはシンプルな手順で実装できます。

  • ユーザーへのメンション
  • タグへのメンション

複数人を相手にメンションするには、Apply to each で繰り返し配列に格納する等、ひと工夫が必要です。

この記事を読めば、ユーザーやタグへのメンション方法はもちろん、複数人にメンションする方法も分かります。

ぜひ最後までご覧ください。

—この記事の監修者—

ヒョウノモトハル

  • 1979年神奈川県生まれ
  • 大学卒業後、モラトリアム期間を経て会社員となる
  • 経理・総務・管理といったバックオフィスでの経験を積み、2016年から会社の情報システム部門へ転属
  • その後2021年にキャリアの経験を活かし、Microsoft365関連の講座でUdemy講師としてデビュー
  • 2023年現在、受講生5万人を抱えるベストセラー講師となる

メッセージ内に直接「@」を入力してもメンションはできない

まず、前提知識として、「チャットまたはチャネルでメッセージを投稿する」アクションのMessageに直接「@ユーザー名」を入力しても、ただの文字列として送信されるだけで、メンションは行えません。

例:@田中 慎也 さんにメンションを付けたい場合

(Power Automate上でMessageにメンションを手入力)

(そのまま文字として認識され、メンションされない)

メンションするには、「メンショントークンを取得する」アクションを経由する必要があります。
以降、ユーザーのメンション方法とタグのメンション方法、それぞれの具体的なやり方を解説します。

ユーザーをメンションする方法

ユーザーをメンションするには、「ユーザーの@メンショントークンを取得する」アクションを利用します。

実際に試したい場合は、「インスタント クラウド フロー」を作成し、トリガー方法には「フローを手動でトリガーする」を選択してください。
任意のユーザー、チャンネルを指定してメッセージを送ってみると良いでしょう。

1.ユーザーの@メンショントークンを取得する

「Microsoft Teams」の「ユーザーの@メンショントークンを取得する」を選択します。パラメーターの「ユーザー」に メンションしたい相手のメールアドレスを入力しましょう。

*メッセージを送りたいTeamsのチャンネル内に、存在するメールアドレスである必要があります
*他人でテストする場合は、テストのために何度もメンションされる旨、伝えておきましょう。

2.メッセージを送る

続いて、メンション付きのメッセージを送るアクションを設定します。

アクション「チャットまたはチャネルでメッセージを投稿する」を選択し、動的なコンテンツから、先ほど作成したメンショントークンを利用します。

Message欄にカーソルを合わせ、雷マークを選択します。

「ユーザーの@mentionトークンを取得する」の「@mention」を選択します。

以下@mention部分が、ステップ1で指定したアドレスのユーザー名に置き換わり送信されます。
前後には、自由に文章を指定できます。

Teams上のメッセージです。メンションができています。

タグをメンションする方法

タグ = グループのこと。
タグを使えば簡単に、タグに所属するメンバー全員宛に通知を送ることができます。

タグをメンションするには「タグの@メンショントークンを取得する」アクションを利用します。

基本的な流れはユーザーをメンションするやり方と変わらないので、流れに沿って実際に作成してみましょう。

1.タグの@メンショントークンを取得する

Teamsのアクション「タグの@メンショントークンを取得する」を選択します。
チーム、タグIDをプルダウンから選びます。

*タグはチーム選択後、候補から選択できます。IDを調べておく必要はありません。

2.メッセージを送る

アクション「チャットまたはチャネルでメッセージを投稿する」を選択し、先ほど作成したメンショントークンを利用します。
動的なコンテンツより、「タグの@mentionトークンを取得する」の「@mentionタグ」を選択します。

なお、タグ宛にメンションする場合、投稿者に「フローボット」は利用できません。
「ユーザー」等に変更が必要となりますので、注意しましょう。

以下、@mention部分が、ステップ1で指定したタグに置き換わります。
前後には、自由に文章を指定できます。

複数人にメンションしたい場合

ここでは、メンバー複数人にメンションする方法を解説します。
前提として、既にメンションしたいメンバーが参加しているタグがある場合は、タグをメンションするのが最も簡単です。

現状、チームやチャンネルのメンションは非対応

現状では、チームやチャンネルへのメンションはPower Automateのアクションでは実装できません。
用意されているのは、既に紹介した、ユーザーとタグ宛のメンションのみです。
複数人に対してメンションしたい場合、ひと工夫が必要です。

1.専用のタグを作成し、タグをメンションする

簡単なのは、PowerAutomateから複数人にメンションをつけるためだけに、別途タグを用意してしまうことです。
ここでは、Teamsにおけるタグの作成手順について念のためお伝えします。

1.Teamsにてチーム名の右側「・・・」をクリックし、「タグを管理」を選択します。

2.「タグを作成」を選択します。

3.「タグ名」を入力し、「ユーザーを追加」に、メンションしたいメンバーを追加します。

4.「作成」ボタンを押して完了です。あとは見出し「タグをメンションする方法」に沿って実装しましょう。
「タグの@メンショントークンを取得する」アクションのタグIDの候補に、作成したタグが表示されるようになります。

2.Office365のグループメンバー全員をメンションする

「ユーザーの@mentionトークンを取得する」アクションを繰り返して配列に追加することで、グループメンバー全員をメンションすることも可能です。
なお、グループメンバーにゲストがいる場合、この手順では実装できません。
この後の見出し「(Office365のグループメンバーにゲストがいる場合)」を参照ください。

1.変数の作成

複数名のメンショントークンを格納するための、変数を用意します。

「変数を初期化する」アクションにて、Array型の変数を定義します。
名前は自由ですが、ここでは「mentions」としています。

2.グループメンバーの一覧表示

「Office365グループ」の「グループメンバーの一覧表示」アクションを追加し、「グループID」からメンションをしたいグループを選択します。

3.ユーザーの@mentionトークンを取得する

「Teams」「ユーザーの@mentionトークンを取得する」を選択し、動的コンテンツから、「グループメンバーの一覧表示」の「メール」を選択します。
(自動でFor each/Apply to eachが設定されます)

4.繰り返し(For each/Apply to each)内で、配列変数に追加

「配列変数に追加」アクションにて、作成しておいた変数「mentions」に、「ユーザーの@mentionトークンを取得する」の「@mention」を追加します。

For each/Apply to each内に追加する必要がありますので、追加する場所に注意してください。

5.「結合」で配列の中身を取り出す

配列の中身を「チャットまたはチャネルでメッセージを投稿する」アクションのMessageで指定できるようにするため、「データの操作」の「結合」アクションを挟みます。

画面上、「Join With」には「,」を指定していますが、半角スペース等お好きな文字でかまいません。

6.2.メッセージを送る

Teamsのアクション「チャットまたはチャネルでメッセージを投稿する」を追加します。
メンションとして、動的なコンテンツの「結合」の「Output」を指定します。

この「Output」が、人数分のメンションに置き換わります。

(Office365のグループメンバーにゲストがいる場合)

Office365のグループメンバーにゲストがいる場合、さらに一手間必要となります。
「2.Office365のグループメンバー全員をメンションする」との差分だけを解説します。

1.「ユーザーの@mentionトークンを取得」には「ユーザーID」を指定

まず、「ユーザーの@mentionトークンを取得」アクションでは、ユーザーIDを指定してください。
メールアドレスではエラーになり、「ユーザープリンシパル名」など他の項目では、うまくメンションできません。

2.配列格納前に作成を挟む

「ユーザーの@mentionトークンを取得」と「配列変数に追加」の間に、「データの操作」の「作成」アクションを追加します。

「作成」を経由しないと、ゲストユーザーがうまくメンションされません。(以下、画像参照)

「作成」には、「ユーザーの@mentionトークンを取得」の「@mention」を指定します。

3.「配列変数に追加」アクションで配列に格納する値を、「作成」の「出力」に変更

「配列変数に追加」アクションで配列に格納する値も、この「作成」の「出力」に変更します。

上記3つの対応をすると、ゲストユーザーについてもメンションが行えるようになります。

(佐藤 三郎 と田中 太朗 がゲストユーザーです)

(参考)<at>タグの手入力でもユーザー,タグをメンション可能

一応、「・・・@メンショントークンを取得」アクションを使わなくても、メンションは可能です。
ただし、

  • フローのメンテナンス性が落ちる
  • Messageを編集しにくくなる
  • 一般的な使い方であれば、<at>タグを使わないといけない場面がない

ので、よほど特殊な事情が無い限りは「・・・@メンショントークンを取得」を使用してメンションした方が無難です。

参考までに、<at>タグを使ったメンションの付け方をお伝えします。

<at>タグによるメンション方法

「チャットまたはチャネルでメッセージを投稿する」アクションのMessageで、</>ボタンを押し、コードビューに切り替えます。

ユーザーをメンションする場合は

<at>★メールアドレス★</at>

タグをメンションする場合は

<atTag><tagId>★タグID★</tagId><groupId>★グループID★</groupId></atTag>

をコードビュー上で入力します。★で囲まれている部分は、書き換えてください。

タグIDの調べ方

タグをメンションする場合のIDを調べるには、「タグの@mentionトークンを取得する」アクションをテスト実行して、出力結果を確認するのが早いです。

「出力」の「ボディ」内の、<atTag>から</atTag>までが、Message内で指定する内容です。

Microsoft365の運用にお困りではありませんか?

株式会社uniteでは、Microsoft365のすべてのアプリを対象に、法人様向けの運用サポートを行っています。

  • 社内メール⇒teamsへの円滑な移行と利用率UP施策
  • SharePointのドキュメントライブラリを活用したファイル管理
  • ExcelやAccessで作成された既存の社内ツールをPowerAppsへリニューアル
  • 手作業で行っている業務をPowerAutomateで自動化

等、MS365を利用した業務改善のお手伝いをさせて頂いております。
ご予算、サポート範囲については完全オーダーメードでサポート対応をしておりますので、お気軽にご相談ください。