Automate tasks with SMS via Amazon Pinpoint

Written by: Chirag (Srce Cde)

I have been exploring Amazon Pinpoint for a while and came across two-way SMS support where a user can send an SMS to communicate with the AWS service. For example in the banking sector, the two-way SMS feature is leveraged for mobile number verification during app download. With this feature, one can automate a number of tasks. Here, is the flow that we are looking at.

aws pinpoint workflow

Now, let’s see how we can set it up.

Request Long codes

Note: If you do not request long codes then your AWS Pinpoint account will be in a sandbox mode and cannot send SMS to users unless verified

To set up Amazon Pinpoint, dedicated long codes are required which is something you have to request via the AWS Service Limit Increase support case.

Long codes are phone numbers or virtual numbers which are different for different countries.

Open a Service Limit Increase support case with the required details as shown below.

aws pinpoint create case

After filling above details, next you have to add request in terms of Region, Resource Type, Limit and New Limit value. And multiple request can be added.

aws pinpoint ss

Task automation

We will use the AWS Lambda function to perform task automation which is further subscribed to the SNS topic (which we will create in the upcoming section). However, it could be anything else other than lambda function depending on the use-case

As a next step a create lambda function. Your automation/business logic will go into the lambda function like for example you want to start the demo instance when you are unable to reach your system or it could be an important communication or watering your plants via IoT while you are on vacation and many more.

aws pinpoint ss

Create SNS topic

The SNS topic will work as a bridge between Amazon Pinpoint and the Lambda function or other service (that you want to integrate for automation)

create sns topic

After creating the SNS topic, create lambda subscription.

create sns subscription

Amazon Pinpoint Setup

Once the support request is processed, setup Amazon Pinpoint.

Create a project

amazon pinpoint

Configure SMS and voice

amazon pinpoint features

Enable the SMS channel for this project and select Transactional as default message type with Account spending limit.

amazon pinpoint setup sms

Navigate to SMS and voice under project settings to request phone number. Select the country and make sure that SMS channel is enabled.

amazon pinpoint define phone number

Once you receive the phone number, open that.

amazon pinpoint number settings

Scroll down to Two-way SMS and enable it. For incoming messages destination select the SNS topic that we have created in the previous steps. Additionally, you can configure Keyword for an automated response.

amazon pinpoint two way sms

Once, the above configuration is done you can send an SMS from your mobile phone and relax. This is how the response looks like.

Once, you send the message it will pass the payload to the SNS topic which will trigger a lambda function to perform automation.

You can also refer to a mentioned hands-on video where I have demonstrated the automation of the start & stop of an EC2 instance along with the email notification.

Happy automation!