Webhook ハンドラーはタイムアウトしないか?

ハンドラーの応答を待つのは、Slack が 3 秒、Shopify が 5 秒、GitHub が 10 秒までです。送信元が POST する URL を貼ると、どの送信元が切断するかがわかります。無料で、登録も不要です。

テストと明記した小さな POST リクエストを 2 回送ります。2 回目は 1 回目の直後に送るので、コールドスタートがあれば結果に表れます。URL が何かを起動する場合(Zap、メールなど)は、テストデータで実行されます。保存するのはホスト名だけで、URL は保存しません。

各送信元の応答期限

各プロバイダーのドキュメントをもとに、2026-08-06 に確認しました。期限内に 2xx を受け取れなかった送信元は、その後ハンドラーが何をしても、その配信を失敗とみなします。

送信元応答期限配信失敗後
LINE2 s「Webhookの再送」:デフォルトはオフ(チャネルの「Messaging API設定」で有効にする)。回数と間隔は非公開
Slack3 s3 回リトライ:即時、1 分後、5 分後
Discord3 sInteraction の最初の応答の期限。type 5 で応答を後回しにし、あとから返信する未公表
Xero5 s未公表
Shopify5 s4 時間にわたり 8 回リトライ
Paddle5 s本番環境:約 2 日間で最大 60 回試行(最初の 1 時間に約 10 回、初日に約 45 回)。サンドボックス:約 2 分以内に 3 回
HubSpot5 s24 時間にわたり最大 10 回試行
GitHub10 sなし。GitHub は失敗した配信を自動ではリトライしない
Twilio15 s設定可能:rc は 0〜5、デフォルトは 1。rp で対象とする失敗の種類を選ぶ

ハンドラーが遅くなった理由

いまでは多くのボットや自動化が、Webhook ハンドラーの中で LLM を呼び出しています。メッセージを要約し、返信を下書きし、注文を振り分けます。これには数秒、ときには数十秒かかりますが、上の送信元は待ってくれません。よくある対策は、先に 200 を返してバックグラウンドのキューで処理することです。ただしそれは、キューを運用するということです。

AnyHook は、コードを書かずに使えるそのキューです。送信元には約 1 秒で応答し、ハンドラーの応答を Free で最大 60 秒待ち、失敗すればリトライします。変えるのは URL 1 つだけで、コードのほかの部分は何も変わりません。Next.js、Workers、Express、Python のコード付きの完全ガイド。