【Power Automate】センシングデータのイベントをTeamsに通知する(応用編)

2026年04月27日 月曜日


【この記事を書いた人】
斉藤 翔太

メーカー研究職を経て、2022年中途入社。主に、LPWAを活用したサービスの開発を担当しています。仕事以外では、子育ての合間にピアノを弾いたり、オーケストラでヴィオラを弾いたりしています。

「【Power Automate】センシングデータのイベントをTeamsに通知する(応用編)」のイメージ

はじめに

※本記事は前回公開した基本編の続きです。あわせてご覧ください。

IIJでは、センシングデータの利活用と、センサー機器を管理・運用するためのクラウドサービスとしてIIJセンシングデータマネジメントサービス(以下、SDMS)を提供しています。

前回の基本編では、SDMSのイベント通知をTeamsと連携するための設定方法について解説しました。基本編でもご覧いただいたとおり、SDMSのTeams連携機能はPower Automateを使うため、さまざまなワークフローを作ることができます。単に「通知を送る」だけでなく、業務フローや組織体制に合わせて処理を組み込むことで、アラートの見逃し防止や対応スピードの向上にもつながります。

そこで、今回は応用編として、Teamsのタグメンションを活用し特定のグループや役割の人に確実に通知を届けたい場合の設定方法を解説します。 センシングデータの運用を一段階レベルアップさせたい方は、ぜひ参考にしてみてください。

メンションをどう入れるか

SDMSのTeams連携機能はアダプティブカードと呼ばれる形式でデータを送るため、中身がJSONになっています。以下はテスト通知のアダプティブカードの中身です。

{
  "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
  "type": "AdaptiveCard",
  "version": "1.5",
  "body": [
    {
      "type": "TextBlock",
      "text": "【テスト通知】 IIJセンシングデータマネジメントサービス",
      "weight": "Bolder",
      "size": "Medium"
    },
    {
      "type": "TextBlock",
      "text": "本通知は IIJセンシングデータマネジメントサービス からのテスト通知です。",
      "wrap": true,
      "spacing": "Small",
      "size": "Small"
    },
    {
      "type": "TextBlock",
      "text": "システムから送信された通知が、設定されたURLに届くことを確認するためのものです。",
      "wrap": true,
      "spacing": "Small",
      "size": "Small"
    },
    {
      "type": "TextBlock",
      "text": "",
      "wrap": true,
      "spacing": "Small",
      "size": "Small"
    },
    {
      "type": "TextBlock",
      "text": "※本通知への返信によるお問合せには、回答することができません。",
      "wrap": true,
      "spacing": "Small",
      "size": "Small"
    }
  ]
}

基本編で使った「チャットやチャネルにカードを投稿する」のアクションはアダプティブカードのみ送信可能です。似たアクションとして「チャットまたはチャネルでメッセージを投稿する」があるのですが、こちらはアダプティブカードを送信できません(厳密にはできますが、生のJSONがテキストとして表示されてしまいます)

したがって、メンションを入れたい場合の方法としては以下が考えられます。

  1. アダプティブカードJSONの内部にメンションの情報を組み込み、「チャットやチャネルにカードを投稿する」のアクションで投稿
  2. アダプティブカードの本文を取り出してテキストとして再構成し、「チャットまたはチャネルでメッセージを投稿する」のアクションでメンションとともに投稿
  3. 「チャネル内のメッセージで応答します」アクションを使い、通知の投稿に返信する形でメンションを単体で投稿

いずれも技術的には実現可能ですが、ここではワークフローの構造が比較的シンプルな「方法3」について見ていきます。

方法1 方法2 方法3

ワークフローの解説

基本編で作ったワークフローに、以下のアクションを追加しています。

  • 「チーム タグの @メンション トークンを取得する」: 名前の通り、タグメンションを出すときに必要なトークンを取得します
  • 「JSON の解析」: アダプティブカードのJSONの中身を読み込めるようにします
  • 「チャネル内のメッセージで応答します」: チャネル内の特定のメッセージに返信を送ります

ちなみに、この例では通知のタイトル文面をメンションに入れてるので若干のひねりがありますが、メッセージの文面を固定にすれば「JSON の解析」のアクションと「チャネル内のメッセージで応答します」アクション内部の式の挿入が不要になるので、もっとシンプルにワークフローを実現できます。

「チーム タグの @メンション トークンを取得する」アクション

ここは、対象とするチームに設定されているタグを選択するだけでOKです。今回の例では、「PowerAutomateテスト」のタグを設定しています。
※タグの設定方法については、ここでは割愛します

「JSON の解析」アクション

  • Content: スラッシュを入力し「動的コンテンツを挿入する」から「添付ファイル アダプティブ カード」を設定します
  • Schema: アダプティブカードのJSONの構造を示すものです。下のコードブロックをそのままコピペして使います

コードブロック(Schema)
{
    "type": "object",
    "properties": {
        "$schema": {
            "type": "string"
        },
        "type": {
            "type": "string"
        },
        "version": {
            "type": "string"
        },
        "body": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string"
                    },
                    "text": {
                        "type": "string"
                    },
                    "weight": {
                        "type": "string"
                    },
                    "size": {
                        "type": "string"
                    },
                    "wrap": {
                        "type": "boolean"
                    },
                    "spacing": {
                        "type": "string"
                    }
                },
                "required": [
                    "type",
                    "text"
                ]
            }
        }
    }
}

「チャネル内のメッセージで応答します」アクション

以下を設定します。

  • 投稿者: flow bot(フローボット)
  • 投稿先: チャネル
  • チーム/チャネル: 投稿先を指定

  • メッセージID: 「動的コンテンツを挿入する」から、「チャットやチャネルにカードを投稿する」の「メッセージID」を選択
  • メッセージ
    • @mentionタグ: 「動的コンテンツを挿入する」から「チーム タグの @メンション トークンを取得する」の「@mentionタグ」を選択
    • メッセージ文: 「式を挿入する」から、first(body('JSON_の解析')?['body'])?['text']を入力
      • アダプティブカードのJSONのbodyフィールドの配列要素の先頭(=タイトル部分)を取り出し、textフィールドを参照しています

さいごに

今回はSDMSのTeams通知連携の応用編としまして、タグメンションを入れる場合について解説しました。

Power Automateを使うことで、現場の運用にフィットした柔軟なワークフローをローコードで構築できます。アイデア次第ではもっと色々なことができますので、機会があれば他のネタについても書いていきたいと思います。

斉藤 翔太

2026年04月27日 月曜日

メーカー研究職を経て、2022年中途入社。主に、LPWAを活用したサービスの開発を担当しています。仕事以外では、子育ての合間にピアノを弾いたり、オーケストラでヴィオラを弾いたりしています。

Related
関連記事