This section is a step-by-step guide to setting up AWS SNS as your SMS service provider.

Pre-Requisites

You'll need a AWS account to complete this tutorial. You can use your existing AWS account to integrate, or Create an AWS account


Amazon SNS integration on SuprSend account

Follow below steps to integrate your Amazon SNS account with SuprSend

Step 1. Create AWS IAM user

To send email through SNS, you need an IAM user (Access-Key-ID and Secret-Access-Key) with necessary permission. To ceate an IAM user, refer to this documentation

  • Create an IAM user (with Programmatic access).
  • Attach Policy AmazonSNSFullAccess to this user.
  • Copy and save the Access-key-ID and Secret-Access-Key securely. You'll need to add this information on SuprSend vendor integration page

An AWS SNS resource resides in a particular region. Make a note of which aws-region you are going to use for sending SMS. In this guide, we'll assume aws-region :ap-south-1 for all illustrative purposes.


Step 2. Adding phone number in your SNS account

Before moving into configuration steps, here are a few other things to keep in mind:

  • SNS sandbox mode If you are creating a new SNS account. Your account will be in SNS sandbox. AWS adds all new accounts in the SNS sandbox by default. In sandbox mode, you'll be able to send messages to only verified destination phone numbers. Once you're done testing, you can move out of the SNS sandbox. Refer next section for the steps to configure SNS sandbox and how to move your account out of it.

  • Delivery tracking. We cannot currently track delivery for SMS sent through AWS SNS. This means that messages sent through SNS will always show on triggered state in logs.

Follow below Steps to add phone number and set tracking in your SNS account:

Step 1. Provision phone numbers on SNS dashboard

Go to AWS SNS console -> Mobile -> Text Messaging (SMS). Select origination numbers either from top right or from left side menu and Click on "Provision number in Pinpoint"


This will open pinpoint console. Click on "Request Phone Number" on this screen and provision a phone number from a country where SMS channel is enabled.

📘

Phone Number Registration required for USA numbers

If you’re provisioning numbers from USA, you need to complete your phone number registration to send messages successfully across the USA. Read more about phone number registration here


You can also register for Sender ID if you want to send messages with an alphanumeric code. Sender IDs is not supported in all countries. To see if it is supported in your region, see Supported Regions and Countries


Step 2. Testing in Sandbox mode

By default, your account will be in sandbox mode where you’ll only be able to send messages to added destination numbers. Add few phone numbers here to test out the integration.

Once the numbers are added, scroll up the screen and click on "Publish Text Message" to send one test message from the console itself to test out the integration.

If the message is successful, we recommend you to exit sandbox before integrating with SuprSend.

  • Click on Exit SMS Sandbox from console.
  • A prompt will open to raise an AWS support case to exit sandbox and increase spending limits.
  • Add relevant information and in the new limit add 100 USD (recommended) or higher if needed.

The account will be production ready within 24 hours of raising this request

Step 3. Setup tracking inside AWS dasboard

Remember that this setup is just to see the delivery reports within AWS dashboard. It doesn't enable delivery tracking in SuprSend logs.

Follow below steps to setup tracking:

  1. Go to Text Messaging Preferences in SNS console and click edit.
  1. Add relevant configuration and expand Delivery status logging.
  2. Create a new IAM role on this screen. It will ask for permission to send delivery logs to cloudwatch, allow that and save changes.

Once configured, you’ll be able to see delivery logs of your sent messages on this console. You can also access it from cloudwatch console.

You’ll also be able to view message analytics on SNS console.


Step 3. Add SNS Vendor settings on Suprsend dashboard

On the SuprSend dashboard, select Vendors from the left panel.

  1. Select 'SMS' channel from the list.
  2. Select the communication category from the list - System, Transactional, Promotional
  3. Click on 'Amazon SNS' from the list of Vendors

On the Vendor Settings page, add relevant details in the vendor form and Save


Form FieldDescription
NicknameYou can give any name which may help you to identify this account easily. For example - AWS SNS [Production]
AWS regionaws-region you are going to use for sending messages.
Access Key IDThis is the key ID linked to your IAM user. This is used to send messages on your behalf from your SNS account. Refer above section to get access key
Secret Access KeyThis is the secret access key linked to your IAM user. This is used to send messages on your behalf from your SNS account. Refer above section to get access key
Origination Phone NumberNumber through which your messages will be sent. Origination number is mandatory if you are sending to the USA; otherwise, you can leave this field empty
Sender IDYou can add your registered Sender ID here if you want to send messages with an alphanumeric code. Read more about Sender ID
Price per notificationThis is the amount you pay per email notification to SNS. It helps us to calculate, estimate and optimise your cost spent on notifications.


What’s Next

Create SMS template and add a workflow to start sending your SMS notifications