Questions are replies the user types that don't correspond to a button the chatbot has sent. They may be actual questions, such as "how much do tickets cost?", statements indicating the user's intent, such as "book appointment", complaints, requests, updates or other responses.
An Inbound Question is a question that leads into a passage. For example:
- For a passage that is the first step of booking an appointment, an inbound question might be "book an appointment".
- For a passage that tells the user what your fees and charges are, an inbound question might be "what are the fees".
Inbound questions are defined in a passage's Inbound Questions screen.
What if none of my passages match?
When a user sends a question that your chatbot can't match, it uses its Catch-All passage response, configured in the Fallback settings. You can configure a specific Catch-All to be used in different conversations, and a different Catch-All for very long questions, or unexpected attachments.
Inbound questions can have two types of context levels:
- A Global question leads to this passage no matter which conversation the user is in.
- A Conversation question leads to this passage only if the user sends it while they are in this conversation.
Conversation-level questions override Global-level questions when the user is in the applicable conversation. For example:
- A passage in your FAQ conversation provides the user with a list of your fees. It has the Global-level question "what are the fees".
- A passage in your Loan Application conversation provides the user with the fees for a loan application. It has the Conversation-level question "what are the fees".
If the user is in the Loan Application conversation flow and asks "what are your fees", the Loan Application passage will override the FAQ passage.
Context levels and child conversations
You can nest one conversation inside another to provide more levels of context for Conversation-level questions. The chatbot will try to match questions in the current conversation first. If no questions match, and the current conversation is a child of another conversation, the chatbot will try to match the question in the parent conversation.
Does this impact the conversation flow?
Child conversations behave exactly the same as normal conversations. Making one conversation the child of another only affects question contexts.
You can use child conversations to create up to four levels of context for conversation-specific questions.
What about Passage-level context?
Passage-level context, for questions that should be answered in a particular way if they're asked directly after a specific passage, is handled by a passage's Outbound Questions. See Outbound questions below.
Outbound questions are questions that you want to answer in a specific way if the user sends them immediately after a particular passage. In our loan application example above, we had:
- A passage in the FAQ conversation that provides the user with a list of your fees, and has the Global-level Inbound question "what are the fees".
- A passage in the Loan Application conversation that provides the user with the fees for a loan application, and has the Conversation-level Inbound question "what are the fees".
As part of the loan application process, users are asked if they want to add an insurance option. The passage that asks about the insurance option has an Outbound question "what are the fees", which leads to a passage explaining the fees for the insurance option.
Now, when the chatbot asks the user if they want to add the insurance option, and the user replies "what are the fees", the chatbot goes to the Insurance Option Fees passage linked in the Outbound question, instead of the Loan Application Fees passage defined at the Conversation-level.
Outbound questions are defined in a passage's Outbound Questions screen.
You said that already...
A user may send a question that matches a passage your chatbot recently sent them. Sometimes this is expected: if they're asking for an update on where their package is, receiving a near-identical response is fine. But in other conversations, it would feel unnatural to send them the same passage again. Instead, you may want to guide them to rephase their question or request to talk to a live agent. You can configure this for your whole chatbot or within a conversation context in your chatbot's Fallbacks settings.
Keywords and NLP
Questions can be trained on keyword-match or Natural Language Processing (NLP).
Keyword-match questions should be used where you need to match a phrase exactly. For example:
- Users saying hi, hello, hey, or similar greetings.
- Users swearing or sending other offensive content.
- Users sending STOP or similar unsubscribe requests.
- Users sending emoji, images or stickers.
NLP questions define phrases that indicate a user's intent. For example, "book appointment", "I need a doctor" and "when are you available" are all different ways of expressing the intent of booking an appointment.
The training phrases are matched using an algorithm that accounts for slight differences in phrasing and misspelled words, so that the user's response can be accurately matched without predicting all possible keywords or exact phrases in advance.
Keyword questions are checked first
The chatbot attempts to match a question by keyword before checking the NLP questions.