Skip to main content

Event Types

Email Events

Subscribe to these events when creating webhooks:

EventDescription
email.sentEmail was successfully delivered to the SMTP server
email.failedEmail delivery failed after all retries
email.bouncedEmail bounced (hard or soft bounce)

Event Payload Structure

All events share a common structure:

{
"event": "email.sent",
"timestamp": "2026-01-01T00:00:01Z",
"data": {
"email_id": "uuid",
"to": "recipient@example.com",
"from": "sender@example.com",
"subject": "Hello",
"status": "sent",
"error_message": null
}
}

email.sent

Fired when an email is successfully delivered:

{
"event": "email.sent",
"data": {
"email_id": "uuid",
"to": "recipient@example.com",
"status": "sent",
"sent_at": "2026-01-01T00:00:01Z"
}
}

email.failed

Fired when delivery fails after all retries:

{
"event": "email.failed",
"data": {
"email_id": "uuid",
"to": "recipient@example.com",
"status": "failed",
"error_message": "Connection refused",
"retry_count": 3
}
}

email.bounced

Fired when an email bounces:

{
"event": "email.bounced",
"data": {
"email_id": "uuid",
"to": "recipient@example.com",
"bounce_type": "hard",
"message": "Mailbox not found"
}
}