A webhook is a way for one application to send real-time data to another application via HTTP requests when certain events occur. Unlike traditional API requests, where a client has to repeatedly poll the server for updates, webhooks are event-driven and push data automatically from the server to the client.
In depth
Webhooks are designed to enable real-time communication between applications. When a specific event happens in a source application, such as a user signing up or a new order being placed, it triggers an HTTP POST request to a specified URL of the target application with the relevant data. This contrasts with traditional APIs where clients need to make requests at regular intervals to check for updates, leading to inefficiency and potential delays in data delivery. Webhooks effectively allow applications to react to events immediately as they occur, improving responsiveness and reducing unnecessary network traffic. It's crucial to handle cases where the receiving application may be down or slow, and implementing retries or acknowledging receipt of the data can help manage such edge cases.
Example scenario
In a real-world scenario, consider an e-commerce platform that uses webhooks to notify a third-party inventory management system every time an order is placed. When an order is confirmed, the e-commerce platform sends a webhook to the inventory system with details of the order. This allows the inventory system to automatically update stock levels in real time, ensuring accurate inventory management without manual updates or delays.
Common mistakes
One common mistake developers make is assuming that all webhook requests are guaranteed to succeed, leading to a lack of proper error handling. If the target URL is down or the request fails, the data can be lost unless appropriate retries or logging mechanisms are in place. Another mistake is not validating the incoming requests, which can make systems vulnerable to unauthorized data exposure and attacks. Developers should implement security measures such as signature validation to ensure that requests genuinely originate from trusted sources.
Follow-up questions
- How would you handle security for webhooks?
- What are some potential issues with using webhooks in a distributed system?
- Can you explain how to validate webhook requests?
- What would you do if you receive duplicate webhook notifications?

Preparing for a system design interview?
- A 7-step method for answering any system design question, plus estimation numbers
- 5 worked designs: URL shortener, rate limiter, chat, news feed and file storage
- Guides to caching, databases, queues, consistency and reliability, with a 4-week study plan
- 306 practice questions with answers on caching, databases, queues, microservices, APIs and more
5 worked designs, a 4-week plan and 306 practice questions with answers.
The material stays free to read online. This is the organised, offline, print-ready PDF edition. Secure payment by PayPal; your personal download link is emailed after payment is confirmed. Digital product, no shipping.