In the last article of this tutorial series, we learned what are chatbots and how we can create 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.
Following is the four-tutorial series to learn how to develop a chatbot using Amazon Lex service and deploy the same on Facebook Messenger.
- Creating a Chatbot using Amazon Lex Service: Day 1 (Initial Bot)
- Creating a Chatbot using Amazon Lex Service: Day 2 (AWS Lambda Functions)
- Creating a Chatbot using Amazon Lex Service: Day 3 (Slots in AWS Lex)
- 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.
- Go to Services search option and type Lambda. You’ll get the suggestion options, choose the Lambda as shown.
- You’ll be landed to AWS Lambda page. Click on Create a function to create a new lambda function for fulfillment.
- Select the option to author from scratch as shown below.
- Provide the 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 a simple python code and return the result.
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.
- Test the function implementation by clicking the Test button and if everything is fine the test execution will show the result as succeeded.
- Now go back to the Intent and under fulfillment when AWS Lambda option is chosen, the recently created function is available. Choose that function.
- Again, build your bot.
- 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.
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 the programming language of your choice to create a 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.