Skip to content

Webhook API ​

フローの Webhook URL を呼び出して実行を開始する方法です。トリガーの設定方法は Webhook でフローを開始する を参照してください。

URL ​

https://<組織 ID>.<ドメイン>/triggers/<Webhook ID>

Webhook トリガーごとに専用の URL があり、トリガーの設定に Hook URL として表示されます。そこからコピーしてください。フローを複製またはインポートすると、コピー側には新しい URL が発行されます。

URL で実行が開始されるのは、フローが公開済みで、有効になっている間だけです。

認証 ​

トリガーの Hook APIキー を Bearer トークンとして送ります。

Authorization: Bearer <Hook APIキー>

Authorization をほかの用途で使っている呼び出し元のために、X-Authorization: Bearer <Hook APIキー> も使えます。

メソッド ​

メソッドボディ
POSTリクエストボディに JSON オブジェクトを入れます。通常はこちらを使います。
GETbody または payload クエリパラメータに、URL エンコードした JSON オブジェクトを入れます。キーはヘッダーの代わりに token クエリパラメータでも送れます。

POST を使い、キーはヘッダーで送ってください。token に入れたキーを含め、クエリパラメータはサーバーやプロキシのログに残ることがあります。

リクエストボディ ​

Content-Type: application/json で JSON オブジェクトを送ります。ボディは空でも構いません。

bash
curl -X POST 'https://<組織 ID>.<ドメイン>/triggers/<Webhook ID>' \
  -H 'Authorization: Bearer <Hook APIキー>' \
  -H 'Content-Type: application/json' \
  -d '{"orderId": "A-1001", "total": 4200}'

送ったオブジェクトはトリガーの出力になり、後続のステップでは orderId を $trigger.output.orderId で読めます。

送る内容トリガーの出力
{"orderId": "A-1001"}{"orderId": "A-1001", …}
{"data": {"orderId": "A-1001"}}{"orderId": "A-1001", …}。最上位の data 項目は中身だけが使われます。
ボディなし下の項目だけを持つ {…}。

出力には常に次の 2 項目が追加され、同じ名前の項目は上書きされます。

項目値
triggerTypewebhook
timestampトリガーが動いた時刻。1970 年からのミリ秒。

ボディは JSON オブジェクトでなければなりません。[1, 2] のようなリストは拒否されます。リストを送るときは {"items": [1, 2]} のように包んでください。

レスポンス ​

Webhook はリクエストを受け付けた時点で応答し、その後に実行が始まります。そのため、レスポンスにフローの結果が入ることはありません。

200 OK:

json
{
  "result": "ok",
  "details": {
    "message": "Workflow executed successfully",
    "organizationId": "01HAXD218S50F6YY4JF2F92FZF",
    "webhookId": "…",
    "runId": "…",
    "messageId": "…",
    "timestamp": 1744702070657,
    "requestId": "…"
  }
}

200 は、リクエストを受け取りキューに入れたことを示すだけです。フローが公開済みか、有効かは確認しません。そうでない場合も 200 が返りますが、実行は始まりません。実行されたかどうかは 実行履歴 で確認してください。

結果を受け取りたい場合は、フローの最後で、たとえば HTTP ステップ を使ってこちらのシステムを呼び出します。

エラー ​

エラー時は、error と details.message を持つ JSON が返ります。

json
{
  "error": "Unauthorized",
  "details": {
    "message": "Invalid authorization token",
    "type": "Authentication Error"
  }
}
ステータスerror原因
400Invalid requestURL に組織 ID または Webhook ID がない。
400Invalid request bodyボディが JSON オブジェクトではない(リストなど)。details.errors に詳細が入ります。
401Unauthorizedキーが送られていない、またはキーが正しくない。
500Internal server errorボディが正しい JSON ではない、またはリクエストを処理できなかった。ボディを確認してから再送してください。

関連ページ ​