Webhookトリガー

Webhookトリガー

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

Webhook トリガーとは?

Webhook トリガーは、アプリケーションが URL エンドポイント経由でデータ更新を送信したときにフローを開始できるトリガーの一種です。他のアプリケーションで発生したイベントに応じて実行する処理を自動化する際に便利です。たとえば、新しい注文が EC サイトで行われたときに Webhook トリガーでフローを開始し、そのフローで在庫管理システムを自動更新し、顧客に通知を送信することができます。

Notes
対応エージェントプラットフォーム: Windows、Mac、Linux

用語

Webhook
イベント発生時に URL を呼び出す仕組みです。データは指定された Web 上の URL に送信されます。

Webhook URL
イベント発生時に、あるアプリケーションから別のアプリケーションへデータが送信される URL です。

ペイロード
Webhook URL を介してアプリケーションから受信するデータです。

HTTP
Hyper Text Transfer Protocol(ハイパーテキスト転送プロトコル)。サーバーとブラウザーがデータを送受信し解釈する方法を定義したデータ転送の標準規格です。

ヘッダー
認可や識別などの目的で、HTTP リクエストと共に送信される追加情報です。

Webhook トリガーの動作

このトリガーを設定すると、Zoho RPA によって一意の URL が生成されます。この URL を使用して、サードパーティアプリケーションやコード側で設定を行い、特定のデータ更新が発生したときに Zoho RPA へデータを送信するようにします。

このトリガーでは、次の 3 種類のデータ形式をサポートします:

JSON

JavaScript Object Notation(JSON)は軽量なデータ交換フォーマットです。キーと値のペアでデータを保持します。
例: {'name' : 'Angela', 'location' : 'Newyork', 'appointment_status' : 'confirmed'},
ここで 'name' : 'Angela' は 1 つ目のキーと値のペアで、'name' がキー、Angela が値です。

フォームデータ

フォーム項目名とその値を表すキーと値のペアの集合で、HTTP リクエストの一部として使用できます。
例: name=Angela&location=Newyork&appointment_status=confirmed

書式なしテキスト

データ形式として「書式なしテキスト」を選択した場合、受信データは URL 経由で送信された内容がそのまま表示されます。
例: ジルカー
Notes
メモ: XML の場合は「書式なしテキスト」を選択してください。必要に応じてカスタム関数でさらに処理できます。
Zoho RPA は、選択したデータ形式に応じて受信データを解釈します。データがどのような形式で送信されるかを把握しておくことが重要です。たとえば、フォームデータを選択していて、受信データが name=Angela&location=Newywork&appointment_status=confirmed の場合、Zoho RPA は次のように解釈します:
name : Angela location : Newyork appointment_status : confirmed

一方、書式なしテキストを選択していて、受信データが name=Angela&location=Newywork&appointment_status=confirmed の場合、Zoho RPA は次のように解釈します:
data : name=Angela&location=Newywork&appointment_status=confirmed

場合によっては、誤ったデータ形式を選択すると、期待どおりにフローがトリガーされないことがあります。

設定方法

  1. Zoho RPA のMy Flowsセクションで+ Createをクリックし、Create flowをクリックします。
  2. フロー名を入力し、必要に応じて説明を追加します。
  3. Createをクリックします。
  4. Webhook triggerボックスでConfigureをクリックします。
  5. カスタム URL が表示されます。この URL はフローごとに一意です。Copyをクリックして、コードまたはアプリケーションに貼り付けます。
  6. アプリケーション/コードが Zoho RPA にデータを送信する形式(JSON、フォームデータ、または書式なしテキスト)を選択し、Nextをクリックします。
  7. Testをクリックして、サンプルデータで正しく動作するか確認します。



  8. 設定が完了したらDoneをクリックし、フローにアクションを追加します。
詳細設定の利用
Webhook のテストが完了すると、Advanced settingsをクリックして、トリガーの追加オプションを設定できるようになります。

       
  
