An Alexa skill to use it as a personal assistent.
Here is the Alexa Request Flow for reference.
- Receive and send a voice request from Amazon echo or echo plus
- Amazon Voice Service (AVS) receve the voice request and convert to text message
- Send the Text message to identify the appropriate skill Alexa Skills Kit (ASK). This is done based on the Developer Tools to identify/process the Utterances, Intents and Slots
- Construct the a request object based on the appropriate/identified Utterances, Intents and Slots
- Call the configured endpoint based on the constructed Request object
- Process the request and send the response to AVS in SSML
- Process the response and send to Amazon Echo in voice format
Make sure you have Node.js and the Heroku Toolbelt installed.
git clone https://github.com/puttareddy/yashu-alexa-skill.git # or clone your own fork
cd yashu-alexa-skill
npm install
npm start
Your app should now be running on http://localhost:8080.
For testing purposes, you can use either ngrok or localtunnel before you deploy the app to any cloud hosted environments
You can access a test page to verify if the basic setup is working fine: http://localhost:8080/test.
heroku create
git push heroku master
heroku open
Alternatively, you can deploy your own copy of the app using this button:
Your app should now be running on https://<app-name>
.herokuapp.com, where <app-name>
is the heroku app name.
You can access a test page to verify if the basic setup is working fine: https://<app-name>
.herokuapp.com/test.
- Sign into AWS Developer Console, https://developer.amazon.com.
- Choose Alexa, Alexa Skill Kit
- Add a New Skill
- Fill Out Forms with INTENTS and UTTERANCES values from the above deployed endpoint. Invoke and copy these values from the
/test
endpoint from the above deployed application. - Choose
HTTPs
in Service Endpoint Type in the Alexa app configuration on developer.amazon.com and point to deployed app athttps://<app-name>.herokuapp.com/test
. Application name would change based on where it is deployed.
OR
- Just specify the Lambda ARM, if you deploy it as a Lambda function
The skill is now available in http://alexa.amazon.com.
- Alexa, ask yashu to tell about puttareddy.
- Alexa, ask yashu who is Murali.
- Alexa, ask yashu my age is 30.
- Alexa, ask yashu my name is puttareddy and I am 30 years old.
This Alexa Skill is built by using the alexa-app module with Express.