You can use the Bot block in the Self Service phase of your application to add a chatbot to your application. Chatbots are software applications that apply automatic speech recognition and natural language understanding to listen and respond to customers in a way that resembles a conversation with a live agent. They have an advantage over Speech Grammars in that they are able to "learn" from each interaction, which means they are always improving their ability to figure out what a customer wants to do without needing that person to provide specific phrases or commands.
For example, they can ask questions and collect information from a customer about setting up a reservation:
Designer bot resources are managed from the Bot Registry, where you can set up and manage bot resources that are integrated with Amazon Lex, Google Dialogflow, and Genesys DialogEngine chatbots. Visit the Bot Registry page to learn more about setting up bot resources that you can use with this block.
Using this block
This block can be added to the Self Service phase of an application. When you add a Bot block to your application, you select the bot provider and resource you want to use.
Intents and Slots tab
Use the settings in the Configure Bot details section to select the provider and name of the bot resource you want to use. Designer then automatically populates the block properties with Intents and Slots for the bot resource you've selected. For each Intent, Designer automatically creates an associated child block (similar to how the Menu block creates child blocks for each menu option).
In the Intents and Slots assignment section, you can select the variable that holds the Intent (what does the customer want to do?) and values for the Slots. The Slots (or entities) help provide additional context to the intent.
For example, let's say our selected bot resource has an Intent called "BookCar". The bot detects that the customer wants to rent a car, but it also needs to know other details about the customer's request, such as the type of car they want, where they are picking it up, and when they plan to return it. The Slots are used to guide the bot as to the questions it needs to ask the customer (using natural-language) so it can collect this type of information.
Input Settings tab
You can use this tab to enable or disable a "beep" sound before the user enters their input. You can also set the timeout value to specify how many seconds Designer will wait for input before moving on to the next step in processing.
Specify the variables that will hold the bot responses and status flags.
Bot Option child blocks
Additional Bot Option child blocks for each intent are also created, along with an Error Handler block. For each Intent, you can go to its related Bot Option child-block to edit its label and give it a more meaningful name.
In the properties for the Error Handler block, you can specify the action to take if an error occurs (for example, go to another block or the Assisted Service phase):