Teams Workflows の Webhook URL が新形式に変更されていたため AWS Step Functions の設定を更新してみた
はじめに
以前、AWS Step Functions の HTTP タスクから Microsoft Teams の Workflows に通知する方法を紹介しました。
前回の記事では、Step Functions から Adaptive Card 形式で以下のように Teams へ通知しました。

前回の記事で 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 日以降利用できなくなると案内されています。
今回は、新しい形式の Webhook URL を発行し、前回作成した Step Functions ステートマシンの設定を変更することで、Adaptive Card の内容を変更せずに Teams へ通知できるか確認しました。
Webhook URL の発行方法
Microsoft Teams から [ワークフロー] を選択します。

通知先チャネルからワークフローを開く
Webhookを検索し、[Webhook アラートをチャネルに送信する] を選択します。

チャネル向けの Webhook テンプレートを選択する
通知先のチームとチャネルを選択し、ワークフローを追加します。

通知先のチームとチャネルを指定してワークフローを作成する
作成したワークフローは、Teams の [ワークフロー] から確認できます。対象ワークフローの編集画面を開き、Webhook トリガーを展開すると、発行された URL が表示されます。
[Webhook リンクをコピー] をクリックして、Webhook URL をコピーします。

ワークフローの編集画面から 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 タスクの以下の設定を変更しました。
ApiEndpointQueryParameters
以下の設定は変更していません。
- 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-version が 2016-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 エンコードされます。
api-version や sig を含むクエリパラメータは、以前の設定値を流用せず、新しく発行された 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 の両方の形式をサポートしています。
そのため、今回の検証では Adaptive Card の JSON と version を変更せず、新しい Webhook URL へ送信しました。
EventBridge 接続に設定している以下のヘッダーも変更していません。
Content-Type: application/json
動作確認
新しい Webhook URL を設定した状態で、Step Functions ステートマシンを実行しました。
Step Functions の実行結果を確認すると、Teams 通知を行う HTTP タスクが成功しました。

新しい Webhook URL を使用した Step Functions ステートマシンの実行結果
続いて Teams の通知先チャネルを確認します。

新しい Webhook URL を使用して Teams への通知に成功した結果
前回の記事と同じ Adaptive Card 形式で通知されました。メンション、テーブル、カードの横幅なども維持されています。
今回の検証では、以下の設定は変更不要でした。
- Adaptive Card の JSON
- Adaptive Card の
version - メンション設定
- EventBridge 接続の
Content-Type - HTTP メソッドの
POST
変更した設定は以下です。
ApiEndpointQueryParametersのapi-versionQueryParametersのsig
sp と sv は新旧 URL で同じ値でしたが、こちらも新しく発行された URL の値を確認して設定しました。
この結果から、今回の構成では ApiEndpoint と QueryParameters を新しい Webhook URL に合わせて変更することで、既存の Adaptive Card の内容を変更せずに通知できることを確認しました。
まとめ
Teams Workflows の Webhook URL が logic.azure.com から environment.api.powerplatform.com を含む形式に変わった場合でも、Step Functions の設定を更新することで Teams へ通知できました。
今回変更した主な設定は以下です。
ApiEndpointを新しい URL に変更するQueryParametersのapi-versionとsigを新しく発行された値に変更する
Adaptive Card の JSON、カードのバージョン、メンション設定は、今回の検証では変更不要でした。
新しい Webhook URL は環境によってパスやクエリパラメータが異なる可能性があるため、固定値を流用せず、Teams Workflows から発行された URL を確認して設定する必要があります。








