The document discusses building Alexa skills with Java on AWS. It outlines the process of creating an Alexa skill which includes defining intents and slots in the Alexa developer portal, developing Lambda functions to handle intents, and using DynamoDB for data persistence. It then demonstrates how to create a skill interface, develop Lambda functions to handle intents, extract data using slots, and store data in DynamoDB.
2. Outline
• Understand Requirements
• Create the skill interface
• Develop Lambda for handling intents
• Use slots to extract data
• Use DynamoDB to persist data
3. About Me
SLIDE # 3
Buddha Jyothiprasad
@prbuddha
Controlspace.info
JUG Lead for Hyderabad Java User
Group, Open source Contributor and an
Author at Pluralsight
Personal Skills Work Experience
SDE
Amazon
Developer
Oracle
Test Automation Engg.
IBM
AWS
JavaFX
Java
Automation
4. Disclaimer
I’m not representing Amazon’s view nor this should be treated as marketing for an
Amazon’s product. I did not work in Alexa team, so I can be wrong in some
aspects. Please do not mind.
6. How does it work
SLIDE # 6
Alexa voice
service
Echo
7. How does it work
SLIDE # 7
Alexa voice
service
Echo
Lambda
function
Traditional
server
8. How does it work
SLIDE # 8
Alexa voice
service
Echo
Lambda
function
Traditional
server
Alexa enabled device Amazon dev portal Service endpoints
9. Lets get technical
COMPANY NAME SLIDE # 9
User command
User of Alexa
gives a
command
Listen
Alexa enabled
devices listens
the commands
Send to cloud
Device sends
the command to
Alexa Service
Understand
Alexa skill
understands the
intent
10. Lets get technical
COMPANY NAME SLIDE # 10
command
of Alexa
a
mand
Listen
Alexa enabled
devices listens
the commands
Send to cloud
Device sends
the command to
Alexa Service
Understand
Alexa skill
understands the
intent
Invoke Code
Alexa voice
service calls
lambda
11. Lets get technical
COMPANY NAME SLIDE # 11
Invoke Code
Alexa voice
service calls
lambda
Data
If required data
is fetched from
dynamo db
Logging
Any errors are
logged to cloud
watch by
12. Lets get technical
COMPANY NAME SLIDE # 12
Invoke Code
Alexa voice
service calls
lambda
Data
If required data
is fetched from
dynamo db
Logging
Any errors are
logged to cloud
watch by
13. Lets get technical
COMPANY NAME SLIDE # 13
Handle response
Textual
response is
received
Invoke Code
Alexa voice
service calls
lambda
Data
If required data
is fetched from
dynamo db
Logging
Any errors are
logged to cloud
watch by
14. Lets get technical
COMPANY NAME SLIDE # 14
Response Prep
Response to
audio and card
Handle response
Textual
response is
received
Invoke Code
Alexa voice
service calls
lambda
Data
If required data
is fetched from
dynamo db
Lo
An
log
wa
15. Lets get technical
COMPANY NAME SLIDE # 15
Play response
Response
received is
announced
Response Prep
Response to
audio and card
Handle response
Textual
response is
received
Invoke Code
Alexa voice
service calls
lambda
Data
If req
is fetc
dynam
16. Lets get technical
COMPANY NAME SLIDE # 16
User is happy
Can enjoy with
his freed hands
Play response
Response
received is
announced
Response Prep
Response to
audio and card
Handle response
Textual
response is
received
17. Process To Create an Alexa Skill
Create skill in Alexa
developer portal
Intent Slots Interfaces
Create several intents
to capture User’s
intention
Any data to be
extracted with the help
of slots
Configure any
interfaces like audio
player etc.,
18. Process To Create an Alexa Skill
Create skill in
Alexa
developer
portal
Intent Slots Interfaces
Create several intents
to capture User’s
intention
Any data to be
extracted with the help
of slots
Configure any
interfaces like audio
player etc.,
• What is the weather today
• Please tell me today’s news
• Add milk to my shopping list
• Add slides preparation in
TODO
• Please play music by Lady
Gaga
19. Process To Create an Alexa Skill
Create skill in
Alexa
developer
portal
Intent Slots Interfaces
Create several intents
to capture User’s
intention
Any data to be
extracted with the help
of slots
Configure any
interfaces like audio
player etc.,
• What is the weather today
• Please tell me today’s news
• Add milk to my shopping list
• Add slides preparation in
TODO
• Please play music by Lady
Gaga
20. Process To Create an Alexa Skill
Create skill in
Alexa
developer
portal
Intent Slots Interfaces
Create several intents
to capture User’s
intention
Any data to be
extracted with the help
of slots
Configure any
interfaces like audio
player etc.,
• What is the weather today
• Please tell me today’s news
• Add milk to my shopping list
• Add slides preparation in
TODO
• Please play music by Lady
Gaga
21. Process To Create an Alexa Skill
Create skill in
Alexa
developer
portal
Intent Slots Interfaces
Create several intents
to capture User’s
intention
Any data to be
extracted with the help
of slots
Configure any
interfaces like audio
player etc.,
• What is the weather today
• Please tell me today’s news
• Add milk to my shopping list
• Add slides preparation in
TODO
• Please play music by Lady
Gaga
22. Process To Create an Alexa Skill
Create skill in
Alexa
developer
portal
Intent Slots Interfaces
Create several intents
to capture User’s
intention
Any data to be
extracted with the help
of slots
Configure any
interfaces like audio
player etc.,
• Today you can expect rain
• India and Pakistan made peace
• Milk is added to your shopping
list
• Slides preparation Added in
TODO
• Shuffling music by Lady Gaga
23. Process To Create an Alexa Skill
Create skill in Alexa
developer portal
Intent Slots Interfaces
Create several intents
to capture User’s
intention
Any data to be
extracted with the help
of slots
Configure any
interfaces like audio
player etc.,
24. Process To Create an Alexa Skill
Create skill in Alexa
developer portal
Intent Slots Interfaces
Create several intents
to capture User’s
intention
Any data to be
extracted with the help
of slots
Configure any
interfaces like audio
player etc.,
Configure EndPoint
25. Process To Create an Alexa Skill
Create skill in Alexa
developer portal
Intent Slots Interfaces
Create several intents
to capture User’s
intention
Any data to be
extracted with the help
of slots
Configure any
interfaces like audio
player etc.,
Configure EndPoint
Develop Lambda Deploy Lambda Give required permissions
26. Demo
• Create the skill interface
• Develop Lambda for handling intents
• Use slots to extract data
• Use DynamoDB to persist data