Power Platformメモ
Power AutomateのHTTP要求トリガーとは?外部から起動する方法の入口
Power AutomateのHTTP要求トリガーを使って、外部システムやスクリプトからフローを起動する方法の基本を整理したメモです。
Power AutomateのHTTP要求トリガーとは?外部から起動する方法の入口
この記事の位置づけ
この記事は、Power Automateの初学者向け技術メモです。フローの動作は環境・コネクタ・バージョンによって変わることがあります。
実際のフローで動作を確認してください。
ざっくり言うと
Power Automateのトリガーは「SharePointのアイテムが変更されたとき」のようなMicrosoft 365の操作をきっかけに起動するものが多いですが、HTTP要求トリガーを使うと外部システムやスクリプトからURLにリクエストを送ってフローを起動できます。
「Power Shellスクリプトの完了時にTeamsに通知する」「外部Webサービスからのデータを受け取って処理する」といった用途に使えます。
HTTP要求トリガーでできること
- 外部システム・スクリプトからフローを起動する(Webhook的な使い方)
- POSTリクエストでデータを受け取り、フロー内で処理する
- Power Apps から HTTP 要求でフローを呼び出す
設定の流れ
1. トリガーを設定する
「新しいフローを作成」→トリガーの選択で「HTTP 要求の受信時」を選択します。
2. URLを取得する
フローを保存するとトリガーに「HTTP POST URL」が生成されます。このURLが起動用のエンドポイントになります。
3. JSON スキーマを設定する(任意)
受け取るデータの形式(JSONスキーマ)をあらかじめ定義しておくと、後続のアクションで動的コンテンツとして参照しやすくなります。
{
"type": "object",
"properties": {
"name": {"type": "string"},
"status": {"type": "string"},
"count": {"type": "integer"}
}
}
4. 外部からリクエストを送る
curlやPowerShell、Pythonなどから生成されたURLにPOSTリクエストを送るとフローが起動します。
curl -X POST "https://prod-xx.japaneast.logic.azure.com/..." \
-H "Content-Type: application/json" \
-d '{"name": "テスト", "status": "完了", "count": 5}'
受け取ったデータの使い方
HTTP要求トリガーで受け取ったデータは、動的コンテンツの「本文」から参照できます。
JSONスキーマを定義しておくと、各プロパティ(name・statusなど)を個別の動的コンテンツとして使えます。
スキーマなしの場合は triggerBody() 式で本文全体を参照し、triggerBody()?['name'] のように個別プロパティを取り出します。
レスポンスを返す
フローの最後に「応答(Response)」アクションを追加すると、リクエスト元に結果を返すことができます。
ステータスコード: 200
本文: {"result": "success", "message": "処理が完了しました"}
注意点
HTTP要求トリガーのURLには認証が含まれていますが、URLを知っている人なら誰でも起動できる設計になっています。
URLを外部に公開する場合は、本文のパラメータで独自のシークレットキーを照合する仕組みを追加するなど、セキュリティを検討してください。
また、フローのURLは再生成できます(再生成すると古いURLは無効になります)。URLが漏れた場合は再生成して差し替えることができます。