Webhooks
Real-time, HMAC-signed notifications for every email event. Deliveries, bounces, opens, clicks, and complaints streamed to your endpoint with automatic retries.
Every email event, in real time
Subscribe to delivered, bounced, opened, clicked, and complained events at the account or domain level. Events land at your endpoint within seconds.
HMAC-SHA256 signed payloads
Every request is signed with a rotating secret so your endpoint can verify authenticity in a few lines of code. Replay protection is built in.
Retries and a replay tool
Failed deliveries retry with exponential backoff for up to 24 hours. Inspect the full delivery log and replay any event from the dashboard.
Verify a webhook
typescript
import crypto from 'crypto';
function verifyWebhook(payload: string, signature: string, secret: string) {
const expected = crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected),
);
}