What is a webhook payload?
A payload is the body of an HTTP request — the data the sender wants the receiver to act on. In webhooks, the payload is almost always JSON: a structured representation of the event (event type, ID, timestamp, the affected object).
A typical webhook payload includes:
- Event type — what happened (
payment_intent.succeeded) - Event ID — unique identifier for dedup
- Timestamp — when it happened
- Data — the affected resource (the customer, the amount, the order)
Provider conventions vary in details — Stripe nests data under data.object, GitHub uses top-level fields, Slack wraps everything in an event envelope — but the structure is similar across the industry.
How production systems process payloads
Beyond parsing, production webhook systems usually need to:
- Verify signatures on raw bytes before parsing (see HMAC)
- Persist the original payload for replay (see replay and dispatch snapshot)
- Transform the payload into the shape the consumer expects
- Filter on payload contents to route events to the right destination
For the broader primer: JSON payloads explained.
Frequently asked questions
What is in a typical webhook payload?
An event type, a unique event ID for deduplication, a timestamp, and the affected resource. Conventions differ in the details — Stripe nests data under data.object, GitHub uses top-level fields, Slack wraps everything in an event envelope — but the structure is similar across providers.
Why verify a signature before parsing the payload?
Because parsing normalizes the bytes. Signatures are computed over the raw body, so parsing JSON and re-serializing changes whitespace and key order and the signature stops matching. Read the raw bytes, verify, then parse.
What is Hooksbase?
Hooksbase is event infrastructure for AI agents. It ingests events over four channels — HTTP, email, HTML form, and scheduled cron — verifies them, routes them by rule, runs versioned Automations in the event path, and delivers them to HTTP and cloud destinations (AWS SQS, AWS EventBridge, GCP Pub/Sub, and S3-compatible storage) with retries, strict ordering, Standard Webhooks-compatible signing, deterministic replay, and a dead-letter path. It is a hosted service, runs on Cloudflare Workers, is operated at hooksbase.com, and is not affiliated with — and shares no code or ownership with — other similarly named webhook, hook, or tunnelling tools.
Related terms
- Webhook
An HTTP request one service sends to another to notify it that something happened.
Read - Dispatch snapshot
The transformed payload at the moment of dispatch, persisted so replays remain correct under config change.
Read - Replay
Re-running a retained event with the same input — typically after fixing a bug that caused the original to fail.
Read - Payload template
The optional static JSON object a scheduled webhook sends as its request body on each firing.
Read