Webhook と Azure Logic Apps を使ってイベント ベースのワークフローまたはアクションを作成するCreate event-based workflows or actions by using webhooks and Azure Logic Apps

webhook アクションおよびトリガーを使用すると、フローを開始、一時停止、および再開して、次のようなタスクを実行できます。With the webhook action and trigger, you can start, pause, and resume flows to perform these tasks:

  • 項目を受信したら Azure Event Hub からトリガーするTrigger from an Azure Event Hub when an item is received
  • 承認を待ってからワークフローを続行するWait for an approval before continuing a workflow

詳細については、「webhook をサポートするカスタム API を作成する方法」を参照してください。Learn more about how to create custom APIs that support a webhook.

Webhook トリガーの使用Use the webhook trigger

トリガーは、ロジック アプリ ワークフローを開始するイベントです。A trigger is an event that starts a logic app workflow. Webhook トリガーはイベントに基づいており、新しい項目のポーリングに依存しません。The webhook trigger is event-based, which doesn't depend on polling for new items. Webhook トリガーを使用してロジック アプリを保存したり、ロジック アプリを無効から有効に変更したりすると、Webhook トリガーは、指定されたサービスまたはエンドポイントにコールバック URL を登録して、そのサービスまたはエンドポイントをサブスクライブします。When you save your logic app with a webhook trigger, or when you change your logic app from disabled to enabled, the webhook trigger subscribes to the specified service or endpoint by registering a callback URL with that service or endpoint. 次に、トリガーは必要に応じてその URL を使用してロジック アプリを実行します。The trigger then uses that URL to run the logic app as necessary. 要求トリガーと同様に、ロジック アプリは、予期されたイベントが発生するとすぐに起動します。Like the request trigger, the logic app fires immediately when the expected event happens. トリガーを削除してロジック アプリを保存した場合や、ロジック アプリを有効から無効に変更すると、トリガーはサブスクライブを解除します。The trigger unsubscribes if you remove the trigger and save your logic app, or when you change your logic app from enabled to disabled.

ロジック アプリ デザイナーで HTTP トリガーをセットアップする方法の例を次に示します。Here's an example that shows how to set up an HTTP trigger in the Logic App Designer. これらの手順では、ロジック アプリでの webhook のサブスクライブおよびサブスクライブ解除パターンに従う API を既にデプロイしているか、その API にアクセスしていることを前提としています。The steps assume that you have already deployed or are accessing an API that follows the webhook subscribe and unsubscribe pattern in logic apps.

webhook トリガーを追加するには、次の手順に従います。To add the webhook trigger

  1. ロジック アプリでの最初の手順として、HTTP Webhook トリガーを追加します。Add the HTTP Webhook trigger as the first step in a logic app.

  2. webhook サブスクライブ呼び出しおよびサブスクライブ解除呼び出しのパラメーターを入力します。Fill in the parameters for the webhook subscribe and unsubscribe calls.

    この手順は、HTTP アクション形式と同じパターンに従います。This step follows the same pattern as the HTTP action format.

    HTTP トリガー

  3. 1 つ以上のアクションを追加します。Add at least one action.

  4. [保存] をクリックして、ロジック アプリを発行します。Click Save to publish the logic app. これにより、このロジック アプリをトリガーするために必要なコールバック URL を使用して、サブスクライブ エンドポイントが呼び出されます。This step calls the subscribe endpoint with the callback URL needed to trigger this logic app.

  5. サービスがコールバック URL に対して HTTP POST を実行するたびに、ロジック アプリが起動します。また、ロジック アプリには、要求に渡されたすべてのデータが含まれます。Whenever the service makes an HTTP POST to the callback URL, the logic app fires, and includes any data passed into the request.

Webhook アクションの使用Use the webhook action

