Webhooks are not arriving
First work out which direction is broken, because they are different systems with different fixes.
- Outgoing: Broadcast calling your endpoint when something happens.
- Incoming: your email provider telling Broadcast about deliveries, bounces, and complaints.
If you are missing delivery or bounce data in the interface, it is the incoming direction.
Incoming: provider events not appearing
This is the one that quietly hurts, because without it auto-suppression never fires and you keep mailing addresses that already bounced.
- Verify the webhook URL is correct. The URLs are on the ESP integrations page.
- Check your Broadcast instance is publicly reachable over HTTPS.
- Review your provider’s own webhook delivery logs for failures.
- Make sure firewalls are not blocking incoming requests.
If the endpoint is being reached but events still do not show up:
- Check the correct event types are selected at your provider.
- Verify the email server has the correct vendor selected in Broadcast. A mismatch here means payloads arrive and are not understood.
- Look for errors on the email server’s detail page.
For authentication errors, confirm signing keys and verification tokens are correct and have not expired. Regenerating means updating both sides.
The ESP integrations documentation has this per provider. The guided setup wizards configure webhooks for you, which is the easiest way to avoid this entirely.

Outgoing: your endpoint is not being called
- Confirm the endpoint URL is correct and reachable from your server.
- Confirm it is subscribed to the event types you expect. Delivery, open, click, bounce, and complaint are separate.
- Check firewall rules and that your SSL certificate is valid.
Signature verification failing? Check you are using the right secret, calculating the signature as documented, and that your timestamp is within the five-minute window.
High failure rates? Your endpoint must respond in under 30 seconds. Slow handlers get recorded as failures and retried on the documented schedule. Do the work asynchronously and return quickly.
Payload not shaped as expected? Events from broadcasts, sequences, and
transactional email carry different structures. Look for context fields such as
sequence_id, transactional_id, or identifier, and handle each shape rather than
assuming one. Log anything unexpected.

The webhooks documentation has payload structures, signature verification, and the retry schedule. The Webhook Endpoints API manages endpoints programmatically.
Email us with the direction and the event type.