Table of contents
- Setting up the Welcome Dialog
- Setting up the Fallback Dialog
- Testing your Chatbot
- Publish and Unpublish your Chatbot
- Changing Page View
Dialog is a set of instructions for the chatbot to ensure that it responds and reacts to the end-user’s inputs appropriately. You can create simple to complex Dialogs using the Chatbot Builder.
1.Select the desired chatbot from the left pane and select Dialogs from the drop-down menu.
2. Select the dialog category FAQ or Conversational and click Get Started.
|FAQ||This category can be used to make the chatbot answer basic questions or FAQs and are used for less-complex use cases.|
|Conversational||This category can be used for building simple or complex multi-turn conversations which are capable of handling any level of complexity in terms of responses as well as actions.|
Here, we will see how to build a Conversational dialog.
3. Click on the Get Started button for the Conversational category.
4. Enter a relevant Dialog Name and an optional description.
5. Click Create.
6. In the Create Dialog form, select the relevant Condition from the drop-down menu as Intent, Entity, or Variable.
Condition: A condition is used for the chatbot to recognize the user or some of his/her traits during interaction. Some common examples of this can be recognizing a user based on his/her time zone, name, or even phone number.
The selected condition type will be the trigger point for the dialog during a conversation.
|Intent||Intents are variations of how a specific phrase or sentence can possibly be presented by the users during a conversation.|
|Entity||Entity is a piece of information or data which is either specified using a static value or by the user’s input. For example: email address, phone number.|
|Variable||Variable refers to the ones created using the Variable Picker. For example, Email Address can be a variable that holds the email address values in it.|
In this example, we are starting with Intent as the condition type for triggering/activating the dialog.
7. Click on the Intent Name field to view the existing Intents to select from or enter a new Intent Name to add a new intent.
8. Add relevant examples of which phrases used by the user can trigger the example. Click Add More to add a new example after adding one and repeat the same.
PRO TIP: Adding maximum possible examples makes the bot more responsive and intelligent.
9. Click the Save icon when you’re done adding all the examples.
10. Once you are done adding one condition, you can click Add More to add another condition for the dialog.
You can see the summary of the conditions you have added for the chatbot to trigger the dialog in the Dialog Summary.
11. Once you are done, click Save.
Alternatively, let us see how to configure the same using Entity as the condition type.
12. Select an existing Entity from the Select Entity drop-down menu.
13. Select the Logic for how you want to recognize and activate the dialog.
|Is Recognized||Checks whether any of the entity values, synonyms or regex under the chosen entity is present in the user’s query.|
|Is Not Recognized||Checks whether any of the entity values, synonyms or regex under the chosen entity is not present in the user’s query.|
|Value Is||Checks whether a specific entity “value” synonym or regex of the chosen entity is present in the user’s query|
|Value Is Not||Checks whether a specific entity “value” synonym or regex of the chosen entity is not present in the user’s query.|
14. When you’re done, click Save.
Once you have configured dialog recognition and activation, you have to build the dialog flow.
PRO TIP: A dialog is like a tree. The branches are divided into conditional events similar to how a conversation would take place between an agent and the end user over a call, which decide how the chatbot will respond to the user queries in a particular scenario. All the dialogs should always have a closing/ending block.
15. Select the appropriate action from the menu as described below:
|Send Message||Make the chatbot send a text message to the end-user. You can add multiple text messages that you want to be sent to the end-user.|
You can select between displaying the messages sequentially or randomly.
|Ask Question||Add a question you want the chatbot to ask the end-user.|
You can also add questions with multiple options for the answer. These answers will be stored in a context variable as it is, without recognizing the required part from the sentence entered by the user.
|Menu Option||Add options for the chatbot to present to the end user for selecting.|
The user’s selected option will be used as an input to execute the corresponding dialog.
|Jump To||Make the chatbot move to a dialog of your choice whenever a particular input is presented to the chatbot by the user.|
|Verify User Details||Make the chatbot collect and verify the details from the end user during a conversation, when the chatbot does not have the required data.|
You can select Intent or Entity as the input option for verifying the details. If Intent is selected, the details will be verified by matching the examples added during configuration.
If Entity is selected, the details will be added according to the verification rules set during creating the entity. For example, email addresses will only be recognized if the format is set as email@example.com.
Also, you can set a condition for an opposite situation. For example, if the user does not have an email address, you can make the chatbot jump to a dialog or exit the conversation. This is useful because the chatbot keeps asking the same question to the end-user till it gets the expected answer based on the set conditions.
|Call Automation||Make the chatbot call an existing app workflow automation to resolve a user-issue.|
NOTE: Make sure you already have the relevant workflow automation created.To know how to create workflow automation, see Workflow Builder.
|Agent Handover||Make the chatbot handover the issue to a live agent.|
|Adaptive Card||Make the chatbot send information in a card format.|
|Custom Variable||Make the chatbot deliver the set custom variable with its value,whenever the set condition is satisfied.|
|Upload Attachment||Make the chatbot allow the end-user to attach a file during the conversation.|
|Exit Conversation||Make the chatbot exit the conversation.|
You can use one of these actions to build multiple levels of the dialog according to your requirement.
Here is an example of a basic Unlock Account dialog. You can see that actions like Send Message, Verify User Details, Call Automation, Menu Option, and Jump to have been used at the relevant nodes.
Also, each branch has an ending block, after which there can be no other action.
For example, in the first row, the last block is Call Automation, where we ask the chatbot to execute the Unlock Account automation as a response to a user’s request.
16. You can also create a Child Dialog by clicking on the ellipsis menu button in the first block of the dialog.
Once you are done building the dialog, it is now required to configure the Welcome and Fallback dialogs.
Setting up the Welcome Dialog
The Welcome Dialog is the dialog used at the beginning of the conversation. You can set up greeting messages or questions for the user for the starting of the conversation.
- Click the Back button on the top, to move to the previous screen.
2. Click on the Welcome dialog to add the greetings or initial questions that you want the chatbot to present at the beginning.
3. Click on the arrow button and select the desired action. In most cases, a chatbot conversation starts with a greeting or a question.
NOTE: It is not advised to use the Add a Question function for the Welcome dialog as the purpose of the Ask a question function is to collect the user’s input and save it. If the user does not add the relevant answer, the chatbot will stop at that question and not proceed further. Ideally, the Send Message or Menu Option functions are the most suitable options.
In this example, we are selecting Send Message.
You can add an existing system variable to use in your greeting message. Here, we are using SYS_FirstName to address the user with their first name.
System Variables can be seen as packets of data that store the information relevant to the dialog conversation between the chatbot and the user. These variables are system generated and can be used anywhere in a dialog.
|SYS_FirstName||This variable is used to get the First Name of the end-users.|
|SYS_LastName||This variable is used to get the Last Name of the end-users.|
|SYS_UserEmail||This variable is used to get the Email Address of the end-users.|
|SYS_platform||This variable is used to store the name of the platform being used while executing a dialog in a conversation.|
This can also be used as a condition in a dialog to execute based on the user’s chat platform.
|SYS_Anything_Else||This variable can be used as a condition for anything that an end-user enters apart from the already-handled conditions and inputs.|
|SYS_User_Latest_Response||This variable is used to store the last response by the end-user during a conversation.|
4. Click Add More to add another message.
5. When you’re done, click Save
The Display Sequentially option works in a way that the chatbot shows the first message when the Welcome dialog is called for the first time and then displays the second message when the same dialog is called for the second time, and so on.
The Display Randomly option works in a way that the chatbot displays any one of the messages randomly to the user whenever the particular dialog (here Welcome dialog) is called.
PRO TIP: For a greeting message, it is better to use Display Sequentially as the chances of going back to the Welcome dialog is always intentional according to the dialog flow.
Setting up the Fallback Dialog
The Fallback dialog helps your chatbot to fallback to a response when a user input is not recognized. Inside the Fallback dialog, you can specify the message that the Chatbot must display to a user when it’s not able to recognize their query.
1.Click the Back button on the top of the current page, to move to the previous page.
2. Click on the Fallback dialog to configure it.
3. Click on the arrow button and select the desired action. In this example, we are selecting Send Message.
4. Add the relevant fallback messages and select Display Randomly to display any of the entered messages every time the chatbot reaches the Fallback dialog.
NOTE: The reason for using the Display Randomly option here is that we can’t predict when the chatbot will trigger the fallback dialog as it is set to be triggered when the user enters an input which is unrecognizable by the chatbot. So, using the Display Randomly option, we can add multiple versions of the fallback messages and display them randomly.
5. When you’re done, click Save
Testing your Chatbot
Before making the chatbot available for the users, you can test the chatbot to make sure that it responds appropriately as designed.
1. Click on the Try Me button on the bottom right corner.
2. In the Try Me window, enter the inputs as you expect an end-user to do during a live conversation.
If the chatbot responds appropriately to all the situations, it indicates that your workflow (if an automation is called in the dialog) and the dialog are working fine.
Publish and Unpublish your Chatbot
After you are done testing your chatbot, you can finally go ahead and publish the changes to the chatbot. All the new changes will then be reflected in your live chatbot deployed for your end users.
Click the Publish button on the top-right corner to publish your changes.
Click Yes in the confirmation pop-up and the chatbot will be published.
You can create and configure more dialogs by using the right action blocks and following the instructions listed above.
Once you have published your chatbot, you can also Unpublish it from the Dialog page.
1. Click the Unpublish button on the top-right corner.
2. Click Yes in the confirmation pop-up and the chatbot will be unpublished.
NOTE: You can not unpublish a chatbot which has been deployed in a chat channel. To do so, you have to remove the channel integration and then unpublish the chatbot.
Changing Page View
Click on the List View or Card View button to switch the view of the Dialog page.