Takes about 5 minutes. No AWS credentials shared with Sessy — you configure AWS to push events to your webhook URL. All events are cryptographically verified.
Assumes you've already set up SES.
1. Create a Configuration Set
A Configuration Set tracks what happens after emails are sent.
- Go to Amazon SES (correct region)
- Navigate to Configuration sets
- Click Create set
- Name:
betalist-ses - Leave defaults, click Create set
2. Create an SNS Topic
SNS forwards events to your webhook.
- Go to Amazon SNS
- Click Topics → Create topic
- Select Standard (not FIFO)
- Name:
betalist-ses-events - Click Create topic
3. Subscribe the Webhook
Create an HTTPS subscription pointing to Sessy.
- From the SNS topic, click Create subscription
- Protocol: HTTPS
- Endpoint:
https://sessy-blue.lowfoot.xyz/webhooks/34f79674-6ecb-4e9a-b2e3-ab6781efc2b7 - Leave filter policy empty
- Leave "Enable raw message delivery" unchecked
- Click Create subscription
- Confirmation is automatic
4. Add an Event Destination
Connect your Configuration Set to SNS.
- Go to SES → Configuration sets
- Click
betalist-ses - Event destinations tab → Add destination
- Select event types: Sends, Deliveries, Bounces, Complaints, Opens, Clicks, Delivery delays, Rejections
- Destination type: Amazon SNS
- Topic:
betalist-ses-events - Enable "Include original email headers"
- Click Add destination
5. Use the Configuration Set
Specify your Configuration Set when sending emails.
With aws-sdk-sesv2:
ses.send_email(
from_email_address: "you@example.com",
destination: { to_addresses: ["user@example.com"] },
content: { ... },
configuration_set_name: "betalist-ses"
)
With aws-actionmailer-ses:
Set globally:
class ApplicationMailer < ActionMailer::Base
default "X-SES-CONFIGURATION-SET" => "betalist-ses"
end
Or per mailer:
class UserMailer < ApplicationMailer
def welcome(user)
headers["X-SES-CONFIGURATION-SET"] = "betalist-ses"
mail(to: user.email, subject: "Welcome!")
end
end
Verify it works
Send a test email with the Configuration Set. Events should appear in Activity within seconds.