UI Builder contains a rich collection of actions you can use to model conversational AI logic within your solution. A description of these is provided below.

Send a Response

The send a response action lets you define text and voice responses that can be sent to people that interact with your chatbot.

Text responses are sent on chat platforms such as Webchat can include rich media such as text, images, or even HTML. You can also leverage Adaptive Cards to provide rich visual user experiences.

The screen capture below shows an adaptive card preview of hotel room information.

The information shows the variable's syntax with $ and curly braces {}.

When interacting with the bot, the variables will be replaced with the final values.

(sample adaptive card being previewed by UI Builder Adaptive Card Preview Editor)

(sample adaptive card being previewed by UI Builder Adaptive Card Preview Editor)

Voice responses can be defined if your chatbot is published on channels such as IVR or Amazon Alexa. SSML can be used to tailor voice responses in a send a response action. For example, this might include applying a formal tone when reading a news bulletin.

Ask a question

The following activities let your conversational AI solution ask the user for various types of data:

Type Description Example
Text Prompt user for text input
Number Prompt the user for a number input

Use the Validation menu in the Other tab to enforce validation rules.

For example, =this.value > 0

When the bot attempts to collect the information, if the user provides a response that is neither a number or is not greater than zero, the bot will re-prompt the user with the same question or variants that you can define in the Other tab as well.

Numbers can also be supplied in text format (such as one, two, three, etc...). | Bot: How many would you want User: ten

or

Bot: How old are you? User: 18 | | Confirmation | Ask the user a question where you want them to confirm their answer.

This type of prompt is useful when you want to enforce a Yes/No response from the user. | Bot: Do you want to order? (Yes | No) | | Multi-choice | Present the user with a series of options to pick from. | NA | | File or attachment | Enable users to upload images, videos, and other media | NA | | Date or time | Get date and time information from your users

Supports date information in different formats thereby giving users different ways to supply date and time information.

Use the Validation menu in the Other tab to enforce any validation rules. | Bot: When would you like this for? User: Next Monday

or Bot: When would you like this for? User: Tuesday 12th | | Intent-choice | Similar to the multi-choice but rather than restricting input to a static list of values, lets the user input free text.

Allows the bot to ask the user a question, and then, by leveraging machine learning, can identify the top-scoring intent that has been identified and matched.

A minimum confidence score for intent matching can be defined. This controls the minimum allowed confidence of the top-scoring intent. The higher the score, the more confident the NLU is of the user's intent. | NA |

Create a condition

UI Builder features mechanisms to help you orchestrate the flow of the conversation. These are known as conditions.

Type Description Example
Branch: If/else Instructs the bot to choose between one of two paths based on a yes/no or true/false type value.

Find out more information about this https://conversational-ai-faq.notion.site/9795f46a3d854d6495a2b46af40b2289. | Bot: How old are You? User: 18

e.g. =user.age > 18 then (full access) else restricted access | | Branch: Switch (multiple options) | instructs the bot to choose the path associated with a specific value - for example, a switch can be used to build a multiple-choice menu.

Find out more information about this https://conversational-ai-faq.notion.site/f0c290ef82784f26aa6b446e486fa145. | NA |