Webhook ハンドラーはタイムアウトしないか?
ハンドラーの応答を待つのは、Slack が 3 秒、Shopify が 5 秒、GitHub が 10 秒までです。送信元が POST する URL を貼ると、どの送信元が切断するかがわかります。無料で、登録も不要です。
テストと明記した小さな POST リクエストを 2 回送ります。2 回目は 1 回目の直後に送るので、コールドスタートがあれば結果に表れます。URL が何かを起動する場合(Zap、メールなど)は、テストデータで実行されます。保存するのはホスト名だけで、URL は保存しません。
各送信元の応答期限
各プロバイダーのドキュメントをもとに、2026-08-06 に確認しました。期限内に 2xx を受け取れなかった送信元は、その後ハンドラーが何をしても、その配信を失敗とみなします。
| 送信元 | 応答期限 | 配信失敗後 |
|---|---|---|
| LINE | 2 s | 「Webhookの再送」:デフォルトはオフ(チャネルの「Messaging API設定」で有効にする)。回数と間隔は非公開 |
| Slack | 3 s | 3 回リトライ:即時、1 分後、5 分後 |
| Discord | 3 sInteraction の最初の応答の期限。type 5 で応答を後回しにし、あとから返信する | 未公表 |
| Xero | 5 s | 未公表 |
| Shopify | 5 s | 4 時間にわたり 8 回リトライ |
| Paddle | 5 s | 本番環境:約 2 日間で最大 60 回試行(最初の 1 時間に約 10 回、初日に約 45 回)。サンドボックス:約 2 分以内に 3 回 |
| HubSpot | 5 s | 24 時間にわたり最大 10 回試行 |
| GitHub | 10 s | なし。GitHub は失敗した配信を自動ではリトライしない |
| Twilio | 15 s | 設定可能:rc は 0〜5、デフォルトは 1。rp で対象とする失敗の種類を選ぶ |
ハンドラーが遅くなった理由
いまでは多くのボットや自動化が、Webhook ハンドラーの中で LLM を呼び出しています。メッセージを要約し、返信を下書きし、注文を振り分けます。これには数秒、ときには数十秒かかりますが、上の送信元は待ってくれません。よくある対策は、先に 200 を返してバックグラウンドのキューで処理することです。ただしそれは、キューを運用するということです。
AnyHook は、コードを書かずに使えるそのキューです。送信元には約 1 秒で応答し、ハンドラーの応答を Free で最大 60 秒待ち、失敗すればリトライします。変えるのは URL 1 つだけで、コードのほかの部分は何も変わりません。Next.js、Workers、Express、Python のコード付きの完全ガイド。