Webhooks

Know what happens to every email

Get a signed POST the moment an email is delivered, opened, clicked, or bounced. Verify with Svix, rely on automatic retries, and inspect every delivery attempt.

verify.js
import { Webhook } from 'svix';

const wh = new Webhook(process.env.MAILBLASTR_WEBHOOK_SECRET);

app.post('/webhooks/mailblastr', (req, res) => {
  const evt = wh.verify(req.body, {
    'svix-id': req.get('svix-id'),
    'svix-timestamp': req.get('svix-timestamp'),
    'svix-signature': req.get('svix-signature'),
  });
  console.log(evt.type, evt.data.email_id);
  res.sendStatus(200);
});
Capabilities

Webhooks you can build on

Real-time events

email.sent, delivered, opened, clicked, bounced, complained, and more.

Svix-compatible

Verify deliveries with the off-the-shelf svix library or the legacy HMAC header.

Automatic retries

Failed deliveries retry with backoff; endpoints that keep failing are disabled.

Signed & secure

Every payload is signed with your endpoint secret — rotate it any time.

Delivery log

Inspect every attempt — status code, response body, and timing.

Per-event subscriptions

Subscribe each endpoint only to the events it cares about.

Wire up your first webhook

Add an endpoint and start receiving email events in real time.