SendGrid webhooks
Inspect SendGrid webhook eventsfor bounces, opens, clicks and spam reports
Capture every batch SendGrid posts to your endpoint, read each event in it and find the bounce or complaint your handler missed.
How SendGrid webhooks work
| Where to configure it | Settings > Mail Settings > Webhook Settings > Event Webhooks > Create new webhook, or the SendGrid Webhooks API. |
|---|---|
| Signature headers | X-Twilio-Email-Event-Webhook-Signature and X-Twilio-Email-Event-Webhook-Timestamp. The signature is ECDSA over the timestamp plus the raw payload; verify it with the public key SendGrid gives you. |
| Retries | Non-2xx responses are retried at increasing intervals for up to 24 hours after the event (a rolling 24 hours per event). |
| Test button | Test Your Integration posts a JSON array of example events to your Post URL. |
Test it
Point the Post URL at a Hooklistener webhook URL, click Test Your Integration and read the sample batch. To send the same requests to a local handler, run the Hooklistener tunnel.
hooklistener tunnel --port 3000Sources (checked November 2026)
See every SendGrid event your handler receives
SendGrid webhooks tell you what happened to each message: delivered, bounced, opened, clicked or reported as spam. When events get lost or misparsed, you lose track of campaign performance and customer issues.
Hooklistener captures every request with its headers and body. Debug suppression issues, check the signature headers your code verifies, and forward requests to localhost while you fix your analytics pipeline.
SendGrid webhook pain points
Lost email events
A bounce or complaint that never reached your database leaves a bad address on your list.
Batch processing failures
SendGrid groups events into one JSON array, and a handler that times out or chokes on one item can drop the rest of the batch.
Suppression list mysteries
Users say they never got an email. You need the bounce and spam report history for that address to understand why.
How Hooklistener helps with SendGrid webhooks
Inspect each SendGrid batch
Read the full JSON array SendGrid posted, item by item, so you can find the event your handler skipped when one bad item broke a batch.
Replay (Pro) a batch to your handler
Resend a captured SendGrid batch to localhost or staging after you fix the parser, instead of waiting for new bounces or opens to arrive.
Alerts when SendGrid goes quiet
Attach an inactivity monitor and get an email, Slack or signed-webhook alert when SendGrid events stop arriving, and let anomaly detection flag a volume drop or a new event type.
Try it: point SendGrid at a free webhook URL or run a test with the webhook tester.
SendGrid webhooks worth instrumenting
Transactional email monitoring
Follow password resets, order confirmations and verification emails, and hear about delivery failures before customers complain.
Campaign analytics
Capture engagement events to measure campaign performance and check that no click went missing.
Suppression management
Watch bounce patterns and spam complaints so you can clean lists and protect sender reputation.
Replay a failed webhook without re-triggering the provider
Once a delivery is captured, you can resend its exact headers and body to localhost, staging or production from the dashboard or through your coding agent over MCP, so the provider never has to fire a new event. Replay is on Pro and above. Read the replay guide.
SendGrid webhook guides
Comparing webhook debugging tools?
See how Hooklistener stacks up against webhook.site, RequestBin, Beeceptor, Hookdeck and ngrok in the best tools to capture and inspect webhook payloads, or read the head-to-head pages for Hooklistener vs ngrok and Hooklistener vs Beeceptor.
Frequently asked questions
Does Hooklistener verify SendGrid signatures?
No. Built-in signature verification covers Stripe, GitHub and Slack. Hooklistener keeps the raw body and SendGrid's signature headers so you can check your own verification code against the exact request.
Can I handle large batch events?
Yes. Each request is stored with its full body, so you can read every event in a batch and resend the batch to your handler. Replay is on Pro and above.
How does this help with bounce management?
You can read the bounce type and reason in each captured event, search the history for an address, and confirm your handler updated your suppression data.
Can marketing teams see this data?
Yes. Send a shareable debugger link for a captured batch so marketing can see what SendGrid reported without touching code.
Take control of your email events
Capture and inspect every SendGrid webhook, with replay (Pro), so no bounce or complaint slips through.