AWS SES
The AWS SES webhook receives email delivery notifications from Amazon Simple Email Service (SES) via Amazon Simple Notification Service (SNS). It handles SNS subscription confirmation and processes delivery, bounce, complaint, open, and click events.
Endpoint
Section titled “Endpoint”POST /api/rpc/webhooks/aws/ses
How it works
Section titled “How it works”AWS SES publishes notifications to an SNS topic, which forwards them to this webhook endpoint. The platform handles two types of SNS messages:
- SubscriptionConfirmation — sent when you first subscribe the endpoint to the SNS topic. The platform automatically confirms by calling the
SubscribeURL. - Notification — ongoing delivery events from SES, wrapped in the SNS message envelope.
Signature validation
Section titled “Signature validation”AWS SNS messages are signed using RSA (SHA1 or SHA256, depending on the SignatureVersion). The platform validates signatures by:
- Verifying the
SigningCertURLpoints to an*.amazonaws.comdomain. - Fetching the certificate and verifying the signature against the constructed string-to-sign.
Supported events
Section titled “Supported events”| SES Notification Type | Platform Event | Description |
|---|---|---|
Delivery | email_delivered | Email delivered (one event per recipient) |
Bounce | email_bounce | Email bounced (one event per bounced recipient) |
Complaint | email_spam_report | Recipient filed a complaint |
Open | email_open | Recipient opened the email |
Click | email_click | Recipient clicked a link |
Bounce types
Section titled “Bounce types”| SES Bounce Type | Platform Type | Description |
|---|---|---|
Permanent | Hard bounce | Address doesn’t exist or is permanently unreachable |
Transient | Soft bounce | Temporary issue (mailbox full, server down, etc.) |
Undetermined | Soft bounce | Could not determine bounce type |
Response
Section titled “Response”{ "success": true, "processed": 2, "duplicates": 0, "errors": 0, "subscriptionConfirmed": false}The subscriptionConfirmed field is true when the request was an SNS subscription confirmation.
- In the AWS console, create an SNS topic for SES notifications.
- Configure SES to publish notifications (Delivery, Bounce, Complaint, Open, Click) to the SNS topic.
- Create an HTTPS subscription on the SNS topic pointing to your platform’s AWS SES webhook endpoint.
- The platform automatically confirms the SNS subscription when it receives the confirmation request.
No environment variables are required — signature validation uses the certificate URL from the SNS message.
Related pages
Section titled “Related pages”- SendGrid — alternative email provider integration
- Webhooks overview — how webhooks work