Canvas with the Amazon Echo

An Alexa skill created for the Amazon Echo

April 14, 2016

What is the Amazon Echo and Alexa?

The Amazon Echo is a hands free speaker you control with your voice. Alexa is the voice recognition service, also offered by Amazon, that allows users to interact with the speaker and also let developers create "skills" for the speaker. A skill is simply a custom way to interact with the speaker which allows developers to control most anything from a user's voice.

ACM Presentation Slides on Echo and Alexa

What is Canvas?

Canvas is an LMS (Learning Management System) created by Instructure and used by Miami University as of 2015. One important part of Canvas is that they have an API that allows developers to work with canvas from most any programming environment. In this case, we are able to access canvas using a Lambda Function called by an Alexa Skill.

The Project

My Alexa Skill allows me to ask my Echo for my current grades, which are then read back to me after retrieving my grades from Canvas using its API. Unfortunately, it is difficult to demonstrate the code due to is being integrated into the speaker, however the source code for the Lambda function is available on my GitHub. From the Alexa Developer Console, I create my skills and tie an interaction model to my Lambda function. Every time my interaction model is called, Alexa makes a call to my function which returns my grade data from Canvas which is then sent back to the speaker.

Lambda Function Written in NodeJS