Teams Workflows の Webhook URL が新形式に変更されていたため AWS Step Functions の設定を更新してみた

Teams Workflows の Webhook URL が新形式に変更されていたため AWS Step Functions の設定を更新してみた

Teams Workflows の Webhook URL が新形式に変更されました。AWS Step Functions の設定を更新して、既存の Adaptive Card 形式を変えずに Teams へ通知できるか試してみました。
2026.07.28

はじめに

以前、AWS Step Functions の HTTP タスクから Microsoft Teams の Workflows に通知する方法を紹介しました。

https://dev.classmethod.jp/articles/aws-stepfunctions-teams-workflows-jsonata/

前回の記事では、Step Functions から Adaptive Card 形式で以下のように Teams へ通知しました。

dyppxonahdlul1nwhns9 (1)
前回の記事で Step Functions から Teams へ送信した通知

前回、Teams Workflows から発行された Webhook URL は、以下のように logic.azure.com を含む形式でした。

https://<region>.logic.azure.com:443/workflows/<workflow-id>/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=<signature>

一方、今回新しく作成した Teams Workflows では、以下のように environment.api.powerplatform.com を含む URL が発行されました。

https://<environment>.environment.api.powerplatform.com:443/powerautomate/automations/direct/<path>/workflows/<workflow-id>/triggers/manual/paths/invoke?api-version=1&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=<signature>

Microsoft の案内では、2025 年 8 月から、HTTP トリガーまたは Teams Webhook トリガーのうち、URL に logic.azure.com を含むフローが新しい URL へ移行しました。旧 URL は 2025 年 11 月 30 日以降利用できなくなると案内されています。

https://learn.microsoft.com/ja-jp/troubleshoot/power-platform/power-automate/flow-run-issues/triggers-troubleshoot

今回は、新しい形式の Webhook URL を発行し、前回作成した Step Functions ステートマシンの設定を変更することで、Adaptive Card の内容を変更せずに Teams へ通知できるか確認しました。

Webhook URL の発行方法

Microsoft Teams から [ワークフロー] を選択します。

cm-hirai-screenshot 2026-07-23 10.45.42
通知先チャネルからワークフローを開く

Webhookを検索し、[Webhook アラートをチャネルに送信する] を選択します。

cm-hirai-screenshot 2026-07-23 10.45.59
チャネル向けの Webhook テンプレートを選択する

通知先のチームとチャネルを選択し、ワークフローを追加します。

cm-hirai-screenshot 2026-07-23 10.46.27
通知先のチームとチャネルを指定してワークフローを作成する

作成したワークフローは、Teams の [ワークフロー] から確認できます。対象ワークフローの編集画面を開き、Webhook トリガーを展開すると、発行された URL が表示されます。

[Webhook リンクをコピー] をクリックして、Webhook URL をコピーします。

cm-hirai-screenshot 2026-07-28 13.55.13
ワークフローの編集画面から Webhook リンクをコピーする

今回発行された URL は、以下の形式でした。

https://default<environment-id>.d1.environment.api.powerplatform.com:443/powerautomate/automations/direct/cu/08/workflows/<workflow-id>/triggers/manual/paths/invoke?api-version=1&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=<signature>

default<environment-id><workflow-id>sig などの値は環境によって異なります。Step Functions へ設定する際は、[Webhook リンクをコピー] から取得した URL を使用します。

新旧 URL の違い

今回確認した旧 URL と新 URL の主な違いは以下です。

項目 旧 URL 新 URL
ドメイン logic.azure.com environment.api.powerplatform.com
URL パス /workflows/... /powerautomate/automations/direct/.../workflows/...
api-version 2016-06-01 1
sp /triggers/manual/run /triggers/manual/run
sv 1.0 1.0
sig 旧 URL で発行された値 新 URL で発行された値

旧 URL は以下のような形式です。

https://prod-xx.japaneast.logic.azure.com:443/workflows/<old-workflow-id>/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=<old-signature>

新 URL は以下のような形式です。

https://default<environment-id>.d1.environment.api.powerplatform.com:443/powerautomate/automations/direct/cu/08/workflows/<new-workflow-id>/triggers/manual/paths/invoke?api-version=1&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=<new-signature>

Step Functions の変更内容

前回の記事で作成したステートマシンをそのまま利用し、HTTP タスクの以下の設定を変更しました。

  • ApiEndpoint
  • QueryParameters

以下の設定は変更していません。

  • HTTP メソッド
  • EventBridge 接続
  • Adaptive Card の JSON
  • Adaptive Card のバージョン
  • Content-Type

ApiEndpoint を変更する

ApiEndpoint には、発行された Webhook URL から以下を取り除いた値を設定しました。

  • :443
  • ? 以降のクエリ文字列

旧 URL の ApiEndpoint は以下でした。

https://prod-xx.japaneast.logic.azure.com/workflows/<old-workflow-id>/triggers/manual/paths/invoke

変更後の ApiEndpoint は以下です。

https://default<environment-id>.d1.environment.api.powerplatform.com/powerautomate/automations/direct/cu/08/workflows/<new-workflow-id>/triggers/manual/paths/invoke

今回の環境では、新しい URL に以下のパスが追加されていました。

/powerautomate/automations/direct/cu/08

このパスを固定値として入力するのではなく、発行された URL の https:// から ? の直前までを使用します。

QueryParameters を変更する

発行された Webhook URL の ? 以降を、HTTP タスクの QueryParameters に設定しました。

変更前は以下です。

{
  "api-version": "2016-06-01",
  "sp": "/triggers/manual/run",
  "sv": "1.0",
  "sig": "<old-signature>"
}

