QnABot on AWS is a multi-channel, multi-language conversational interface (chatbot) that responds to your customer’s questions, answers, and feedback. It allows you to deploy a fully functional chatbot across multiple channels including chat, voice, SMS, and Amazon Alexa. 


Enhance your customer’s experience

Provide personalized tutorials and question and answer support with intelligent multi-part interaction. Use the Command Line Interface (CLI) to import and export questions from your QnABot setup. Use Amazon Kendra natural language processing (NLP) capabilities to better understand human questions. Import questions and answers and session attributes from an Excel file.

Reduce call center wait times

Automate customer support workflows.

Implement the latest machine learning technology

Create engaging, human-like interactions for chatbots. Use intent and slot matching to implement different types of question-and-answer workflows.

AWS Solution overview

The diagram below presents the architecture you can automatically deploy using the AWS Solution's implementation guide and accompanying AWS CloudFormation template.

QnABot on AWS solution architecture

The AWS CloudFormation template deploys the following workflows and services:

  1. The admin deploys the guidance into their AWS account, opens the Content Designer UI, and uses Amazon Cognito to authenticate.
  2. After authentication, Amazon CloudFront and Amazon Simple Storage Service (Amazon S3) deliver the contents of the Content Designer UI.
  3. The admin configures questions and answers in the Content Designer and the UI sends requests to Amazon API Gateway to save the questions and answers.
  4. The Content Designer AWS Lambda function saves the input in Amazon OpenSearch Service in a questions bank index.
  5. Users of the chatbot interact with Amazon Lex via the Web Client UI or Amazon Connect.
  6. Amazon Lex forwards requests to the AWS Lambda (Bot Fulfillment) function. Users can also send requests to this Lambda function via Amazon Alexa devices.
  7. The Bot Fulfillment function takes the users input and uses Amazon Comprehend and Amazon Translate (if necessary) to translate non-English requests to English and then looks up the answer in Amazon OpenSearch Service. If Amazon Kendra index is configured and provided at the time of deployment, the Bot Fulfillment function also sends a request to the Amazon Kendra index.
  8. User interactions with Bot Fulfillment functions generate logs and metrics data, which is sent to Amazon Kinesis Data Firehose then to Amazon S3 for later data analysis.

You can add Amazon Connect and Amazon Kendra to this solution’s architecture.

QnABot on AWS

Version 5.2.6
Released: 01/2023
Author: AWS

Estimated deployment time: 30-45 min

Estimated cost  Source code  CloudFormation template 
Use the button below to subscribe to updates for this solution.
Note: To subscribe to RSS updates, you must have an RSS plug-in enabled for the browser you are using.
Did this Solutions Implementation help you?
Provide feedback 
Build icon
Deploy an AWS Solution yourself

Browse our library of AWS Solutions to get answers to common architectural problems.

Learn more 
Find an APN partner
Find an AWS Partner Solution

Find AWS Partners to help you get started.

Explore icon
Explore Guidance

Find prescriptive architectural diagrams, sample code, and technical content for common use cases.

Learn more