A webhook is a way for one application to send real-time data to another the moment an event happens, by making an HTTP request to a URL that the receiving application provides.
The receiving application registers a URL, called an endpoint, with the sending application. When the chosen event occurs, the sender makes an HTTP request to that endpoint, delivering a payload, usually formatted as JSON, that describes what happened.
With polling, your application repeatedly asks another service whether anything has changed, and most of the time there is no news. A webhook reverses this: the service sends data to you only when there is something new, so it is more timely and avoids wasted repeated requests.
Because the endpoint is a public URL, the receiver should verify that each request genuinely came from the expected sender, commonly by checking a signature that the sender includes with the payload. The receiver should also acknowledge receipt promptly; if it does not, senders typically retry delivery.
Push. The sending service pushes data to your endpoint when an event happens, rather than you pulling it by polling.
It is usually JSON, delivered in the body of the HTTP request the sender makes to your endpoint.
Home · By Runze