Using Alexa Skills Kit, we can create compelling, hands-free voice experiences by adding our skills to Alexa. Users can access these capabilities on any Alexa-enabled device by merely asking Alexa a question.
The user interacts with the Alexa device to trigger the skill set. This customized skill set, written using Flask-ask framework of Python resides in the AWS Lambda and is accessible via the API Gateway. The contents of the interaction model reside in the in-house DynamoDB, and the S3 storage is utilized to archive the documents. The user can initiate a mailing module, which delivers the mail using AWS Simple Notification Service.
Lambda code setup
- Install required python package using,
pip install awscli virtualenv flask-ask zappa
- (Optional)
aws configure
can be used to provide access and secret key - Create a folder using
mkdir flask-zappa-alexa
- Move to the folder directly with
cd flask-zappa-alexa
- Start the virtual environment using
source venv/bin/activate
. This is for Mac - Create a file
vi main.py
- Upload the code into the file
main.py
- Initialize zappa with
zappa init
. Use default 'yes' for all entries - Deploy zappa using
zappa deploy dev
where dev stands for the stage/environment - Write down the endpoint obtained from this link
https://xxxxxxxxxx.execute-api.us-east-1.amazonaws.com/dev
- (Optional) Inorder to redeploy the code after changes, update zappa using
zappa update dev
Alexa skill set creation
- Create an Alexa application using this tutorial
Testing
- Echosim.io - a browser-based Alexa skill testing tool that makes it easy to test your skills without carrying a physical device everywhere you go.
- Unit Testing with Alexa - a modern approach to unit testing your Alexa skills with Postman and Amazon API Gateway
- As websites store more and more information, users often find it harder and harder to get to what they want.
- Some users (those with visual impairment / accessing from a mobile) see the great graphics layout of most websites off-putting.
- The cost of maintenance of web page along with customer service agent is much higher in the traditional model
- The adoption of naive and niche technology is required to keep pace with the growing technology
- Increased customer satisfaction
- Reduced Cost of ownership
- Increased revenue
- Win more customers