Skip to content

Webhook でフローを開始する ​

Webhook トリガーを使うと、フロー専用の URL が発行されます。Web サイトのバックエンド、フォームツール、スクリプトなど、HTTP リクエストを送れるシステムなら、その URL に JSON を送ってフローを開始できます。送った JSON はトリガーの出力になり、後続のステップで使えます。

1. トリガーを追加して URL をコピーする ​

  1. フローで トリガーを追加 をクリックします。トリガーを選択 で 組み込み を開き、Webhook を選んでから Webhook トリガー を選びます。
  2. 設定に URL グループ が表示され、このトリガー用に生成された読み取り専用の値が 2 つ入っています。
設定項目内容
Hook URLリクエストの送信先。横のコピーボタンでコピーします。
Hook APIキー呼び出し側がリクエストごとに送るキー。伏せ字で表示されるので、表示してからコピーします。

URL は https://<組織 ID>.<ドメイン>/triggers/<Webhook ID> の形です。自分で組み立てず、必ずトリガーからコピーしてください。

API キーはパスワードと同じように扱ってください。両方の値を知っていれば、誰でもフローを開始できます。

複製すると URL が変わる

フローを複製またはインポートすると、コピー側の Webhook には新しい URL とキーが発行されます。コピーを呼び出すシステムの設定を更新してください。

2. 公開する ​

Webhook は 公開済み のフローを、フローが有効なときだけ実行します。リクエストを送る前に 公開 をクリックしてください。後でフローを変更したら、もう一度公開します。バージョンと公開 を参照してください。

3. テストリクエストを送る ​

JSON のボディと、Bearer トークンとしての API キーを付けて POST リクエストを送ります。

bash
curl -X POST 'https://<組織 ID>.<ドメイン>/triggers/<Webhook ID>' \
  -H 'Authorization: Bearer <Hook APIキー>' \
  -H 'Content-Type: application/json' \
  -d '{"name": "田中 愛子", "email": "aiko@example.com"}'

200 のレスポンスは、リクエストが受け付けられたことを示します。

json
{
  "result": "ok",
  "details": {
    "message": "Workflow executed successfully",
    "runId": "…",
    "…": "…"
  }
}

実行履歴 を開いて実行を確認します。トリガー › Webhook で絞り込むと見つけやすくなります。200 以外が返った場合は、Webhook API のエラー一覧を参照してください。

4. 後続のステップでリクエストボディを使う ​

JSON のボディがトリガーの出力になります。ステップで値を使うには、$ を入力して Current Trigger を選び、項目を選びます。参照を直接入力しても構いません。

リクエストボディ参照
"name": "田中 愛子"$trigger.output.name
"customer": {"id": "C-102"}$trigger.output.customer.id
"items": [{"sku": "A1"}, …]$trigger.output.items[0].sku

Webhook には決まった項目がないため、呼び出し側が送る項目は $ の一覧に表示されないことがあります。テストリクエストを 1 回送り、実行履歴 で実行を開いてトリガーの出力を見ると、実際に届いた内容を確認できます。

次の 2 点に注意してください。

  • ボディの最上位に data 項目がある場合は、data の中身だけが出力になります。{"data": {"name": "愛子"}} なら $trigger.output.name で取り出せます。
  • 出力には triggerType(常に webhook)と timestamp(トリガーが動いた時刻。1970 年からのミリ秒)が追加されます。同じ名前の項目は上書きされるため、送らないでください。

5. 呼び出し側に応答する ​

Webhook はリクエストを受け付けた時点で、フローの実行前に応答します。応答は常に同じ受付確認なので、フローの結果を入れることはできません。

呼び出し側が結果を必要とする場合は、フローから結果を送り返します。フローの最後に HTTP ステップ を追加し、元のリクエストに含まれていた ID などと一緒に、呼び出し側の API に結果を送ってください。

関連ページ ​