Skip to main content

Overview

Webhooks allow you to receive real-time HTTP notifications when email events occur in your account. When an event happens (such as an email being delivered, bounced, or opened), we’ll send a POST request to your configured endpoint with details about the event.

Setting Up Webhooks

1

Navigate to Webhooks

Log in to the JetEmail Dashboard and go to Dashboard → Webhooks.
2

Create a Webhook

Click Create Webhook and configure:
  • Name: A friendly name for your webhook
  • URL: The endpoint where you want to receive events
  • Events: Select which event types you want to receive
3

Copy Your Secret

After creating the webhook, copy your webhook secret. You’ll use this to verify webhook signatures.

Request Format

When an event occurs, we send a POST request to your webhook URL with the following headers:
HeaderDescription
Content-Typeapplication/json
X-Webhook-IDUnique identifier for this event
X-Webhook-TimestampUnix timestamp when the event was sent
X-Webhook-SignatureHMAC-SHA256 signature for verification

Responding to Webhooks

Your endpoint should respond with an HTTP status code to indicate success or failure:
Status CodeBehavior
2xxSuccess - the event is acknowledged
429Rate limited - we’ll retry with backoff
5xxServer error - we’ll retry with backoff
4xx (except 429)Permanent failure - event is discarded
Your endpoint must respond within 10 seconds or the request will timeout and be retried.

Retry Strategy

If delivery fails, we’ll retry with exponential backoff:
AttemptDelay
1Immediate
230 seconds
32 minutes
410 minutes
51 hour
64 hours
7+Event moved to dead letter queue

Filtering Events

You can optionally filter which events trigger your webhook:
  • Outbound events: Filter by username to only receive events for specific SMTP users
  • Inbound events: Filter by domain to only receive events for specific domains
Leave filters empty to receive events for all users/domains.