Creating A Chatbot Using Amazon Lex Service - Day Two - AWS Lambda Functions

In the last article of this tutorial series, we learned what chatbots are and how we can create a basic chatbot using Amazon Lex service. In this article, we will learn how to create Lambda functions in AWS and hook to the chatbot that we created in the last article.

In the previous part, we created a basic chatbot using Amazon Lex service.  We learned how to set up an AWS account and test the bot. In this article, we’ll learn how to create Lambda functions in AWS and hook to the chatbot that we created in the last article.

Series Info

Following is the four-tutorial series to learn how to develop a chatbot using Amazon Lex service and deploy the same on Facebook Messenger.

  1. Creating a Chatbot using Amazon Lex Service: Day 1 (Initial Bot)
  2. Creating a Chatbot using Amazon Lex Service: Day 2 (AWS Lambda Functions)
  3. Creating a Chatbot using Amazon Lex Service: Day 3 (Slots in AWS Lex)
  4. Creating a Chatbot using Amazon Lex Service: Day 4 (Facebook Messenger Integration)

AWS Lambda Function

Let’s enable our bot to use a Lambda function, i.e., the defined business logic that a bot executes for fulfillment, i.e., for the user when he types ”yes”. In the Fulfillment section of the intent, choose AWS Lambda function. This will ask you to provide a Lambda function but since we do not have one, we need to create it before we use it.

Creating A Chatbot Using Amazon Lex Service - AWS Lambda Functions 
  1. Go to Services search option and type Lambda. You’ll get the suggestion options, choose the Lambda as shown.

    Creating A Chatbot Using Amazon Lex Service - AWS Lambda Functions
  1. You’ll be landed on the AWS Lambda page. Click on Create a function to create a new lambda function for fulfillment.

    Creating A Chatbot Using Amazon Lex Service - AWS Lambda Functions
  1. Select the option to author from scratch as shown below.

    Creating A Chatbot Using Amazon Lex Service - AWS Lambda Functions
  1. Provide a name to the function. You can choose any runtime you are comfortable with to write the code. I am choosing here Python 3.7 to write simple Python code and return the result.

    Creating A Chatbot Using Amazon Lex Service - AWS Lambda Functions
  1. Click on Create function and you’ll see the option to write the code. Choose “Edit code inline”. The Handler details are pre-populated i.e. “function name.handler name”. Write the function to return the text as “Our working hours are 9 AM to 6 PM IST on weekdays” as shown below.

    Creating A Chatbot Using Amazon Lex Service - AWS Lambda Functions
  1. Test the function implementation by clicking the Test button and if everything is fine the test execution will show the result as succeeded.

    Creating A Chatbot Using Amazon Lex Service - AWS Lambda Functions
  1. Now go back to the Intent and under fulfillment when the AWS Lambda option is chosen, the recently created function is available. Choose that function.

    Creating A Chatbot Using Amazon Lex Service - AWS Lambda Functions
  1. Again, build your bot.

    Creating A Chatbot Using Amazon Lex Service - AWS Lambda Functions
  1. Now when you test the bot and after the confirmation of the bot if you type yes that means the fulfillment needs to be called and the bot here returns the text that we provided as a return text in the lambda function. So, our fulfillment and the lambda function work fine.

    Creating A Chatbot Using Amazon Lex Service - AWS Lambda Functions

Conclusion

In this article of the tutorial series, we learned how to create an AWS Lambda function and hook to the existing chatbot that was created in the last article. You can choose a programming language of your choice to create the Lambda function and provide custom functionality/business logic to be hooked to the bot. In the next article, we’ll discuss Slots and how to work with Slots in Amazon Lex.