リモートワークで導入して良かったツール詳しく見る

Power AutomateでTeamsにメンションを付けて投稿する方法を解説します!

じょじお

この記事では、Power AutomateからTeamsにメンション付きでメッセージを投稿する方法について解説しています!

目次

Microsoft Teamsのメンションとは?

Microsoft Teamsのメンションの役割、種類は下記の記事で解説しています。ご参考になさってください。

Power AutomateからMicrosoft Teamsにメンション付きメッセージを送信するには?

通常Microsoft Teamsアプリケーションを使ってメッセージの中にメンションをつける場合、キーボード操作で@マークを入力して「@ユーザ名」または 「@メールアドレス」という文字列を挿入してメンションを付けるかと思います。

しかしPower AutomateのTeamsコネクタのアクションにてメッセージを送信するときに、本文に@マークを記述しても ただの文章の一部、つまり文字列として認識されてしまいメンションとして機能しません。(下図参照)

NG
power automate

@を付けただけのメールアドレスではNG!ただのテキストになってしまいます。これでは送信先にメンション通知が送信されません。

OK

メンションを行うには、下記のように<at>~</at>タグを使用します。

<at>メンション相手のユーザプリンシパルネーム(UPN)</at>

ユーザプリンシパルネーム(UPN)は基本的にはユーザのMicrosoft365メールアドレスとなります。

UPNとメールアドレスは必ず一致するとは限りません。宛先UPNが不安な方は「Microsoft365 Group」コネクタで確認することができます。確認方法は下記の記事をご覧ください。

Teamsでメンションを付ける2パターンの方法

Power Automateで<at>タグをつけてメンションを行う方法には、下記の2つの方法があります。

  1. <at>タグを手入力する方法
    • Teamsアクションのメッセージ本文に<at>UPN</at>を手入力する方法
  2. 専用のアクションを使用する方法
    • ユーザーの@mentionトークンを取得する」アクションを使用する方法

それぞれの使用方法については次の項で解説します。基本的にはアクションを使う方が分かりやすいと思います。

ユーザーの@mentionトークンを取得する」アクションは、UPNを渡すと「<at>UPN</at>」の形の文字列にして返してくれるだけですので、結局のところ「どちらの手段もやっていることは一緒である」ということは覚えておいてください。

『<at>タグ手入力』でメンションする手順

じょじお

手入力でメンションする方法について解説します。

『チャットまたはチャネルでメッセージを投稿する』アクションの例

STEP
『チャットまたはチャネルでメッセージを投稿する』アクションを追加します。
STEP
「コードビュー」アイコンをクリックします。
power automate

「チャットまたはチャネルでメッセージを投稿する」アクションのMessageの項目のところにあるコードビューアイコン(</>)をクリックしてコードビューモードにします。

コードビューモードにするとメッセージ本文にHTMLタグを含めることができます。コードビューモードにしていない状態で<at>タグを挿入してもただの文字列として認識されてしまうので注意してください。

STEP
「Message」に送信メッセージを入力します。
power automate

<at>タグのメンションを入力します。あわせてメッセージの本文も入力します。

普通にTeamsのメッセージを送信するときと同様に </at>タグのうしろに「さん」や「様」などの敬称をつけることを忘れないでくださいね。

<at>jojio@tejilabo.onmicrosoft.com</at> さん
こんにちは!このメッセージはPower Automateからメンション付きメッセージを送信するテストのためのメッセージです!!
STEP
フローをテスト実行し、Teamsアプリケーションを開いて受信メッセージを確認します。
power automate

フローを保存してテスト実行してPower Automateから送信されたTeamsのメッセージを確認してみましょう。上図はPower Automateから送信なのですが、メッセージの中の<at>タグの部分がユーザ名表示に変化して青字になっていることがわかります。正常にメンションとして機能していることがわかるかと思います。

『 ユーザーの@mentionトークンを取得する 』アクションでメンションする手順

じょじお

つづいてアクションを使ってメンションする方法を確認してみましょう!

STEP
「新しいステップ」をクリックしてアクションを追加します。
power automate

Teamsへメッセージを送信するアクションの前に追加してくださいね。

STEP
「Microsoft Teams」コネクタを選択します。
power automate

▲「Microsoft Teams」コネクタを選択します。

STEP
「ユーザーの@mentionトークンを取得する」 アクションを追加します。
power automate

ユーザーの@mentionトークンを取得する」アクションをクリックして追加します。

STEP
「ユーザーの@mentionトークンを取得する」アクションにUPN(メールアドレス)を入力します。
power automate

「ユーザーの@mentionトークンを取得する」アクション のユーザー欄にUPN(メールアドレス)を入力します。 もちろん図のように「動的コンテンツ」のパラメータを使うこともできます。

STEP
「チャットまたはチャネルでメッセージを投稿する」アクションにて「動的なコンテンツの追加」をクリックします。
power automate

