· Glossary · 2 min read
What Is a Webhook?
Webhooks allow applications to communicate in real-time. Learn how these user-defined HTTP callbacks eliminate the need for constant polling.

APIs are usually “Pull.” You ask the server “Do you have new data?” repeatedly. This is called Polling. It is inefficient.
Webhooks are “Push.” The server tells you “I have new data!” immediately.
Simple Definition
A Webhook is a user-defined HTTP callback. It is a way for an app to provide other applications with real-time information.
Think of it like a text message notification. You don’t check your phone every 5 seconds to see if you have a message. Your phone buzzes when the message arrives.
User-defined HTTP callbacks (Reverse API)
When an event happens (like a payment succeeds in Stripe) Stripe sends a POST request to a specific URL on your server. Your server processes the data instantly.
Use Cases
Webhooks power the modern event-driven web.
- Payment Gateways: Notifying you when a credit card is charged.
- CI/CD: GitHub notifying Jenkins that code was pushed.
- Chat Bots: Slack notifying your bot that a user typed a command.
Visualizing
Visualizing webhooks is critical because they happen asynchronously.
Event source calling listener endpoint
In a System Architecture Diagram you draw an arrow originating from the External Service (like Stripe) pointing into your API Gateway.
This “Incoming Arrow” is distinct from the usual outgoing request arrows. It highlights that you are exposing a public endpoint that needs to be secured.
In a Sequence Diagram you show the External Service initiating the conversation.
Related Terms
To understand event delivery you need these terms:
- Polling: Repeatedly checking an API for updates. The opposite of a Webhook.
- Callback URL: The specific address (endpoint) that the webhook provider sends data to.
- Payload: The data sent inside the webhook request.
- Idempotency: The property of handling the same webhook event multiple times without side effects (critical for robust webhook handling).
For more on visualizing real-time systems check out our System Design Guide.




