New guide: how to warm up a dedicated IP without hurting your reputation. Read now →
Log in
MigoSMTP
Webhooks & Events

Know the moment something happens

Receive signed events for every delivery, bounce, open, click and complaint, and replay what you missed.

AI summarises event streams and flags unusual bounce patterns as they appear.

Add endpoint
URL
https://example.com/hook
Secret
••••••••••
Save
Endpoint added
HTTPS only
Verified
Add an HTTPS endpointGive us a URL that can receive POST requests. We confirm it responds before any real event is sent.
Subscribed events
deliveredMessage accepted
bouncedHard and soft
complainedSpam reports
clickedLink activity
Per event
Per stream
Pick the events you wantSubscribe only to what you act on: delivered, bounced, complained, opened or clicked.
Delivery events
Signed events
/hooks/mail
200 OK
Analytics
200 OK
CRM sync
200 OK
Real time
Multiple endpoints
Events fan out in real timeEach event is posted to every endpoint that subscribed, so analytics, CRM and alerts all stay in sync.
Payload
{ "event": "delivered" }
Signature header
sha256=9f2c41…
Shared secret
Timestamped
Constant-time compare
Reject anything that fails verification
HMAC-SHA256
Replay safe
Verify every requestEach request carries an HMAC signature built with your secret, so you can prove it came from us.
Endpoint health · /hooks/mail
AI
1h ago
Now
Errors risingMost failures are 502 after your last deploy.
Suggested: queue events, then replay once /hooks/mail recovers
Groups failures
Pause or replay
AI spots a failing endpoint earlyInstead of waiting for retries to run out, AI notices your endpoint's error rate climbing and groups the failures by cause. It proposes a fix and can pause the noisy event.
Webhook handler
Node
Python
PHP
Go
PHP
app.post("/hook", (req, res) => {
verify(req, SECRET)
res.sendStatus(200)
})
200 OK
Ack fast
Idempotent
A handler in a few linesVerify the signature, acknowledge fast, process later. That is all a reliable consumer needs.
Endpoint
Events
Fan-out
Signature
AI triage
Handler
Event payloadSample
{
  "event": "bounced",
  "message_id": "msg_01H...",
  "recipient": "user@example.com",
  "reason": "550 5.1.1 mailbox unavailable",
  "timestamp": "2026-10-13T08:15:00Z"
}
SMTP relayREST APIWebhooksDedicated IPsDKIM signingInbound parseTemplatesAnalyticsSuppression listsReputation monitoringEmail validationTeam roles and audit logSMTP relayREST APIWebhooksDedicated IPsDKIM signingInbound parseTemplatesAnalyticsSuppression listsReputation monitoringEmail validationTeam roles and audit log
Capabilities

Reliable event delivery

Every outcome

Delivered, deferred, bounced, opened, clicked, complained and unsubscribed.

Signed payloads

Verify every request came from MigoSMTP.

Retries with backoff

Failed deliveries are retried automatically.

Replay

Re-send events from the log after an outage.

Event filters

Subscribe to only the events you need.

Delivery logs

See request, response and status for every attempt.

How it works

STEP 1

Add an endpoint

Enter your HTTPS URL and choose events.

STEP 2

Verify the signature

Check the signature header on each request.

STEP 3

Process and acknowledge

Return a 2xx response to confirm receipt.

See it in action

One platform from first send to inbox

Switch between stages to see what you control at each step. Illustrative interface with sample data.

app.migosmtp.com / sendSample data
Queued
[n]
Sent
[n]
Rate
[n/s]
acceptedmessage to you@example.com
acceptedmessage to team@example.com
queuedbatch of [n] recipients
acceptedmessage to ops@example.com
Operations

Keep your systems in step with your email

Update your database, trigger workflows and alert your team without polling.

  • Per-endpoint event selection
  • Automatic retries and manual replay
  • Full request and response logs
  • Secrets you can rotate
At a glance
TransportHTTPS POST
FormatJSON
SecuritySignature header
Retries[Confirm retry schedule]
Overview

What is webhooks and events?

Use cases

Common webhooks and events use cases

Keeping your database in sync

Mark orders as notified when delivered and flag contacts when a hard bounce arrives. Webhooks remove the need for polling jobs and keep application state accurate.

Automatic suppression handling

