This post is part of “ ” series. I will walk you through how to build an with and to get numbers of followers & repositories in in real-time. Alexa Amazon Alexa Skill Node.JS Lambda GitHub Note: all the code is available in my . GitHub will captures voice commands and send them to the to convert them into structured text commands. A recognized command is sent to an function that will call to get response. Amazon Echo Alexa Skill AWS Lambda GitHub API To get started, sign up to , and create a new Alexa Skill: Amazon Developer Console The invocation name is what user will say to trigger the skill. In our case it will be “ “. github Click on “ ” to bring up the page, use the intent schema below: Next Interaction Model Intents will map user’s voice command to services that our Alexa skill can address. For instance, here I defined an intent called , which will line up with a portion of code in my Lambda funtion that I leverage in a bit. GetGithubFollowerCount The programming languages are defined as a , with the following possible values: Custom Slot Type GoJavaPythonCC++JavascriptHTMLScalaOcamlNodeJSRubyPHPCSSC#PerlShellObjective C Now our intents are defined, we need to link them to a human request that will trigger this linkage. To do this multiple sentences ( ) are listed to make the interaction as natural as possible. utterances GetGithubFollowerCount how many followers do I haveGetGithubFollowerCount current followersGetGithubFollowerCount number of followers GetGithubRepositoryCount how many repositories do I haveGetGithubRepositoryCount number of repositoriesGetGithubRepositoryCount current repositories GetGithubRepositoryCountByLanguage how many {Language} repositoriesGetGithubRepositoryCountByLanguage number of {Language} repositoriesGetGithubRepositoryCountByLanguage current {Language} repositories Result: Click on “ ” and you will move onto a page that allows us to use an (Amazon Resource Name) to link to AWS Lambda. Next ARN Before that, let’s create our lambda function, login to , then navigate to and create a new function from scratch: AWS Management Console Lambda Dashboard Select as trigger: Alexa Skills Kit I wrote the Lambda functions in , although that code isn’t actually that interesting so I won’t go into it in much detail. Node.JS This function is fired when there is an incoming request from Alexa. The function will: Process the request Call GitHub API Send the response back to Alexa Create a file consisting of the function above and any dependencies ( ). Then, specify the file name as your deployment package at the time you create the Lambda function. Don’t forget to set your as an environment variable: zip node_modules .zip GitHub Username Back in the we need to link our Lambda function as our endpoint for the Alexa Skill: Alexa Skill That’s it, let’s test it out using a by clicking on “ “. Service Simulation Next GetFollowerCount Intent : : GetRepositoryCount Intent GetGithubRepositoryCountByLanguage Intent: You can see that the Lambda responds as expected ! Test it now with , by saying “ ” : Amazon Echo Alexa, ask GitHub for …