Webhooks look simple when everything works.

A service sends an HTTP request, your application receives it, and the event is processed within milliseconds.

But production networks are rarely that predictable.

The receiving service may be restarting. A route may disappear for several minutes. An ISP may filter certain traffic. A corporate firewall may prevent inbound connections altogether. And sometimes the service that needs the webhook is running on a developer’s laptop or inside a private network with no public IP address.

So what happens to the webhook while the receiver is offline?