Setup guide
Connect your SES in about five minutes
Two modes: let TrackSES wire everything automatically with a scoped IAM key, or provision the AWS resources yourself and share nothing.
Paste a scoped AWS IAM access key and TrackSES does the rest: it creates a dedicated SNS topic, a SES configuration set, and attaches it to your sending domains , all in seconds.
Create a scoped IAM user
In the AWS IAM console, create a new user (not a role) and attach the least-privilege policy below. It is scoped exclusively to resources prefixed trackses-* , it never touches your existing configuration or identities.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sns:CreateTopic", "sns:Subscribe",
"sns:SetTopicAttributes", "sns:GetTopicAttributes",
"sns:ListSubscriptionsByTopic", "sns:DeleteTopic"
],
"Resource": "arn:aws:sns:*:*:trackses-*"
},
{
"Effect": "Allow",
"Action": [
"ses:ListEmailIdentities", "ses:GetEmailIdentity",
"ses:CreateConfigurationSet",
"ses:CreateConfigurationSetEventDestination",
"ses:PutEmailIdentityConfigurationSetAttributes",
"ses:DeleteConfigurationSet"
],
"Resource": "*" /* scoped by action — no Send* */
}
]
}Paste the access key into TrackSES
Copy the access key ID and secret. In the TrackSES project settings, paste them under AWS credentials. Keys are stored AES-256-GCM encrypted and never logged.
TrackSES wires everything
TrackSES automatically creates the SNS topic, the SES configuration set, subscribes the webhook, and attaches the config set to each of your sending domains , one click per domain.
Live events start flowing
Once wired, deliveries, bounces, complaints, opens and clicks stream into your dashboard in real time. Done.
IAM permission scope
Exactly what the key can access
In Automatic mode the IAM user receives a single least-privilege inline policy. Every action is scoped to trackses-* resources only. Your existing SES configuration, identities, and other AWS resources are untouched.
arn:aws:sns:*:*:trackses-*sns:CreateTopicsns:Subscribesns:SetTopicAttributessns:GetTopicAttributessns:ListSubscriptionsByTopicsns:DeleteTopictrackses-* config setsses:ListEmailIdentitiesses:GetEmailIdentityses:CreateConfigurationSetses:CreateConfigurationSetEventDestinationses:PutEmailIdentityConfigurationSetAttributesses:DeleteConfigurationSetin either modeses:Send*ses:SendEmailses:SendRawEmailses:SendBulkEmailses:UpdateAccountSendingEnabledses:DeleteIdentitySecurity model