ヘッダーを抽出して次のステップで使用する
このオプションを有効にすると、受信したペイロード内のヘッダーが抽出され、フロービルダーの[変数を挿入]セクション内の Webhook 配下に変数として表示されます。

Idea
Tip:
  1. ヘッダーは、認可や識別などの目的で HTTP リクエストと共に送信される追加情報です。
  2. 同じ Webhook URL を複数のアプリケーションやサーバーに設定している場合、このオプションを使用すると、どのアプリから URL 経由でデータが送信され(どのアプリからのデータでフローがトリガーされたか)、判別できます。

ペイロードの一部を抽出する
このオプションでは、受信したペイロード内の指定したオブジェクトから、必要なデータのみを選択的に抽出します。指定したキーの値だけが抽出され、それ以外の値はすべて破棄されます。次の例では、ペイロードには親オブジェクトの 'order' と、入れ子になったオブジェクト 'sale' が含まれています。



フロー内で使用したいのが sale 内に含まれるデータのみの場合は、このオプションに order.sale と入力します。出力は次のようになります。



各エントリーごとにフローをトリガーする
このオプションを有効にすると、レスポンスペイロードに複数のオブジェクトが含まれている場合、そのオブジェクトの数だけフローがトリガーされ、実行されます。

既定では、フローは各要素ごとにトリガーされます。たとえば、Zoho RPA が [{'name' : 'Angela', 'location' : 'Newyork', 'appointment_status' : 'confirmed'}, {'name' : 'Tom', 'location' : 'Pasadena', 'appointment_status' : 'not confirmed'}] というデータを受信したとします。

ここで {'name' : 'Angela', 'location' : 'Newyork', 'appointment status' : 'confirmed'} が 1 つ目の要素、{'name' : 'Tom', 'location' : 'Pasadena', 'appointment_ status' : 'not confirmed'} が 2 つ目の要素です。このペイロードには 2 つのオブジェクトが含まれているため、フローは 2 回トリガーされます。1 回目の実行では 1 つ目のオブジェクトの値が渡され、2 回目の実行では 2 つ目のオブジェクトの値が渡される、というように処理されます。

条件で Webhook トリガーの変数を使用する
Decision ロジックを使用する場合、テスト条件で Webhook トリガーの出力変数を直接選択することはできません。Webhook トリガーの特定の変数を条件で使用するには、次の手順に従います。
  1. Webhook トリガーの直後にSet Variableロジックを追加し、新しい変数を作成します。
  2. 新しい変数名を指定します。
  3. Valueの項目をクリックし、右側のInsert Variableセクションから必要な Webhook 変数をクリックします。
  4. Doneをクリックします。
  5. テスト条件を設定する際に、ドロップダウンから作成した新しい変数を選択します。

よくある質問

  1. Webhook コールでデータを送信してもフローがトリガーされないのはなぜですか?

    フローがトリガーされない場合、またはHTTP 410エラーが表示される場合は、次の点を確認してください。
    1. フローが ON になっているか確認する: まず、フローのトグルがONになっていることを確認してください。フローが無効になっていると、受信した Webhook コールに反応しません。



    2. Webhook URL を確認する(410 エラー): HTTP 410 エラーが返される場合、その URL は無効です。これは通常、フロートリガーを別の種類に変更してから再度 Webhook トリガーに戻したときに発生します。トリガー設定画面から最新の URL をコピーし、サードパーティサービス側で更新しているか確認してください。



    3. データ形式を確認する:トリガーの設定時に、正しいデータ形式(JSON、フォームデータ、または書式なしテキスト)を選択していることを確認してください。誤った形式を選択していると、データが正常に送信されていてもフローはトリガーされません。

    4. ペイロード構造を確認する: サードパーティサービスが、フローで想定している構造どおりにデータフィールドを渡しているか確認してください。パラメーターが一致しない場合、トリガーがリクエストを正しく処理できないことがあります。