Notesへ戻る

Power Platformメモ

Power AutomateのHTTP要求トリガーとは?外部から起動する方法の入口

Power AutomateのHTTP要求トリガーを使って、外部システムやスクリプトからフローを起動する方法の基本を整理したメモです。

Power AutomateHTTP要求WebhookAPIトリガー

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が漏れた場合は再生成して差し替えることができます。

関連メモ・関連ツール