© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Engage with your customers using SMS text messages
E U C 3 2 8
Christin Wallace
Sr. Technical Product Manager D2L Corporation
Ilya Pupko
Sr. DUE Consultant
Amazon Web Services
Kadir Rathnavelu
Principal Product Manager Amazon Web Services
Agenda
Introductions: 5 mins.
Service overview: 5 mins.
Open discussion/Q&A: 35 mins.
D2L war story: 15 mins.
Let’s talk
Join us for EUC336 - Surprise and delight customers with location-based notifications at Aria, Plaza Level East, Orovada 3 Thurs., Dec 5, 2:30 pm Customer Engagement booth is at Venetian, Entrance Hall B
Contact us @ request-pinpoint-demo@amazon.com
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Built for scale
Managed service for personalized user engagement across channels, driven off analytics, which is
What is
Upwards of 20B 20B
notifications sent
per day across push,
email, and SMS
Five major pillars to Amazon Pinpoint
User
management Audience
management Targeting &
journey tools Channels Campaign insights
Five major pillars to Amazon Pinpoint
User
management Audience
management Targeting &
journey tools Channels Campaign insights
Five major pillars to Amazon Pinpoint
User
management Audience
management Targeting &
journey tools Channels Campaign insights
Five major pillars to Amazon Pinpoint
User
management Audience
management Targeting &
journey tools Channels Campaign insights
Five major pillars to Amazon Pinpoint
User
management Audience
management Targeting &
journey tools Channels Campaign insights
Five major pillars to Amazon Pinpoint
User
management Audience
management Targeting &
journey tools Channels Campaign insights
Amazon Pinpoint
Amazon Lex
• Build voice and text NLU
• Conversational automation
Amazon Polly
• Dynamic text to speech
• 59 persona, 29 languages
Amazon Machine Learning (Amazon ML)
• Machine learning for builders
• Shift the CX service orientation
Amazon Translate
• Automatic translation
Amazon Forecast
• Deliver highly accurate forecasts
• Product demand, resource needs (workforce planning)
Amazon Comprehend
• Natural language processing for sentiment/key-word matching
Amazon Connect
• Multi-channel contact center
Alexa for Business & home
• Integrate Alexa with your organization
AWS Lambda
• Run your code in response to events
• CTI on steroids
Amazon Transcribe
• Automatic speech recognition
• Real-time voice transcribing
Amazon Personalize
• Real-time personalization & recommendation
• Next best action ML engine
The AWS customer experience (CX) portfolio
Amazon IoT
Amazon Pinpoint
• Intelligent hub: Capabilities
• Forms the foundation for all communications channels
• Brings the channels together for easy analytics
• Once analytics are applied new segments and targets are created
• Then predications, recommendations, sentiment analysis, forecasting
• Morphs over time adopting new channels
• It’s critical to have one service that manages real-time data and works
with multiple data lakes and devices
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Educational software provider
Millions of users, thousands of clients worldwide
Subscription SMS-type notifications for the last 12 years
Who is
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
14 years in the Software industry
Led migration from collocated datacenters to AWS Cloud Now guiding our transformation to AWS native
Bridging development and end user concerns
Who am I
0 10 20 30 40 50 60 70
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1
2017 2018 2019
0 50 100 150 200 250 300 350 400 450
AVG DAYS TO RESOLVE CASES REPORTED
162
65
31
Ticket volume and resolution time 392
Significant bounced and dropped
Delivered not in line with to be delivered
Delayed SMS processing
0 100 200 300 400
MESSAGES IN THOUSANDS
Impaired delivery
Significant avg delay
A. Server IP blacklisted
B. IP unblocked
C. IP blacklisted again
D. More servers (IPs) added
A
B
AVG DELAY IN HOURS
40
35
30 25 20 15 10 5
Blocked
D C
▪ Deferred
▪ Sent
Delay inspection
Carrier Specific Rejections Garbage In, Garbage Out
Re-validation needed
0 30 60 90 120
MESSAGES IN THOUSANDS
Delivered SMS
Bounced SMS
Deferred SMS
Recipient parallels
Reduced Bounced and Dropped
Delivered now aligned with To Be Delivered
Improved SMS processing
0 100 200 300 400
MESSAGES IN THOUSANDS
Improved delivery
0 100 200 300 400
THOUSANDS
0 100 200 300 400
THOUSANDS
▪ To Be Delivered
▪ Delivered
▪ Bounced
▪ Dropped
Delivery review
0 50 100 150 200 250 300 350 400 450
Q1 Q2 Q3 Q4
2019
0 10 20 30 40 50 60 70
CASES REPORTED AVG DAYS TO RESOLVE
120 65
9 392
Ticket volume and resolution time improved
Relief architecture options
• Include paid SMS services (like Twilio)
• Build using cloud native
What’s next
SMS relief architecture
SMS relief architecture
•
SMS email routed to Amazon
Simple Email Service (Amazon SES)
inbox
SMS relief architecture
•
SMS email routed to Amazon
Simple Email Service (Amazon SES) inbox
•
Receipt rules
SMS relief architecture
•
SMS email routed to Amazon
Simple Email Service (Amazon SES) inbox
•
Receipt rules
• Store email in Amazon Simple Storage Service (Amazon S3)
• Trigger AWS Lambda
SMS relief architecture
•
SMS email routed to Amazon
Simple Email Service (Amazon SES) inbox
•
Receipt rules
• Store email in Amazon Simple Storage Service (Amazon S3)
• Trigger AWS Lambda
•
Data sent to Amazon Simple Queue
Service (Amazon SQS)
SMS relief architecture
•
SMS email routed to Amazon
Simple Email Service (Amazon SES) inbox
•
Receipt rules
• Store email in Amazon Simple Storage Service (Amazon S3)
• Trigger AWS Lambda
•
Data sent to Amazon Simple Queue Service (Amazon SQS)
• Maintain DLQ
• Trigger Lambda
SMS relief architecture
•
SMS email routed to Amazon
Simple Email Service (Amazon SES) inbox
•
Receipt rules
• Store email in Amazon Simple Storage Service (Amazon S3)
• Trigger AWS Lambda
•
Data sent to Amazon Simple Queue Service (Amazon SQS)
• Maintain DLQ
• Trigger Lambda
•
Process
SMS relief architecture
•
SMS email routed to Amazon
Simple Email Service (Amazon SES) inbox
•
Receipt rules
• Store email in Amazon Simple Storage Service (Amazon S3)
• Trigger AWS Lambda
•
Data sent to Amazon Simple Queue Service (Amazon SQS)
• Maintain DLQ
• Trigger Lambda
•
Process
• Retrieve message from Amazon S3
• Store SMS data
• Call Amazon Pinpoint SendMessage API
SMS relief architecture
•
SMS email routed to Amazon
Simple Email Service (Amazon SES) inbox
•
Receipt rules
• Store email in Amazon Simple Storage Service (Amazon S3)
• Trigger AWS Lambda
•
Data sent to Amazon Simple Queue Service (Amazon SQS)
• Maintain DLQ
• Trigger Lambda
•
Process
• Retrieve message from Amazon S3
• Store SMS data
• Call Amazon Pinpoint SendMessage API
resource "aws_pinpoint_app" "sms_pinpoint" { name = "${local.name_prefix}-pinpoint"
}
resource "aws_pinpoint_sms_channel" "sms_channel"{
application_id = "${aws_pinpoint_app.sms_pinpoint.application_id}"
enabled = "true"
}
Amazon Pinpoint setup
resource "aws_ses_receipt_rule" "ses_receipt_rule" { name = "${local.name_prefix}-ses_receipt_rule"
rule_set_name = "${aws_ses_receipt_rule_set.ses_sms_ruleset.rule_set_name}"
recipients = ["${var.d2lsms_mail_domain}"]
s3_action {
bucket_name = "${aws_s3_bucket.sms_bucket.id}"
position = 1 }
lambda_action {
function_arn = "${aws_lambda_function.ses_lambda_function.arn}"
position = 2 }
}
Amazon SES rule setup
try:
response = pinpointclient.send_messages(
ApplicationId = os.environ['applicationId'], MessageRequest = {
'Addresses': {
destinationNumber: {
'ChannelType': os.environ['channeltype']
} },
'MessageConfiguration': { 'SMSMessage': {
'Body': message,
'MessageType': os.environ['messagetype']
} }
}
Message delivery
Lessons learned
Lessons learned
• Provider issues can still happen
• When testing there is default throttling on mobile number
• Be aware and use multiple numbers for higher load tests
• Don’t forget to define your retention
• Do you want to track message data
• Do you legally need to store anything
• Amazon Pinpoint can do lots of things…
• It can be complicated so try simple first, then expand
• Can call just APIs without other pieces (ex. channels)
Lessons learned
• Provider issues can still happen
• When testing there is default throttling on mobile number
• Be aware and use multiple numbers for higher load tests
• Don’t forget to define your retention
• Do you want to track message data
• Do you legally need to store anything
• Amazon Pinpoint can do lots of things…
• It can be complicated so try simple first, then expand
• Can call just APIs without other pieces (ex. channels)
Lessons learned
• Provider issues can still happen
• When testing there is default throttling on mobile number
• Be aware and use multiple numbers for higher load tests
• Don’t forget to define your retention
• Do you want to track message data
• Do you legally need to store anything
• Amazon Pinpoint can do lots of things…
• It can be complicated so try simple first, then expand
• Can call just APIs without other pieces (ex. channels)
Lessons learned
• Provider issues can still happen
• When testing there is default throttling on mobile number
• Be aware and use multiple numbers for higher load tests
• Don’t forget to define your retention
• Do you want to track message data
• Do you legally need to store anything
• Amazon Pinpoint can do lots of things…
• It can be complicated so try simple first, then expand
• Can call just APIs without other pieces (ex. channels)
Lessons learned
• Provider issues can still happen
• When testing there is default throttling on mobile number
• Be aware and use multiple numbers for higher load tests
• Don’t forget to define your retention
• Do you want to track message data
• Do you legally need to store anything
• Amazon Pinpoint can do lots of things…
• It can be complicated so try simple first, then expand
• Can call just APIs without other pieces (ex. channels)
Lessons learned
• Provider issues can still happen
• When testing there is default throttling on mobile number
• Be aware and use multiple numbers for higher load tests
• Don’t forget to define your retention
• Do you want to track message data
• Do you legally need to store anything
• Amazon Pinpoint can do lots of things…
• It can be complicated so try simple first, then expand
• Can call just APIs without other pieces (ex. channels)
Lessons learned
• Provider issues can still happen
• When testing there is default throttling on mobile number
• Be aware and use multiple numbers for higher load tests
• Don’t forget to define your retention
• Do you want to track message data
• Do you legally need to store anything
• Amazon Pinpoint can do lots of things…
• It can be complicated so try simple first, then expand
• Can call just APIs without other pieces (e.g., channels)
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Thank you!
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.