Architecture
A webhook is an HTTP callback mechanism in which one application automatically sends a real-time data payload to a designated URL in another application whenever a specific event occurs, enabling event-driven integrations without polling.
Polling — repeatedly asking a server 'has anything changed?' — is inefficient and adds unnecessary load to both systems. Webhooks invert this pattern: the source system pushes a notification the moment an event happens (a payment succeeds, a form is submitted, a deployment completes), and the receiving system processes it immediately. A webhook is typically a POST request containing a JSON payload describing the event, sent to a URL configured by the developer on the receiving side. Webhook implementations must handle failures gracefully: the receiving endpoint should respond with HTTP 200 quickly and process the event asynchronously; the sender should retry with exponential backoff if the endpoint is unavailable; and both sides should use HMAC signatures to verify the payload's authenticity.
Example
Stripe sends a webhook to a SaaS application's /webhooks/stripe endpoint when a subscription payment succeeds, triggering the application to automatically activate the customer's account without the customer needing to refresh the page.
Related terms
API (Application Programming Interface)
An API is a defined set of rules and protocols that allows one software application to request and exchange data or functionality with another, acting as a structured contract between systems.
REST API (Representational State Transfer API)
A REST API is a web API that follows the REST architectural style, using standard HTTP methods (GET, POST, PUT, DELETE) and stateless communication to expose resources identified by URLs.
Microservices
Microservices is an architectural style in which a large application is built as a collection of small, independently deployable services, each responsible for a specific business capability and communicating via APIs.
Serverless
Serverless is a cloud execution model in which developers deploy individual functions or applications without provisioning or managing servers — the cloud provider automatically allocates compute resources on demand and charges only for actual execution time.
Ready to grow your business?
Tell us what you're building. We'll reply within one business day with a clear next step.