▲「チャットまたはチャネルでメッセージを投稿する」アクションのMessageの項目をクリックして入力ボックスをアクティブにします。そこで表示される「動的なコンテンツの追加」をクリックします。(環境によっては「動的な値の追加」という表記になっているかもしれません。)

STEP
「@mention」をクリックします。
power automate

動的コンテンツ(動的な値)の一覧の中にある「@mention」をクリックします。これは「ユーザーの@mentionトークンを取得する」アクションから出力された値です。つまり「ユーザーの@mentionトークンを取得する」アクションで生成されたメンションタグですね。

STEP
「Message」に送信メッセージを入力します。
power automate

▲動的なコンテンツ(動的な値)を挿入すると上図のようにカード型のアイコンが挿入されます。これがメンションタグですね。メンションタグが挿入できましたら、タグに続いて送信メッセージの本文を入力しましょう。

今回は直接メンションタグを記述しませんのでコードビューモードにする必要はありません。

STEP
フローをテスト実行し、Teamsアプリケーションにて受信メッセージを確認します。
power automate

▲手入力の方法と同じようにきちんとメンションされました!

メンションを使うことができないパターンは?

以下のメンション機能はいまのところPower Automateではサポートされていないようです。(2021年12月01日時点)

Power Automateのメンション

  • チームメンション(@Team)やチャネルメンション(@Channel)は使用できません。
  • Teamsのタグを使ってメンションすることはできません。
  • Power AutomateのHTTPコネクタからTeamsのWebhookへメッセージを送信する場合、メンションを使用することができません。

ご覧の通り、チームメンションに対応していないので複数人にメンションを送るには少し工夫が必要です。(方法は次の項で解説しています。)ただし、Microsoftさんの中でタグメンションに対応するような動きがあるように見えるので、今後のアップデートに期待しましょう!

複数人へメンションする方法は?

ループ処理の中で複数メンバへのメンショントークンを作成する方法

ぽこがみさま

チームメンションやタグメンションが使えないとなると、例えば5人のチームメンバに全員にメンションを付けるには「ユーザーの@mentionトークンを取得する」アクションを5個も使うのかにゃ?

じょじお

もちろんそれも方法のひとつだけど、でもさすがに非効率で面倒だね。宛先メンバーにもよりますがループ処理を使えば効率的にフローを作ることができるかもしれません。

じょじお

例えば下記の記事では同じ役職者だけにメンションを付ける方法を紹介しています。

今後のアップデートでタグメンションに対応する可能性もあるかと思いますので、上記の方法はそれまでの代替案ということになります。

チームメンション・チャネルメンションをどうしても付けたい

Teamsコネクタではチームメンション・チャネルメンションに非対応とお伝えしました。どうしてもチームメンション・チャネルメンションを使いたい場合は、Graph APIを使ってTeamsにメッセージを送信する方法があります。下記の記事で紹介していますのでご参考になさってください。

アダプティブカードでメンションするには?

じょじお

アダプティブカードにメンションを付ける方法は下記の記事で解説しています。よろしければそちらもご参考になさってください!

(補足)メンション作成でエラーがでました。

(結論)エンコードされたUPNはデコードが必要でした。

じょじお

Power Automateのフロー実行時、ゲストメンバーのメンショントークン作成のところで実行エラーがでました。エラーが出た場合は下記を気にしてみてください。

記事作成後に気が付いたのですが、UPNにURIで使用できない文字列(特殊な記号とか日本語)が含まれている場合、メンショントークンの作成後にdecodeUriComponent関数を使ってデコードしなければならないケースがあります対応が必要な場合の例としては、組織外のユーザをゲストアカウントとして招待していてそのメンバをターゲットにメンションする時などです。

まとめ

じょじお

この記事ではTeamsへメンション付きメッセージを送信する方法についてご紹介しました。最後までご覧くださりありがとうございました。

ぽこがみさま

このブログではPower Automate などのRPAツールやVBA/GAS/Pythonを使った業務効率化ツールの作成などについて発信しています。
参考になりましたらブックマーク登録お願いします!

Power Automate学習教材

Power AutomateをKindleで学びたい方はコチラ

▲Kindleと紙媒体両方提供されています。デスクトップフロー、クラウドフロー両方の解説がある書籍です。解説の割合としてはデスクトップフロー7割・クラウドフロー3割程度の比率となっています。両者の概要をざっくり理解するのにオススメです。

Power Automate for Desktopの基本をしっかり学習するのにオススメです。RPA界隈では有名なRPAエンジニア集団である『ロボ研』さんが監修されている解説書です。テスト用の業務Webシステム/デスクトップ業務アプリを使いながら実践形式で学習できる点が一番のメリットかなぁと思います。

Power Automateを動画で学びたい方はコチラ

▲Udemyで数少ないPower Automateクラウドフローを主題にした講座です。セール時は90%OFF(1200円~2000円弱)の価格になります頻繁にセールを実施しているので絶対にセール時に購入してください。満足がいかなければ返金保証制度がありますので安心してご購入いただけます。

ノンプログラマーでも自動化スキルを身につける。

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!
目次
閉じる