KnockDocs

How to send email with AWS SES

Knock integrates with AWS Simple Email Service (SES) to send emails to your recipients.

Features

  • Attachments support
  • Link and open tracking
  • Per environment configuration
  • Sandbox mode

Getting started

You'll need to take the following steps in AWS before you can configure your SES channel within Knock.

  1. Configure an AWS SES IAM user with send permissions. You'll use the access keys of this user to integrate with SES from the Knock dashboard.
  2. Verify a "From" address within AWS. You'll need to do this before sending emails via SES through Knock.

Once you've completed both of those steps, you'll be able to configure an AWS SES channel in the Knock dashboard under the "Channels" page.

Configure an AWS SES API key

To send notifications via AWS SES, Knock requires the access key ID and a secret access key of an AWS user with SES send permissions. (Specifically, the ses:SendEmail and ses:SendRawEmail permissions.)

If you don't already have a user with send permissions, you can create an Identity Access and Management (IAM) user in AWS to use with the Knock API. You can learn more about creating IAM users in AWS here.

Once you've created your new IAM user, you'll need to provision them with the policy below.

Now that you have an AWS user created and provisioned with SES send access, grab the access key ID and a secret access key of the userβ€”we'll use these later when configuring the SES channel within Knock.

Verify a "From" address within AWS SES

Next, you'll need to verify the "From" email address you plan on using to send emails with AWS if you haven't already. To do so, follow the steps outlined in AWS's guide to creating and verifying an email address identity.

Configuring SES in Knock

Now that you have you SES access key ID, secret access key, and verified "From" address, you're ready to configure your SES channel within Knock.

Here are a few other things to keep in mind once you have your SES channel configured in Knock:

  • SES sandbox mode. By default, AWS places all new accounts in the SES sandbox. While your account is in the sandbox, you can only send emails to verified email addressβ€”keep this in mind if you're testing in development before you've moved your account out of the SES sandbox. For more information on the SES sandbox and how to move your account out of it, see the SES sandbox documentation.
  • Deliverability tracking. We cannot currently track deliverability through SES channels. This means that all notifications sent through SES will show up as "Sent" in the Knock messages log, but not "Delivered".

Provider configuration

Access key IDstring*The access key ID from your AWS account
Secret access keystring*The secret access key from your AWS account
AWS regionstring*The region your AWS account is in
Open trackingbooleanShould the provider track opens on their service?
Link trackingbooleanShould the provider track link clicks on their service?
From email addressstring | liquid*The sender email address (can use Liquid tags)
From namestring | liquidThe sender name (can use Liquid tags)

Environment default settings

The following fields are optional and if set, will be applied to all email message sent via this channel within the environment:

Reply to addressstring | liquidThe reply-to email address (can use Liquid tags)
CC addressstring | liquidThe cc email address (can use Liquid tags)
BCC addressstring | liquidThe bcc email address (can use Liquid tags)

Additional data sent

Knock sends the following attributes along with your emails (all as Tags):

  • Sender: always set to knock.app
  • knock_message_id: the ID of the message this email is associated with
  • knock_workflow: the key of the workflow this message was generated from

Recipient data requirements

In order to send an email notification you'll need a valid email property set on your recipient.