0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Power Automate】Microsoft 365 groupsコネクタ「HTTP要求を送信します」:Teamsでチャネル・人にメンションする方法(Microsoft Graph)

Last updated at Posted at 2023-09-22

はじめに

最近やっとPower Automation中級者程度なら名乗れるか、と思い始めたくらいの知識です。
記述内容間違っているよ、もっといい方法あるよ、などあれば優しくコメントもらえると嬉しいです。

利用シーン

Power AutomateからTeams投稿する際、チャネル・人にそれぞれメンションしたいとき

  1. 人のみにメンションしたいとき
    → 「Power Automate Teams メンション」と検索するとたくさん記事が出てきます。楽ちん実装
  2. チーム・チャネルをメンションしたいとき
    → プレミアムアクションであるMicrosoft 365 groupsコネクタ「HTTP要求を送信します」アクションを利用

本記事ではMicrosoft 365 groupsコネクタ「HTTP要求を送信します」アクションを利用して人・チャネル両方にメンションする方法について扱います。

プレミアムアクションが必要なのか

色々と調べた結果、2023年9月現在、プレミアムアクションなしに実現することはできないと判断しました(あくまで私見)
以前は「HTTP要求を送信する」アクションを利用することでプレミアムアクションを利用せずにチャネルメンションできていたようです。

しかし、23年9月現在、V2となっており色々試してみたもののエラー解消することができませんでした。
screenshot_v2

ビクターさん「プレミアムコネクターが唯一の選択肢だぜ」

リソース「Teams」が利用不可になったとの記述

もともと抜け道のようなものだったのでV2で対策されたということなのかもしれません。

本題

コネクタの探し方、チャネルへのメンション方法は他記事に譲ります。「Power Automate Teams チャネル メンション」で検索。
私が詰まったポイントは「チャネルと人、どちらにもメンションしたいが探しても探してもHTTP要求で人にメンションする方法がわからない」です。

初めに試したもの

まずはシンプルに<at>タグを試しました。
しかし、エラーにはならないがUPNがそのまま表示されるだけでメンションにはなりませんでした。
失敗!

content内の抜粋
<at>【ユーザUPN】</at>さん

最終的に辿り着いた先

チャネルと同様にmentionsに人も指定する必要がありました。チャネルと若干指定すべき項目が変わるので注意です。
解決!

body部分
{
  "body": {
    "contentType": "html",
    "content": "
        <at id=\"1\">CHANNEL NAME</at><br/>
        <at id=\"0\">USER NAME</at>さん"
  },
  "mentions": [
    {
      "id": 0,
      "mentionText": "USER NAME",
      "mentioned": {
        "user": {
          "displayName": "USER NAME",
          "id": "【ユーザのID】",
          "userIdentityType": "aadUser"
        }
      }
    },
    {
      "id": 1,
      "mentionText": "CHANNEL NAME",
      "mentioned": {
        "conversation": {
          "displayName": "CHANNEL NAME",
          "id": "【チャネルのID】",
          "conversationIdentityType": "channel"
        }
      }
    }
  ]
}

参考

例 2: @mentions チャネル メッセージ内のユーザー

最後に

チャネルのメンション方法は検索したらいくらでも出てくるのですが、意外にも人にメンションする方法が全然見つからず沼りました。
チャネルメンションくらいプレミアム使わず実装させてほしい。プレミアム使ってもコーディングしないとダメなのもなんとも…

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?