アクションとは、ロジック アプリのワークフローによって定義されて実行される操作です。An action is an operation that's defined and run by your logic app's workflow. ロジック アプリが Webhook アクションを実行すると、そのアクションは、指定されたサービスまたはエンドポイントにコールバック URL を登録することにより、そのサービスまたはエンドポイントをサブスクライブします。When a logic app runs a webhook action, that action subscribes to the specified service or endpoint by registering a callback URL with that service or endpoint. Webhook アクションは、ロジック アプリが実行を再開する前に、そのサービスが URL を呼び出すまで待機します。The webhook action then waits until that service calls the URL before the logic app resumes running. 次のような場合、ロジック アプリはサービスまたはエンドポイントのサブスクライブを解除します。The logic app unsubscribes from the service or endpoint in these cases:

  • Webhook アクションが正常に終了したときWhen the webhook action successfully finishes
  • 応答を待機しているときにロジック アプリの実行がキャンセルされた場合If the logic app run is canceled while waiting for a response
  • ロジック アプリがタイムアウトになる前Before the logic app times out

たとえば、承認メールの送信アクションは、このパターンに従う Webhook アクションの例です。For example, the Send approval email action is an example of webhook action that follows this pattern. Webhook アクションを使用することで、このパターンをどのサービスにも適用できます。You can extend this pattern into any service through the webhook action.

ロジック アプリ デザイナーで webhook アクションをセットアップする方法の例を次に示します。Here's an example that shows how to set up a webhook action in the Logic App Designer. これらの手順では、ロジック アプリでの webhook のサブスクライブおよびサブスクライブ解除パターンに従う API を既にデプロイしているか、その API にアクセスしていることを前提としています。These steps assume that you have already deployed or are accessing an API that follows the webhook subscribe and unsubscribe pattern used in logic apps.

webhook アクションを追加するには、次の手順に従います。To add a webhook action

  1. [新しいステップ] > [アクションの追加] の順に選択します。Choose New Step > Add an action.

  2. 検索ボックスに "webhook" と入力して、[HTTP Webhook] アクションを検索します。In the search box, type "webhook" to find the HTTP Webhook action.

    クエリ アクションの選択

  3. Webhook のサブスクライブ呼び出しとサブスクライブ解除呼び出しのパラメーターを入力します。Fill in the parameters for the webhook subscribe and unsubscribe calls

    この手順は、HTTP アクション形式と同じパターンに従います。This step follows the same pattern as the HTTP action format.

    クエリ アクションの完了

    実行時、ロジック アプリは、該当するステップを完了すると、サブスクライブ エンドポイントを呼び出します。At runtime, the logic app calls the subscribe endpoint after reaching that step.

  4. [保存] をクリックして、ロジック アプリを発行します。Click Save to publish the logic app.

技術的な詳細Technical details

webhook でサポートされているトリガーとアクションの詳細を以下に示します。Here are more details about the triggers and actions that webhook supports.

Webhook トリガーWebhook triggers

ActionAction 説明Description
HTTP WebhookHTTP Webhook コールバック URL をサービスにサブスクライブします。サービスは、必要に応じてこの URL を呼び出してロジック アプリを起動することができます。Subscribe a callback URL to a service that can call the URL to fire logic app as needed.

トリガーの詳細Trigger details

HTTP WebhookHTTP Webhook

コールバック URL をサービスにサブスクライブします。サービスは、必要に応じてこの URL を呼び出してロジック アプリを起動することができます。Subscribe a callback URL to a service that can call the URL to fire logic app as needed. * は必須フィールドを意味します。An * means required field.

表示名Display Name プロパティ名Property Name 説明Description
Subscribe Method (メソッドのサブスクライブ)*Subscribe Method* methodmethod サブスクライブ要求に使用する HTTP メソッドHTTP Method to use for subscribe request
Subscribe URI (URI のサブスクライブ)*Subscribe URI* uriuri サブスクライブ要求に使用する HTTP URIHTTP URI to use for subscribe request
Unsubscribe Method (メソッドのサブスクライブ解除)*Unsubscribe Method* methodmethod サブスクライブ解除要求に使用する HTTP メソッドHTTP method to use for unsubscribe request
Unsubscribe URI (URI のサブスクライブ解除)*Unsubscribe URI* uriuri サブスクライブ解除要求に使用する HTTP URIHTTP URI to use for unsubscribe request
Subscribe Body (本文のサブスクライブ)Subscribe Body bodybody サブスクライブの HTTP 要求本文HTTP request body for subscribe
Subscribe Headers (ヘッダーのサブスクライブ)Subscribe Headers headersheaders サブスクライブの HTTP 要求ヘッダーHTTP request headers for subscribe
Subscribe Authentication (認証のサブスクライブ)Subscribe Authentication 認証authentication サブスクライブに使用する HTTP 認証 HTTP authentication to use for subscribe. (詳細については、HTTP コネクタに関する記事を参照)See HTTP connector for details
Unsubscribe Body (本文のサブスクライブ解除)Unsubscribe Body bodybody サブスクライブ解除の HTTP 要求本文HTTP request body for unsubscribe
Unsubscribe Headers (ヘッダーのサブスクライブ解除)Unsubscribe Headers headersheaders サブスクライブ解除の HTTP 要求ヘッダーHTTP request headers for unsubscribe
Unsubscribe Authentication (認証のサブスクライブ解除)Unsubscribe Authentication authenticationauthentication サブスクライブ解除に使用する HTTP 認証 HTTP authentication to use for unsubscribe. (詳細については、HTTP コネクタに関する記事を参照)See HTTP connector for details

