A webhook is an event message
A webhook lets one system notify another system when something happens. Instead of polling for updates, the sender pushes data to a receiving URL.
- A payment system can send a paid event.
- A form can send a new submission.
- A product can send status changes.
Payloads and headers
The body usually contains JSON data about the event. Headers can include content type, timestamps, delivery IDs, and signatures.
- Read only the fields your workflow needs.
- Store delivery IDs for duplicate checks.
- Validate content type and expected event names.
Security and reliability
Webhook receivers should verify signatures, reject old timestamps, and handle retries without creating duplicate records.
- Use HMAC signatures when available.
- Reject replayed requests.
- Make repeated deliveries safe with idempotency.