webhooks.xyz

Examples / Cloud events: AWS, Google Cloud and Azure / AWS SES notifications (via SNS)

AWS SES notifications (via SNS) webhooks

Bounce, complaint and delivery notifications for mail you send with SES, published to an SNS topic that posts to your URL.

Events

  • Bounce
  • Complaint
  • Delivery
  • Send
  • Open
  • Click
  • Reject
  • DeliveryDelay

Signature

The SNS envelope is signed (SigningCertURL + Signature). The event is JSON inside the SNS Message string.

Retries

SNS retries HTTPS deliveries per its delivery policy: 3 attempts 20 s apart by default, up to 100 over an hour with a custom policy.

See a retry schedule in the calculator.

Sample request from AWS SES notifications (via SNS)illustrative, shortened
Content-Typetext/plain; charset=UTF-8x-amz-sns-message-typeNotificationx-amz-sns-topic-arnarn:aws:sns:eu-central-1:123456789012:ses-events
{
  "Type": "Notification",
  "MessageId": "9b7e1c3a-…",
  "TopicArn": "arn:aws:sns:eu-central-1:123456789012:ses-events",
  "Message": "{\"notificationType\":\"Bounce\",\"bounce\":{\"bounceType\":\"Permanent\",\"bounceSubType\":\"General\",\"bouncedRecipients\":[{\"emailAddress\":\"nobody@example.com\",\"status\":\"5.1.1\",\"diagnosticCode\":\"smtp; 550 5.1.1 user unknown\"}],\"timestamp\":\"2026-10-09T06:34:00.000Z\"},\"mail\":{\"messageId\":\"0107…\",\"source\":\"receipts@acme.example\",\"destination\":[\"nobody@example.com\"]}}",
  "Timestamp": "2026-10-09T06:34:01.000Z",
  "SignatureVersion": "1",
  "Signature": "EXAMPLE…",
  "SigningCertURL": "https://sns.eu-central-1.amazonaws.com/SimpleNotificationService-….pem"
}