Power AutomateTeams 自動投稿 メンション

Power AutomateTeams 自動投稿 メンション

posted at 2022-03-06

updated at 2022-03-15

背景

Tag 用のメンションが対応されたけど、予想とちょっと違ったので現時点での比較
会社で使えるコネクター部分をまとめておく

制約

Tag への登録数などの制限もあるので注意

概要

  1. Teams Channel 内 Tag を使った Mention (メンション)
  2. HTML タグを利用した、メンション比較
    • <at>
      • UserID, UserEMail を囲むことでメンション可能
        <at>{UserId}</at>
        <at>{UserEmail}</at>
    • <atTag>
      Power AutomateTeams 自動投稿 メンション
      • TagID, TeamID を囲むことで、タグメンション可能
        <atTag><tagId>{id}</tagId><groupId>{teamId}</groupId></atTag>

List Tags は、以下とかで使えそう

  • 役割を Tag 設定しておいて、自動応答での役割担当へのメンション

<atTag> は、現状 Post as を User 以外で使うと以下エラーが出ます

atTagError

{
    "error": {
      "code": 400,
      "message": "Mentioning tags is currently only supported when posting as a user. Please change the poster type to user or remove the at mentions for tags.",
      "source": "japan-001.azure-apim.net",
      "path": "choose[22]\\when[1]",
      "policyId": "",
      "clientRequestId": "8bb1de33-5a77-4d97-b061-1bf73980a539"
    }
  }

Teams Channel Tag のメンション

以下二点のコネクターの利用例

DEPRECATED (廃止) がついてるのは、すぐに Version 2 とかにあがる?

直接取得して Tag メンション

  1. Team, Tag を選択して、
    Power AutomateTeams 自動投稿 メンション
  2. 動的コンテンツから選択してしまえば
    Power AutomateTeams 自動投稿 メンション
  3. こんな感じで使える
    Power AutomateTeams 自動投稿 メンション

adaptive card の例だが、message でも同様

名称を指定して使う場合(tag 一覧から、名称一致を選択)

  1. 対象チームの Tag 一覧を取得して JSON 解析

    Power AutomateTeams 自動投稿 メンション

  2. [displayName] で名称を抽出して
    以下では Filter array を利用しているのでそのまま使うなら First()?['id'] や [0]?['id'] という指定が必要

    Power AutomateTeams 自動投稿 メンション

  3. [ID] を使って、メンションタグを生成

    Power AutomateTeams 自動投稿 メンション

  4. 動的コンテンツ、もしくは、<atTag><tagId>{id}</tagId><groupId>{teamId}</groupId></atTag> で手書きする

    Power AutomateTeams 自動投稿 メンション

  5. 利用例

    Power AutomateTeams 自動投稿 メンション

<at> vs <atTag>

Tag Mention と User Mention を Adaptive Card と Message の二種類で実施した例が以下

何故か adaptive card の書式が変ではある

Power AutomateTeams 自動投稿 メンション

あとがき

そのうち以下も対応されるといいね。

  • @team
  • @channel

<at>, <atTag> で TeamID や ChannelID を囲ってみたけど、全然ダメ。<atTag> は応答すら返ってこない。

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

What you can do with signing up