Book Image

Hands-On Chatbot Development with Alexa Skills and Amazon Lex

By : Sam Williams
Book Image

Hands-On Chatbot Development with Alexa Skills and Amazon Lex

By: Sam Williams

Overview of this book

Have you ever wondered how Alexa apps are made, how voice-enabled technologies work, or how chatbots function? And why tech giants such as Amazon and Google are investing in voice technologies? A better question is: why should I start developing on these platforms? Hands-On Chatbot Development with Alexa Skills and Amazon Lex covers all features of the Alexa Skills kit with real-world examples that help you develop skills to integrate Echo and chatbots into Facebook, Slack, and Twilio with the Amazon Lex platform. The book starts with teaching you how to set up your local environment and AWS CLI so that you can automate the process of uploading AWS Lambda from your local machine. You will then learn to develop Alexa Skills and Lex chatbots using Lambda functions to control functionality. Once you’ve come to grips with this, you will learn to create increasingly complex chatbots, integrate Amazon S3, and change the way Alexa talks to the user. In the concluding chapters, we shift our focus to Amazon Lex and messaging chatbots. We will explore Alexa, learn about DynamoDB databases, and add cards to user conversations. By the end of this book, you will have explored a full set of technologies that will enable you to create your own voice and messaging chatbots using Amazon.
Table of Contents (13 chapters)

HTTP endpoint

It's great that Lex makes it so easy to integrate our chatbot into Facebook, Slack, and Twilio, but we might also want to have our chatbot integrate into other services that don't have built-in integrations. For this, we can create an API endpoint for sending messages to our Lex chatbot.

With AWS, we are lucky that they let you create an API with Lambdas and API Gateway. This means that we don't need to run a server, which means less work for us.

Creating the Lambda

We start by creating a new folder in our Lambdas repository called lex-shopping-api with an index.js file inside. In this file, we can start by exporting a handler that checks that the event was a POST request and calls sendToLex to...