On bounce or complaint events, add the address to your own do-not-mail table straight away, so other systems that email the same person stop as well.

Alerting support teams

Send a Slack or ticket alert when a password reset bounces. Support can then contact the customer by another channel before they give up. It saves hours of manual work.

Recovering after downtime

If your endpoint was offline during a deployment, replay the missed events from the log and bring your records back to the correct state. Nothing is lost in the meantime.

AI features

AI-assisted webhooks and events

Copilot

Event stream summaries

A copilot condenses thousands of events into a short digest, such as which provider is deferring and which campaign drives complaints, linking to the messages behind each point.

Predictive

Anomaly detection on events

Models learn normal bounce, complaint and deferral rates and alert you when a stream departs from them. You set who is notified and whether any automation runs.

Assist

Payload debugging assistant

Paste a failed delivery log and the assistant explains the likely cause, such as a signature mismatch or timeout, and suggests a fix to test. You make the change.

Agent-ready

Agent-ready event access

Through an MCP server, AI agents can read event history and delivery logs with read-only scopes. Write actions need explicit scopes and, if you wish, human approval.

AI features are assistive: they summarise and alert, and any automated action is something your team configures and approves. [Confirm which AI features are available at launch.]

Best practices

Best practices for webhooks and events

Verify the signature every time

Reject requests whose signature header does not match. Rotate the secret periodically and straight away if it may have been exposed.

Respond quickly, work asynchronously

Acknowledge with a 2xx as soon as the payload is safely stored, then process it from a queue. Slow handlers cause timeouts and duplicate retries.

Design for duplicates and disorder

Deliveries can repeat and arrive out of order. Use the message ID and timestamp to deduplicate and to ignore stale state changes.

Subscribe only to what you use

Filter events per endpoint. Fewer irrelevant requests means less load on your servers and simpler monitoring. Keep integrations lean and quick to debug.

Monitor your own endpoint

Alert on repeated failures in the delivery log. A silent outage means silent data drift until someone replays the gap.

FAQs

Webhooks and events: frequently asked questions

What is an email webhook?

An email webhook is an HTTP request your email provider sends to your server when an event occurs, such as a message being delivered or bouncing. It lets your application react in real time without checking the API repeatedly. This replaces polling jobs and keeps your records current.

How do I verify a webhook signature?

Each request includes a signature header generated with your endpoint's secret. Recompute the signature from the raw request body on your side and compare. Reject the request if they differ. The documentation has code samples. [Confirm signature scheme.] Sending a sample event from the dashboard confirms your handler works.

What events can I receive?

Delivered, deferred, bounced, opened, clicked, complained and unsubscribed. You can subscribe each endpoint to a subset, so one service gets bounces and another gets engagement events. Pick only those your systems act on, such as bounces for suppression and clicks for analytics, to keep traffic to your endpoint small and relevant.

What happens if my endpoint is down?

Failed deliveries are retried with backoff, and you can replay events from the log once you recover. [Confirm retry schedule.] Each attempt, with request and response, is recorded so you can see what failed. Check that your handler returns quickly and logs failures.

Are webhook events delivered in order?

[Describe ordering and duplicate handling.] As a general rule, build handlers that tolerate duplicates and out-of-order events by using the message ID and timestamp. Event ordering can differ across providers and retries, and a single message may generate several events in a short time. Handle each event idempotently, compare timestamps before changing state, and keep the original event for troubleshooting purposes.

What are bot opens?

Some mail systems fetch images automatically, which registers as an open even if no person read the message. We separate those from human opens where we can, but open tracking remains an estimate. Treat opens as a rough indicator. Count clicks and replies as stronger signals of engagement.

How do I test a webhook endpoint?

Send a sample event from the dashboard to your URL and check that your handler verifies the signature and returns a 2xx. Review the delivery log to see the request and your response. Use a staging endpoint with a test secret before production. Run it before pointing production at the endpoint.

How does AI work with webhooks and events?

AI can summarise event streams, flag unusual bounce or complaint patterns and help debug failed deliveries. It recommends actions but does not change your configuration unless you set up a rule. [Confirm which AI features are available at launch.] Review recent logs before connecting new endpoints.

What are bot opens?

Some mail systems fetch images automatically. We separate those from human opens where we can.

How do I test an endpoint?

Send a sample event from the dashboard.

Start sending in minutes.

Create an account, add your domain and send your first email.