変更後は以下です。

{
  "api-version": "1",
  "sp": "/triggers/manual/run",
  "sv": "1.0",
  "sig": "<new-signature>"
}

主な変更点は、api-version2016-06-01 から 1 になったことです。

また、URL 上では sp の値が以下のように URL エンコードされています。

sp=%2Ftriggers%2Fmanual%2Frun

Step Functions の QueryParameters には、URL デコードした以下の値を設定します。

"sp": "/triggers/manual/run"

Step Functions の HTTP タスクでは、QueryParameters に指定した値が API URL の末尾に追加され、自動的に URL エンコードされます。

https://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/call-https-apis.html

api-versionsig を含むクエリパラメータは、以前の設定値を流用せず、新しく発行された Webhook URL に含まれる値を設定します。

ステートマシンの設定例

今回変更した HTTP タスクの設定箇所は以下です。

{
  "ApiEndpoint": "https://defaultxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.d1.environment.api.powerplatform.com/powerautomate/automations/direct/cu/08/workflows/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/triggers/manual/paths/invoke",
  "Method": "POST",
  "InvocationConfig": {
    "ConnectionArn": "arn:aws:events:ap-northeast-1:111111111111:connection/teams/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  },
  "QueryParameters": {
    "api-version": "1",
    "sp": "/triggers/manual/run",
    "sv": "1.0",
    "sig": "<signature>"
  }
}

RequestBody は、前回の記事で使用した Adaptive Card の JSON から変更していません。

Adaptive Card の該当箇所は以下です。

{
  "type": "message",
  "attachments": [
    {
      "contentType": "application/vnd.microsoft.card.adaptive",
      "content": {
        "type": "AdaptiveCard",
        "body": [
          {
            "type": "TextBlock",
            "text": "<at>平井 裕二</at>",
            "weight": "bolder",
            "size": "medium"
          },
          {
            "type": "TextBlock",
            "text": "アラート通知です",
            "size": "Large",
            "wrap": true,
            "weight": "Bolder"
          },
          {
            "type": "Table",
            "columns": [
              {
                "width": 1
              },
              {
                "width": 2
              }
            ],
            "rows": [
              {
                "type": "TableRow",
                "cells": [
                  {
                    "type": "TableCell",
                    "items": [
                      {
                        "type": "TextBlock",
                        "text": "項目",
                        "weight": "Bolder"
                      }
                    ]
                  },
                  {
                    "type": "TableCell",
                    "items": [
                      {
                        "type": "TextBlock",
                        "wrap": true,
                        "text": "内容"
                      }
                    ]
                  }
                ]
              },
              {
                "type": "TableRow",
                "cells": [
                  {
                    "type": "TableCell",
                    "items": [
                      {
                        "type": "TextBlock",
                        "text": "test",
                        "weight": "Bolder"
                      }
                    ]
                  },
                  {
                    "type": "TableCell",
                    "items": [
                      {
                        "type": "TextBlock",
                        "wrap": true,
                        "text": "hoge"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
        "version": "1.5",
        "msteams": {
          "width": "full",
          "entities": [
            {
              "type": "mention",
              "text": "<at>平井 裕二</at>",
              "mentioned": {
                "id": "example@example.com",
                "name": "平井 裕二"
              }
            }
          ]
        }
      }
    }
  ]
}

Teams Workflows の受信 Webhook は、Adaptive Card と Message Card の両方の形式をサポートしています。

https://support.microsoft.com/ja-jp/workflows/send-messages-in-teams-using-incoming-webhooks

そのため、今回の検証では Adaptive Card の JSON と version を変更せず、新しい Webhook URL へ送信しました。

EventBridge 接続に設定している以下のヘッダーも変更していません。

Content-Type: application/json

動作確認

新しい Webhook URL を設定した状態で、Step Functions ステートマシンを実行しました。

Step Functions の実行結果を確認すると、Teams 通知を行う HTTP タスクが成功しました。

cm-hirai-screenshot 2026-07-28 13.49.10
新しい Webhook URL を使用した Step Functions ステートマシンの実行結果

続いて Teams の通知先チャネルを確認します。

cm-hirai-screenshot 2026-07-28 13.48.42
新しい Webhook URL を使用して Teams への通知に成功した結果

前回の記事と同じ Adaptive Card 形式で通知されました。メンション、テーブル、カードの横幅なども維持されています。

今回の検証では、以下の設定は変更不要でした。

  • Adaptive Card の JSON
  • Adaptive Card の version
  • メンション設定
  • EventBridge 接続の Content-Type
  • HTTP メソッドの POST

変更した設定は以下です。

  • ApiEndpoint
  • QueryParametersapi-version
  • QueryParameterssig

spsv は新旧 URL で同じ値でしたが、こちらも新しく発行された URL の値を確認して設定しました。

この結果から、今回の構成では ApiEndpointQueryParameters を新しい Webhook URL に合わせて変更することで、既存の Adaptive Card の内容を変更せずに通知できることを確認しました。

まとめ

Teams Workflows の Webhook URL が logic.azure.com から environment.api.powerplatform.com を含む形式に変わった場合でも、Step Functions の設定を更新することで Teams へ通知できました。

今回変更した主な設定は以下です。

  • ApiEndpoint を新しい URL に変更する
  • QueryParametersapi-versionsig を新しく発行された値に変更する

Adaptive Card の JSON、カードのバージョン、メンション設定は、今回の検証では変更不要でした。

新しい Webhook URL は環境によってパスやクエリパラメータが異なる可能性があるため、固定値を流用せず、Teams Workflows から発行された URL を確認して設定する必要があります。

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事