Sources / Superforum

This takes about 5 minutes. You don't need to share any AWS credentials with Sessy. Instead, you'll configure AWS to push events to your webhook URL. All events are cryptographically verified by AWS before processing. The AWS console requires a few steps, but we'll walk you through each one.

This guide assumes you've already set up SES for sending emails.

1. Create a Configuration Set

A Configuration Set in SES lets you track what happens to your emails after they're sent.

  1. Go to Amazon SES in the AWS Console (make sure you're in the correct region where your SES is configured)
  2. Navigate to Configuration sets in the left sidebar
  3. Click Create set
  4. Enter a name: superforum-ses
  5. Leave other settings as default and click Create set

2. Create an SNS Topic

SNS (Simple Notification Service) will forward the events to your webhook.

  1. Go to Amazon SNS in the AWS Console
  2. Click Topics in the left sidebar, then Create topic
  3. Select Standard (not FIFO)
  4. Enter a name: superforum-ses-events
  5. Click Create topic

3. Subscribe the Webhook to SNS

Create an HTTPS subscription that points to your Sessy webhook.

  1. From your SNS topic page, click Create subscription
  2. Set Protocol to HTTPS
  3. Paste your webhook URL in the Endpoint field: https://sessy.sabha.app/webhooks/cb89df2d-7b01-4a33-9820-32e5db50e8eb
  4. Expand Subscription filter policy and leave it empty (accept all)
  5. Leave "Enable raw message delivery" unchecked (this is the default)
  6. Click Create subscription
  7. The subscription will be confirmed automatically when Sessy receives the confirmation request

4. Add an Event Destination

Connect your Configuration Set to the SNS topic to start receiving events.

  1. Go back to Amazon SES → Configuration sets
  2. Click on superforum-ses
  3. Go to the Event destinations tab
  4. Click Add destination
  5. Select the event types you want to track:
    • Sends – Email was sent
    • Deliveries – Email reached the recipient's mail server
    • Bounces – Email bounced (hard or soft)
    • Complaints – Recipient marked as spam
    • Opens – Email was opened (requires tracking pixel)
    • Clicks – Link was clicked (requires link tracking)
    • Delivery delays – Temporary delivery issues
    • Rejections – SES rejected the email
  6. Click Next
  7. Select Amazon SNS as the destination type
  8. Choose superforum-ses-events from the dropdown
  9. Enable "Include original email headers" – this allows Sessy to show subject lines and other email details
  10. Click Next, then Add destination

5. Use the Configuration Set When Sending

When sending emails via SES, specify your Configuration Set name.

With aws-sdk-sesv2:

ses.send_email(
  from_email_address: "you@example.com",
  destination: { to_addresses: ["user@example.com"] },
  content: { ... },
  configuration_set_name: "superforum-ses"
)

With Rails Action Mailer using aws-actionmailer-ses:

Set the header globally for all emails from a mailer:

class ApplicationMailer < ActionMailer::Base
  default "X-SES-CONFIGURATION-SET" => "superforum-ses"
end

Or set it per mailer method:

class UserMailer < ApplicationMailer
  def welcome(user)
    headers["X-SES-CONFIGURATION-SET"] = "superforum-ses"
    mail(to: user.email, subject: "Welcome!")
  end
end

Verify It's Working

Send a test email using your Configuration Set. Within seconds, you should see events appear in the Activity tab. You'll see a "Sent" event immediately, followed by "Delivered" once the email reaches the recipient's server.