Seu handler de webhook vai dar timeout?
O Slack espera 3 s pela resposta do seu handler, a Shopify 5 s, o GitHub 10 s. Cole a URL para a qual o remetente envia e veja qual deles desistiria. Grátis, sem cadastro.
Enviamos duas pequenas requisições POST identificadas como teste, a segunda logo depois da primeira, para que um cold start apareça. Se a URL disparar algo (um Zap, um e-mail), isso roda com dados de teste. Guardamos o nome do host, não a URL.
Quanto tempo cada remetente espera
Da documentação de cada provedor, conferida em 2026-08-06. Um remetente que não recebe um 2xx a tempo conta a entrega como falha, não importa o que o seu handler faça depois.
| Remetente | Espera | Depois de uma entrega com falha |
|---|---|---|
| LINE | 2 s | Reenvio de webhooks, desativado por padrão (ative nas configurações da Messaging API do canal); quantidade e intervalo não divulgados |
| Slack | 3 s | 3 novas tentativas: imediatamente, após 1 min, após 5 min |
| Discord | 3 spara a primeira resposta de uma interação; adie-a (type 5) e responda depois | Não publicado |
| Xero | 5 s | Não publicado |
| Shopify | 5 s | 8 novas tentativas ao longo de 4 horas |
| Paddle | 5 s | Produção: até 60 tentativas ao longo de cerca de 2 dias, cerca de 10 na primeira hora e cerca de 45 no primeiro dia. Sandbox: 3 tentativas em cerca de 2 min |
| HubSpot | 5 s | Até 10 tentativas distribuídas ao longo de 24 horas |
| GitHub | 10 s | Nenhuma. O GitHub não reenvia automaticamente as entregas com falha |
| Twilio | 15 s | Configurável: rc de 0 a 5, padrão 1. rp define quais falhas geram nova tentativa |
Por que os handlers ficaram lentos
A maioria dos bots e automações agora chama um LLM dentro do handler de webhook: resumir a mensagem, rascunhar a resposta, classificar o pedido. Isso leva segundos, às vezes dezenas de segundos, e os remetentes acima não esperam. A solução comum é responder 200 primeiro e fazer o trabalho a partir de uma fila em segundo plano, o que significa manter uma fila.
O AnyHook é essa fila, sem o código. Ele responde ao remetente em cerca de um segundo, depois dá ao seu handler até 60 s no Free e tenta de novo se falhar. Você troca uma URL; nada mais no seu código muda. O guia completo, com código para Next.js, Workers, Express e Python.