Answers

Answers define the Virtual Assistant’s response to the user utterance. In an Intent Program it is defined through an Answer Shape, and on a FAQ Program through the definition of the Answer.


Table of Contents


Answers are used in all Program types.

What is an Answer

An Answer is what the Virtual Assistant will respond to the user when the associated intent is triggered. For example, if the user asks:


  1. USER: What is your name?
  2. Virtual Assistant: I’m ALICE, a digital being. My creators call me a Virtual Assistant. I am here to help you know more about BOTSchool.

An answer can be anything. In the following example, it is a question - the BOT asks for some kind of information that is needed to continue the dialog:


  1. Virtual Assistant: Can you please tell me the phone number associated with the account?
  2. USER: My phone number is 912123122.

An Answer can be set in text (rich text included - images, video…), voice, or an action to an external system (such as IVR). Answers can be defined specifically for one channel, however BOTSchool provides an easy way for defining multi-channel answers to each of the existing intents / FAQS in a single window of the interface, simplifying the configuration of answers. It’s up to the user to define the answer to the different channels he wants the BOT to reply to. Each answer will be a associated to a given intent (or Question, in the FAQ Programs).

Formatting Answers

Depending on the channel used, answers can be different from one another. This happens because each channel typically supports different features allowing different responses that take advantage of the said features, and therefore allowing a better way to deliver the information / response (to improve the User Experience).

image example

In figure above there is an example of this scenario, in which for the same intent, and depending on the channel, the answer is presented in a different way.

A channel can support the following components (one or more):

Plain Text

1 Plain Text allows to configure an answer by defining the text the virtual assinstant will say. It supports formatting, like Rich Text, in the forms of supporting a different font, font size, Bold, Italic, Underline, and other text aspect enrichment apparatus, as well as http links. In intent-type programs, the use of variables is supported, by typing @ to display the available variables.

Media

1 Adding a media component on an answer will show images/videos/audio in that answer. In intent-type programs, the use of variables is also supported.

Cards

1 Displays a list of information like cards. In intent-type programs, in some fields, the use of variables is also available.

Buttons

By using buttons you are guiding the user to possible answers to give to the Virtual Agent. The user can select one of the buttons and it will trigger a specific subject (intent) instead of having the user type/say it. In this type of answer, in intent type programs, it is also possible to use variables, either in the labels or in the values ​​of each button.

As you can see on the following image there are two types of buttons: static and dynamic. You can as well insert a specific title for your buttons group, choose the fittable layout, and define the type of action that is expected from chat to be executed depending on the users’ selection.

image example

Static Buttons

Static type of buttons can be used in any program type, and can be directly configured in the buttons component.

Dynamic Buttons

As for the dynamic buttons, the buttons list on the answer should be defined by a program variable, as you can see on the following image:

image example

The variable could be set as an output parameter from the API or defined in the script execution area as an array or objects, from which the buttons component will be structured.

Actions

Actions are like commands that are sent to a specific module (e.g. IVR), whose meaning is only understood by the said module. By using Actions it is possible to send commands to this module, usually an external system. For example, play an announcement/sound, or execute Text-to-Speech conversion, or a command to hangup the call.

image example

In intent-type programs, variables can be used in the value field, by typing @ to display the available variables.

Internal actions

These are actions that have specific behavior that is only understood and interpreted by a specific channel. To be considered as internal, the flag for internal mode must be selected.

1

In Webchat the currently supported internal actions are:

  1. wait - It will force the user to wait the amount of time defined on the action (in seconds). This "wait" action means that the user can not interact with the bot until the waiting period is met. When the waiting period expires, the chosen intent will be triggered, and the chat will continue normally. Note: in this situation the "intent" will not be shown on the webchat history, however it will be saved on the BOT dialogs. Parameters:
    • Key = time is the amount of seconds to wait. It must be an integer.
    • Key = intent is the intent to trigger.
  2. start_login - When the webchat receives it, it should redirect the user to a third party's login page, set on the html chat element. When the authentication is successful, the dialog between user and BOT should resume where it was before the login process.
  3. clear_history - when the webchat receives it, it should clean all history that it is shown on the chat window. Only chat history on the screen is cleaned. All the previous dialogs between the user and the BOT will continue saved on BOTSchool.
  4. notify_user - it will notify the user about any situation. How the notification is done is defined on the parameter "behavior".

Answer Configurations

Depending on the chosen program type, answers may include different settings.

In FAQ’s programs, it is only possible to configure whether or not the answer will include feedback rating (only available in web channel). image example

In Intent’s programs, in addition to the rating, it is also possible to indicate whether or not the answer marks the end of the flow. image example

If marked as flow end, the shape will be colored green, to indicate that the flow ends as soon as it reaches that point.

If this flag is selected, it will still be possible to set variable values, as well as indicate whether the session will end in that shape (a new session id will be generated and the session variables will be reseted). image example