出力の詳細Output Details

Webhook 要求Webhook request

プロパティ名Property Name データ型Data Type 説明Description
headersHeaders objectobject Webhook 要求ヘッダーWebhook request headers
本文Body objectobject Webhook 要求オブジェクトWebhook request object
状態コードStatus Code intint Webhook 要求の状態コードWebhook request status code

Webhook アクションWebhook actions

ActionAction 説明Description
HTTP WebhookHTTP Webhook コールバック URL をサービスにサブスクライブします。サービスは、必要に応じてこの URL を呼び出してワークフロー ステップを再開できます。Subscribe a callback URL to a service that can call the URL to resume a workflow step as needed.

アクションの詳細Action details

HTTP WebhookHTTP Webhook

コールバック URL をサービスにサブスクライブします。サービスは、必要に応じてこの URL を呼び出してワークフロー ステップを再開できます。Subscribe a callback URL to a service that can call the URL to resume a workflow step as needed. * は必須フィールドを意味します。An * means required field.

表示名Display Name プロパティ名Property Name 説明Description
Subscribe Method (メソッドのサブスクライブ)*Subscribe Method* methodmethod サブスクライブ要求に使用する HTTP メソッドHTTP Method to use for subscribe request
Subscribe URI (URI のサブスクライブ)*Subscribe URI* uriuri サブスクライブ要求に使用する HTTP URIHTTP URI to use for subscribe request
Unsubscribe Method (メソッドのサブスクライブ解除)*Unsubscribe Method* methodmethod サブスクライブ解除要求に使用する HTTP メソッドHTTP method to use for unsubscribe request
Unsubscribe URI (URI のサブスクライブ解除)*Unsubscribe URI* uriuri サブスクライブ解除要求に使用する HTTP URIHTTP URI to use for unsubscribe request
Subscribe Body (本文のサブスクライブ)Subscribe Body bodybody サブスクライブの HTTP 要求本文HTTP request body for subscribe
Subscribe Headers (ヘッダーのサブスクライブ)Subscribe Headers headersheaders サブスクライブの HTTP 要求ヘッダーHTTP request headers for subscribe
Subscribe Authentication (認証のサブスクライブ)Subscribe Authentication 認証authentication サブスクライブに使用する HTTP 認証 HTTP authentication to use for subscribe. (詳細については、HTTP コネクタに関する記事を参照)See HTTP connector for details
Unsubscribe Body (本文のサブスクライブ解除)Unsubscribe Body bodybody サブスクライブ解除の HTTP 要求本文HTTP request body for unsubscribe
Unsubscribe Headers (ヘッダーのサブスクライブ解除)Unsubscribe Headers headersheaders サブスクライブ解除の HTTP 要求ヘッダーHTTP request headers for unsubscribe
Unsubscribe Authentication (認証のサブスクライブ解除)Unsubscribe Authentication authenticationauthentication サブスクライブ解除に使用する HTTP 認証 HTTP authentication to use for unsubscribe. (詳細については、HTTP コネクタに関する記事を参照)See HTTP connector for details

出力の詳細Output Details

Webhook 要求Webhook request

プロパティ名Property Name データ型Data Type 説明Description
headersHeaders objectobject Webhook 要求ヘッダーWebhook request headers
本文Body objectobject Webhook 要求オブジェクトWebhook request object
状態コードStatus Code intint Webhook 要求の状態コードWebhook request status code

次の手順Next steps