- MS365tips
- PowerAutomate
Power AutomateでTeamsにメンションする方法(ユーザー/タグ/複数人)
この記事では、Power AutomateでTeamsにメンションを付ける方法を解説します。
まず結論として、以下についてはシンプルな手順で実装できます。
- ユーザーへのメンション
- タグへのメンション
複数人を相手にメンションするには、Apply to each で繰り返し配列に格納する等、ひと工夫が必要です。
この記事を読めば、ユーザーやタグへのメンション方法はもちろん、複数人にメンションする方法も分かります。
ぜひ最後までご覧ください。
—この記事の監修者—
ヒョウノモトハル
- 1979年神奈川県生まれ
- 大学卒業後、モラトリアム期間を経て会社員となる
- 経理・総務・管理といったバックオフィスでの経験を積み、2016年から会社の情報システム部門へ転属
- その後2021年にキャリアの経験を活かし、Microsoft365関連の講座でUdemy講師としてデビュー
- 2023年現在、受講生5万人を抱えるベストセラー講師となる
Contents
メッセージ内に直接「@」を入力してもメンションはできない
まず、前提知識として、「チャットまたはチャネルでメッセージを投稿する」アクションの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を利用した業務改善のお手伝いをさせて頂いております。
ご予算、サポート範囲については完全オーダーメードでサポート対応をしておりますので、お気軽にご相談ください。