Answer Groups are used to manage and define much of the logic underlying Conversation Chat Bots. This guide discusses how they are created, edited, and tested.
Working with Answer Groups requires an ENTERPRISE license. If you would like to enable this feature for your Airkit Organization, please contact your Airkit representative or contact [email protected].
Answer Groups are made up of various Answer Flows, which are used to organize and compartmentalize the different chains of input and responses that can make up a Conversation. Combined, they make up an automated Conversation Bot that can be accessed via either SMS or a Chat Web Control, depending on how they are deployed. Here, we discuss how to define Conversation progression via Answer Flows. For more on how to deploy Conversation Chat Bots, see Configuring Conversation Chat Bots.
Answer Groups and the Answer Flows that make them up are defined in the Answer Flows Builder. New Answer Flows can be added by clicking on the '+' icon that appears to the right of the Answer Group in the Tree.
Answer Flows consist of Actions, which are defined in the Stage. You can add new Actions to an Answer Flow by clicking on the '+' icon underneath the established Actions. Assuming the Answer Flow isn't diverted by one of the Actions that define it, such as the Run Answer Flow Action, all Actions will be run in order from top to bottom. If an Answer Flow contains an Action that diverts the user, the user will not return to the Answer Flow that diverted them unless explicitly sent. Should the user return to an Answer Flow in this way, the Actions that make up the Answer Flow will be repeated from top to bottom. The user will NOT continue the Action Flow where they left off.
Once an Action has been has been added to an Answer Flow, the details of the Action can be edited directly within the Stage. There are many different types of Actions, and how each one appears and can be edited will differ according to functionality. While the Answer Flows Builder has access to the same Actions accessible in every Builder, such as the Condition Action and the Run Data Flow Action, it also has access to specialized Conversation Actions, which are useful only within Answer Flows. These Actions are used to Ask Questions, Text Answers, and Run other Answer Flows.
Answer Groups are a kind of Activity Group, while Answer Flows are a kind of Activity. Variable Scope must be managed accordingly.
To better understand how Answer Groups might be configured, consider the following example, Answer Group, which consists of three Answer Flows: Welcome Answer Flow, Respond 'no', and Respond with anything else. The Welcome Answer Flow appears in the Stage as follows:
This Answer Flow uses the Ask A Question Action to send the user the message: "Welcome to this Answer Flow! Would you like to continue?" It then binds whatever response the user gave to the Global Variable
response. Then the Condition Action is used to check if the user responded with some variant of the the word "No". To account for the various ways a user might capitalize their response, the LOWERCASE function is used to standardize the capitalization before running the check. Depending on the user's response, they'll be directed to either the Respond 'no' or the Respond with anything else Answer Flows via separate instances of the Run Answer Flow Action.
The Respond 'no' or the Respond with anything else Answer Flows have their own associated Actions. While the above example is deliberately simple for the sake of demonstration, the underlying principles can be applied to create far more intricate or even nested Conversations.
To test the logical flow defined by an Answer Group while it is still under construction, you can experience the Conversation as a user via the App Preview tab.
Emulating a Chat Conversation that has not yet been configured for deployment requires emulating the conversation through SMS by clicking on the 'Text' icon in the Device Preview:
To fire the Conversation Chat Bot, emulate sending a text to the application. You do not have to have a phone number tied to the application in order for this to work. In the follow example, we've sent a text that says "test", but the functionality will be the same regardless of what the text reads:
The previous discussions and example focused on relatively self-contained Answer Groups. A powerful feature of Answer Groups, however, is that they can redirect Conversation to other, often external systems. This is done via Routing Flows.
Routing Flows define where incoming user messages will be sent and how they will be responded to. The three fundamental types of Routing Flows are:
- Bots, which process user messages and send responses based on the automatic logic flow defined by Answer Groups
- Agents, which send user messages to human beings who work in a call center and allow them to craft custom responses
- Relays, which send user messages to be processed by external systems like Salesforce or Kustomer
Conversations can be transferred from one Routing Flow to another via the Move Conversation to Routing Flow Action. In order for this Action to be used, the relevant Routing Flows and Conversation Hub must be configured under Settings > Conversations. For more on how to create Conversation Hubs, see Configuring Conversation Chat Bots.
The earlier sections of this guide assumed a Chat Conversation that was confined to a single Routing Flow (a Bot). While creating or editing an Answer Flow capable of sending users to another Routing Flow can be accomplished via the same principles as creating or editing any other Answer Flow, testing the logical flow of such Answer Groups cannot be done via the App Preview because of the dependence on external systems in order to function. For more on how to configure external systems so they can be accessed within a Chat Conversation, see Configuring Conversation Chat Bots.
Updated 8 months ago