この記事では、Power AutomateからTeamsにメンション付きでメッセージを投稿する方法について解説しています!
Microsoft Teamsのメンションとは?
Microsoft Teamsのメンションの役割、種類は下記の記事で解説しています。ご参考になさってください。
Power AutomateからMicrosoft Teamsにメンション付きメッセージを送信するには?
通常Microsoft Teamsアプリケーションを使ってメッセージの中にメンションをつける場合、キーボード操作で@マークを入力して「@ユーザ名」または 「@メールアドレス」という文字列を挿入してメンションを付けるかと思います。
しかしPower AutomateのTeamsコネクタのアクションにてメッセージを送信するときに、本文に@マークを記述しても ただの文章の一部、つまり文字列として認識されてしまいメンションとして機能しません。(下図参照)
▲@を付けただけのメールアドレスではNG!ただのテキストになってしまいます。これでは送信先にメンション通知が送信されません。
メンションを行うには、下記のように<at>~</at>タグ
を使用します。
<at>メンション相手のユーザプリンシパルネーム(UPN)</at>
ユーザプリンシパルネーム(UPN)は基本的にはユーザのMicrosoft365メールアドレスとなります。
UPNとメールアドレスは必ず一致するとは限りません。宛先UPNが不安な方は「Microsoft365 Group」コネクタで確認することができます。確認方法は下記の記事をご覧ください。
Teamsでメンションを付ける2パターンの方法
Power Automateで<at>タグをつけてメンションを行う方法には、下記の2つの方法があります。
- <at>タグを手入力する方法
- Teamsアクションのメッセージ本文に<at>UPN</at>を手入力する方法
- Teamsアクションのメッセージ本文に<at>UPN</at>を手入力する方法
- 専用のアクションを使用する方法
- 「ユーザーの@mentionトークンを取得する」アクションを使用する方法
それぞれの使用方法については次の項で解説します。基本的にはアクションを使う方が分かりやすいと思います。
「ユーザーの@mentionトークンを取得する」アクションは、UPNを渡すと「<at>UPN</at>」の形の文字列にして返してくれるだけですので、結局のところ「どちらの手段もやっていることは一緒である」ということは覚えておいてください。
『<at>タグ手入力』でメンションする手順
手入力でメンションする方法について解説します。
『チャットまたはチャネルでメッセージを投稿する』アクションの例
「チャットまたはチャネルでメッセージを投稿する」アクションのMessageの項目のところにあるコードビューアイコン(</>)をクリックしてコードビューモードにします。
<at>タグのメンションを入力します。あわせてメッセージの本文も入力します。
普通にTeamsのメッセージを送信するときと同様に </at>タグのうしろに「さん」や「様」などの敬称をつけることを忘れないでくださいね。
<at>jojio@tejilabo.onmicrosoft.com</at> さん こんにちは!このメッセージはPower Automateからメンション付きメッセージを送信するテストのためのメッセージです!!
フローを保存してテスト実行してPower Automateから送信されたTeamsのメッセージを確認してみましょう。上図はPower Automateから送信なのですが、メッセージの中の<at>タグの部分がユーザ名表示に変化して青字になっていることがわかります。正常にメンションとして機能していることがわかるかと思います。
『 ユーザーの@mentionトークンを取得する 』アクションでメンションする手順
つづいてアクションを使ってメンションする方法を確認してみましょう!
Teamsへメッセージを送信するアクションの前に追加してくださいね。
▲「Microsoft Teams」コネクタを選択します。
「ユーザーの@mentionトークンを取得する」アクションをクリックして追加します。
「ユーザーの@mentionトークンを取得する」アクション のユーザー欄にUPN(メールアドレス)を入力します。 もちろん図のように「動的コンテンツ」のパラメータを使うこともできます。
▲「チャットまたはチャネルでメッセージを投稿する」アクションのMessageの項目をクリックして入力ボックスをアクティブにします。そこで表示される「動的なコンテンツの追加」をクリックします。(環境によっては「動的な値の追加」という表記になっているかもしれません。)
動的コンテンツ(動的な値)の一覧の中にある「@mention」をクリックします。これは「ユーザーの@mentionトークンを取得する」アクションから出力された値です。つまり「ユーザーの@mentionトークンを取得する」アクションで生成されたメンションタグですね。
▲動的なコンテンツ(動的な値)を挿入すると上図のようにカード型のアイコンが挿入されます。これがメンションタグですね。メンションタグが挿入できましたら、タグに続いて送信メッセージの本文を入力しましょう。
▲手入力の方法と同じようにきちんとメンションされました!
対応していないメンションの種類は?
Power Automateでは以下のメンション機能はサポートされていないようです。(2021年12月01日時点)
Power Automateのメンション
- チームメンション(@Team)やチャネルメンション(@Channel)は使用できません。
- Teamsのタグを使ってメンションすることはできません。
- Power AutomateのHTTPコネクタからTeamsのWebhookへメッセージを送信する場合、メンションを使用することができません。
ご覧の通り、チームメンションに対応していないので複数人にメンションを送るには少し工夫が必要です。(方法は次の項で解説しています。)ただし、よく使う機能ですので今後のアップデートで追加される可能性はあるかと思います。
複数人へメンションする方法は?
ループ処理の中で複数メンバへのメンショントークンを作成する方法
チームメンションやタグメンションが使えないとなると、例えば5人のチームメンバに全員にメンションを付けるには「ユーザーの@mentionトークンを取得する」アクションを5個も使うのかにゃ?
もちろんそれも方法のひとつだけど、でもさすがに非効率で面倒だね。宛先メンバーにもよりますがループ処理を使えば効率的にフローを作ることができるかもしれません。
例えば下記の記事では同じ役職者だけにメンションを付ける方法を紹介しています。
今後のアップデートでタグメンションに対応する可能性もあるかと思いますので、上記の方法はそれまでの代替案ということになります。
チームメンション・チャネルメンションをどうしても付けたい
Teamsコネクタではチームメンション・チャネルメンションに非対応とお伝えしました。どうしてもチームメンション・チャネルメンションを使いたい場合は、Graph APIを使ってTeamsにメッセージを送信する方法があります。下記の記事で紹介していますのでご参考になさってください。
アダプティブカードでメンションするには?
アダプティブカードにメンションを付ける方法は下記の記事で解説しています。よろしければそちらもご参考になさってください!
(補足)メンション作成でエラーがでました。
エンコードされたUPNはデコードが必要です
Power Automateのフロー実行時、ゲストメンバーのメンショントークン作成のところで実行エラーがでました。エラーが出た場合は下記を気にしてみてください。
まとめ
この記事ではTeamsへメンション付きメッセージを送信する方法についてご紹介しました。最後までご覧くださりありがとうございました。
このブログではRPA・ノーコードツール・VBA/GAS/Pythonを使った業務効率化などについて発信しています。
参考になりましたらブックマーク登録お願いします!
Power Automate学習教材
▲Kindleと紙媒体両方提供されています。デスクトップフロー、クラウドフロー両方の解説がある書籍です。解説の割合としてはデスクトップフロー7割・クラウドフロー3割程度の比率となっています。両者の概要をざっくり理解するのにオススメです。
▲Power Automate for Desktopの基本をしっかり学習するのにオススメです。この本の一番のメリットはデモWebシステム・デモ業務アプリを実際に使ってハンズオン形式で学習できる点です。本と同じシステム・アプリを使って学習できるので、本と自分の環境の違いによる「よく分からないエラー」で無駄に躓いて挫折してしまう可能性が低いです。この点でPower Automate for desktopの一冊目のテキストとしてオススメします。著者は日本屈指のRPAエンジニア集団である『ロボ研』さんです。
▲Power Automate クラウドフローの入門書です。初心者の方には図解も多く一番わかりやすいかと個人的に思っています。
Microsoft 365/ Power Automate / Power Platform / Google Apps Script…
▲Udemyで数少ないPower Automateクラウドフローを主題にした講座です。セール時は90%OFF(1200円~2000円弱)の価格になります。頻繁にセールを実施しているので絶対にセール時に購入してくださいね。満足がいかなければ返金保証制度がありますので安心してご購入いただけます。