Symptom: mail sends succeed (202s) but your endpoint sees nothing.
Cause candidates:
1. The webhook is not enabled or points at the wrong URL in Settings > Mail Settings > Event Notification.
2. Your endpoint does not return 2xx quickly, so SendGrid treats the POST as failed.
3. A firewall, auth gate, or redirect in front of the endpoint eats the POST. (The inbound parse doc explicitly warns webhooks do not follow redirects; the same discipline applies.)
4. You are testing with sandbox mode, which fires no events by design.
Confirmation: use the console's webhook test feature to fire a sample POST, and watch your server logs for the incoming request.
Fix:
1. Set the exact HTTPS URL with no redirect in front of it.
2. Return 2xx immediately and process asynchronously. Slow handlers cause retries and gaps.
3. If you enabled signed webhooks, make sure verification failures are not silently dropping real events; log them.
Verification: the test POST arrives, then live processed/delivered events stream in within seconds of sending.