Chat with us if you have any questions!

QnA Maker Integration

See how easily Chime can integrate with QnA Maker


The QnA Maker Virtual Agent enables Chime users to use Microsoft's QnA Maker Cognitive Service. Before routing into a queue, the Virtual Agent intercepts the chat session and will query a QnA Maker knowledge base to find any relevent documentation, FAQs, product manuals, or other files. The Seeker will then be able to see answers to their question without ever needing to route to an Agent. This page will cover how to download, configure and deploy a QnA Maker Virtual Agent onto your Chime server as well as provide a guide to building your own custom QnA Maker Virtual Agent.

Many customers may choose to expose the QnA service via a bot utilizing Microsoft’s bot framework (or possibly bot kit). The approach described below removes any requirement to develop an additional ‘bot’ and instead places the QnA integration directly within an existing Instant Chime queue. This integration allows the QnA instance to provide immediate value and enables a ‘route to human’ experience in the event that the question is not resolved via the QnA documents. In the event that the initial question is resolved using QnA, the conversation is marked as resolved and stored to the Instant Chime database – just like any other chat interaction.

Quick-start guide for deploying the QnA Maker Virtual Agent

QnA Maker Virtual Agent (zip)

Basic Steps

  1. Navigate to the knowledge bases in which you have access. If you do not have any knowledge bases, either create a knowledge base, or gain access to the app service in Azure.
  2. Before setting up your Virtual Agent, you will need to have knowledge bases set up that you will be able to request information from. If you would like to learn more information about QnA Maker and knowledge bases you can read Microsoft's documentation.
  3. Click the "View Code" link on the knowledge base that you want to connect to the QnA Maker. This will open up a sample HTTP Request. From this sample request, record the knowledge base Id, Host URI, and the Endpoint Key (these will be used later).
  4. Download the Qna Maker Virtual Agent zip and extract the contents. Inside the folder will be three files: QnAMaker.dll, QnA.json, and Newtonsoft.Json.dll.
  5. Open the QnA.json file with a text editor. The file contains an example of what a default settings and text resourcing setup for the QnA Maker Virtual Agent would look like. Before you can start using the Virtual Agent these settings will need to be filled out. The settings file has many options in it, but for right now we will keep it simple and show how to get started quickly. Later, there will be an entire section covering all of the settings and set up options you have.
  6. To get the Virtual Agent up and running, you will need to fill out the information that you recorded earlier from your knowledge base (Knowledge Base Id, Azure Service Name, and Endpoint Key)
  7. Save your changes, then copy all three of the files from the zip file and navigate to the directory where you have Chime installed. Paste the files into the Plugins folder. Note: you will need to stop your Chime Service before adding in the Virtual Agent files.
  8. Restart your Chime Service.
  9. In the Chime WebUI, Navigate to Admin -> Virtual Agents. Check that there is a row in the table showing "QnA Maker Virtual Agent". On the right side of the table, the File Availability column should read "Found". If it shows as "Not Available" something went wrong with the setup (if this happens, contact and we will be able to help resolve the issues).
  10. Next, check the Status column. The first time you load a Virtual Agent the value will be set to "Disabled". If you click on the label, you will be able change it from "Disabled" to "Enabled".
  11. Once the Virtual Agent is Enabled, you will be able to add it to any of your queues as a Conversational Virtual Agent.

Using the Virtual Agent

Learning the QnA.json settings format

Using json allows us to have a simple way to store all data for the queue you are using, the knowledgebase information, and text resourcing you will need to use for the Virtual Agent. The json file was constructed so that you can create a settings profile for any queue that you want to use the Virtual Agent on. In addition to queue settings, you can also setup a default setting profile that will be used if there is no queue settings that match the queue you are using.

Before going over what each individual setting does, we will explain the structure of the settings file:

The Settings Profile consists of three things:

Customization options

In this section we will cover the three major customization tools you have in the QnA.json file; adding in new Settings profiles, using the default Settings Profile, and the different ways you can tweak the settings options to access different features. Additionally, we will include some helpful tips and tricks as well as some warnings about actions that could cause the Virtual Agent to malfunction.

Adding in new Settings Profiles

Default Settings Profile

Accessing Different Features


Have a question about Chime integration with QnA Maker? Ask one of our developers at