QnA Bot Node

Understand what a QnA Bot node is and how to configure it

Use a QnA Bot Node where the interactions with users are restricted to answering specific queries from a corpus or knowledge-base with minimal turn-taking involved.

📘

Prerequisite

QnA Bot and Task Bot nodes are available only to clients who have subscribed to Bot Builder add-on. Please get in touch with your account manager if you'd like to enable it for your tenant.

Drag-and-drop the QnA Bot node on to the visual flow builder. This node helps you to leverage QnA bots configured within the Bot Builder app to automate response handling for frequently asked questions using a corpus of knowledge articles.

QnA bot Node

QnA bot Node

📘

Node version

It's recommended to use the newest/latest available version of the node to access all the features.

Methods and Outcomes

The QnA bot node contains two methods - Process message (to get a response from the bot) and Close session (to end the bot session)

Method Name - Process Message

This is the main method in QnA bot node. Using this, developers can send the user messages to selected bot and get bot responses back. Here are the input variables for configuring the node:

Input fieldsDescription
BotThe bot that will be used to process the user message and get a response.
Users will only be able to see the bots that they have access to in the bot builder. More information on managing bot builder users and the bots they access to.
MessageThe variable name that contains the incoming customer message to be sent to the selected bot.
LanguageIf the selected bot is multi-lingual, you can select the language of incoming message in the Language dropdown. The dropdown list is populated based on languages in bot settings.
For bots with a single language, this dropdown is disabled.
ChannelName of the channel that the user's message is received from.
User identifierNext to the channel dropdown, the name of the field changes based on channel selected. User's unique identifier for the selected channel should be provided here.
Customer Parameters (Optional)Additional information about the customer can be passed to the bot builder as a key value pair. This is information is associated with the user's profile in Bot builder and can be used for later conversations. For example, you can specify whether a user is a new customer or existing customer.
Keys passed as 'Customer parameters' are accessible as ${consumerData.extra_params.<your_key>} in bot builder.
Message Parameters (Optional)Additional information about the current exchange can be passed to the bot builder as a key value pair. This message is not stored and is only available for use in the next bot response.
Keys passed as 'Message parameters' are accessible as ${extra_params.<your_key>} in bot builder.
Node configuration

Node configuration for Process Message method

Output variables

Output variables of the 'Process Message' method in QnA bot node:

  • TextResponse - the text output configured within Bot; works only if no other type of
    rich/special elements are present. Also for multiple text items in the response, returns the first one.
  • FullResponse - the full response with all rich elements and multiple messages present in the output from bot. Sends information as an array.
  • Datastore - a JSON/dict of all user-defined sessions variables within the bot.
  • Article - the name of the top article identified from the user’s message.
  • TransactionId - the transaction id for the request in bot builder.
  • SessionId - the session/conversation id in bot builder.
  • ConsumerId - the customer id in bot builder.
  • PotentialArticles - a list of articles which closely matched with the user’s message.
  • AgentHandover - when the bot wants to handover the chat to an agent, the handover flag changes to true when bot requests for agent handover, else false.
  • CategoryName - category name of the top article identified from the user’s message.
  • LiveChatRichResponse - Transformed payload for quick replies and carousels that can be used in In-app nodes used of live chat channel.
  • PreviousIntent - the article that was detected for the previous user message in the same session. Null for first user message in a session.
  • ResponsePayload - the complete response payload from bot builder.

Method name - Close Session

This method can be used to close a session in the bot builder. If the flow logic demands that the bot session should be closed and future messages from the user should go to a new bot session, developers can use this method to close the existing session. For example, when the receive node times out, flow developers can close the bot session to ensure that a new session is initiated for the next user message.

Input variables for configuring the node:

Input fieldsDescription
BotThe bot that will be used to process the user message and get a response.
Users will only be able to see the bots that they have access to in the bot builder. More information on managing bot builder users and the bots they access to.
Session IDThe bot builder session that should be closed. Session ID is available as an output variable of the Process message method.
Node configuration for Close Session method

Node configuration for Close Session method

Node outcomes

You can see the list of possible node outcomes for this node under this pane. You can customize the node labels using the Edit (pencil) icon. The node exits through one of the node edges corresponding to the outcome of the node. Each QnA node corresponds to a node outcome.

Node EdgeNode Event/Outcome
Error (Red)onError - when the bot has not responded with a message
onInvalidCustomerID - when customer identifier is missing
onInvalidMessage - when message value is missing
Success (green)onSuccess - when the bot responds with a message
onAgentHandover - when the bot raises a request to handover to the agents
Timeout (yellow/amber) onTimeOut - when the bot has not responded in not more than 15 seconds

Node versions

Following versions are currently available in the node

VersionDescription/Enhancements
v1.3Fixed a bug in v1.2 where onAgentHandover was not triggered at the time of handover.
v1.2Renamed channel names and customer identifiers.
v1.1Base version - replica of native bot nodes.