Every email event, pushed to you
Replies, inbound mail, deliveries, bounces and complaints arrive at your endpoint as they happen — signed, retried, and replayable. Bounces and complaints are handled automatically: addresses suppressed, agents paused when rates cross the line.
Events
React to email
the moment it moves
Pick the events you want — replies, deliveries, bounces, complaints, and more. Each one arrives as JSON, with the same envelope the API and the event stream use.
{
"id": "evt_01K…",
"type": "reply.received",
"created_at": "2026-10-05T10:42:07.000Z",
"agent_id": "agt_01K…",
"thread_id": "thrd_01K…",
"injection_score": 0.02,
"sender_reputation": 0.85,
"data": {
"from": { "address": "dana@example.com", "name": "Dana" },
"subject": "Re: Your October invoice",
"extracted_text": "Paid it this morning, thanks!"
}
}Dashboard
See every event
as it happens
The Events page streams every send, delivery, reply, bounce and complaint live, with the scores each inbound message carried.

We check the signature and dedupe on the event id. Retries cover the rest.
Autopilot
Bounce and complaint webhooks,
handled automatically
Every bounce and complaint webhook fires to your endpoint — and the platform acts on it before your handler even runs. No suppression list to maintain, no cron to write.
Bounces suppressed instantly
A hard bounce fires a message.bounced webhook to your endpoint and suppresses the address platform-wide — no agent on the platform can send to it again. Each agent’s bounce rate is tracked over 30 days; past 5 % bounces (with 20+ sends) the agent auto-pauses until rates recover.
Complaints pause the agent
A spam complaint fires a message.complained webhook and suppresses the recipient across the platform. A 15-minute cron monitors complaint rates; past 0.3 % complaints (with 20+ sends) the agent auto-pauses. If the workspace crosses the line, every agent in it pauses.
Delivery
Built to outlast
a bad deploy
Every delivery is signed with HMAC-SHA256 in one X-Mails-Signature header, so your handler can check it came from us. Rotate the secret and the old one signs beside it for 24 hours.
Retried for you
If your endpoint is down or answers with an error, we try again after 30 seconds, then after 2 more minutes. Any 2xx answer counts as delivered.
Replays on demand
A delivery that fails all three attempts is kept, not dropped. Replay it from the dashboard or the API once your handler is fixed.
Set up
From endpoint
to first event
Two steps from an endpoint to events in your app.
Step 1
Add your endpoint
Add an HTTPS address and the events you want. You get a signing secret back.
Step 2
Check it, then act
Check the signature against your secret, then act. Answer with any 2xx.
Give your first agent an inbox
Free covers 3,000 emails and 3,000 inbound replies a month, with no card. Upgrade when your agents get busy.
Get your API key