Inbound email to any of your inboxes is parsed, threaded, and delivered to you two
ways: webhooks (push, recommended) or polling with GET /messages.
Register a webhook
The response returns a signing secret — shown once. Store it; you’ll use
it to verify every delivery.
Events
Payload & signature
Each delivery is a JSON POST with two headers:
The body is { "event": "...", ...payload }. Verify it by computing an
HMAC-SHA256 of the raw request body with your webhook secret:
Verify the signature on every request and reject mismatches. Always hash the
raw body bytes — re-serializing the JSON will change the signature.
Delivery & retries
Deliveries are retried with backoff on non-2xx responses, so your endpoint can be
briefly unavailable without losing events. Respond 2xx quickly (do heavy work
async). Attachment metadata — including short-lived signed download URLs — is
included in the payload; see Attachments.
Polling alternative
No public endpoint? Poll recent mail instead: