Amazon SES manual configuration
A step-by-step guide to manually configure Amazon SES with Novu for email activity tracking.
Amazon SES requires a manual configuration flow to enable Email Activity Tracking in Novu. This process involves creating an IAM user, setting up an SNS topic, subscribing Novu’s webhook, and linking SES configuration sets with the SNS topic.
Setting up Amazon SES for activity tracking is a multi-step process because it requires configuring several AWS services (IAM, SNS, and SES) to work together. This guide provides a complete, step-by-step walkthrough.
Step 1: Create an IAM User
First, you need to create a dedicated IAM user in AWS that Novu will use to interact with SES.
- Log in to your AWS Console and navigate to the IAM service.
- In the sidebar under Access Management, click Users.
- Click Create user, enter a name for the user, then click Next.
- On the permissions page, select Attach policies directly.
- In the search box, find and select the
AmazonSESFullAccess
policy. Click Next. - Click Next, review the details, then click Create user. You will be redirected to the user list, where the new user will appear.
Step 2: Generate access keys
- Click on the user you just created.
- On the user’s page, click Create access key.
- Under Access key best practices & alternatives, select Application running on an AWS compute service or the right use case for you.
- Check the confirmation box and click Next.
- Add a description tag, then click Create access key.
- (Optional) On the Retrieve access keys page, you will see the Access key and Secret access key click Download .csv file. This file contains these access keys, you'll need in the next step.
- Click Done.
Step 3: Set up the SES integration in Novu
Now, use the keys you just downloaded to connect your SES account to Novu.
- In the Novu dashboard, go to the Integration Store.
- Click Connect provider and select SES.
- Under Delivery Provider Credentials, open the .csv file you downloaded in Step 2.
- Copy the Access key into the Access key ID field.
- Copy the Secret access key into the Secret access key field.
- Fill in the remaining required fields, then click Create integration.
Step 4: Create an SNS Topic
Next, you'll set up an SNS (Simple Notification Service) topic to receive events from SES.
- In the AWS console, search for SNS (Simple Notification Service), this will open the SNS dashboard.
- In the sidebar, click Topics.
- Click Create topic
- Select the Standard option.
- Enter a topic name, then scroll down and click Create topic.
Step 5: Subscribe Novu’s webhook to the SNS topic
- On the topic's page, click Create subscription.
- In another browser tab, return to your SES integration settings in Novu. Enable the Email Activity Tracking toggle.
- Copy the Inbound Webhook URL it provides.
- Go back to your AWS SNS subscription page.
- For Protocol, select HTTPS.
- For Endpoint, paste the Inbound Webhook URL you copied from Novu.
- Click Create subscription
- In the sidebar, click Subscriptions to confirm that the subscription status is “Confirmed.”
Step 6: Create SES Configuration set
Create a Configuration set in SES to tie everything together.
- In the AWS console, search for SES (Simple Email Service). This opens the Amazon SES dashboard.
- In the sidebar, under Configuration section, click Configuration sets
- Click Create set.
- Enter a configuration set name, then click Create set.
- Copy the Configuration set name.
- Go back to your SES integration settings in Novu.
- Paste the name into the Configuration Set Name field under the Email Activity Tracking section.
- Click Save changes.
Step 7: Add event destination
- Return to the Configuration set page in your AWS SES dashboard and click on the set you just created.
- Click the Event destinations tab and then Add event destination.
- Select all available Event types and click Next.
- For the destination, select Amazon SNS topic and then enter a destination name.
- Under SNS topic, select the topic you created in Step 4.
- Click Next, review the details, and then click Add destination.
Your Amazon SES integration is now fully configured for activity tracking. Events will begin appearing in your Novu Activity Feed as you send notifications.
Troubleshooting
Email address is not verified
If you get "MessageRejected: Email address is not verified" error when you trigger a workflow in Novu. This error means that the sender email address you are trying to use has not been verified in SES.
To fix this:
- Go to the SES console.
- In the sidebar, click Account dashboard.
- Click View Get set up page and follow the steps in the Get set up page to verify your email address and sending domain.