Adding human blocks

The starting point for your chatbot will be the chat start block. All chats will start with the bot blocks inside the chat start.

To begin building your chatbot, you will first need to utilize human blocks, which can be accessed by clicking the green human button at the bottom of each block.

A human block refers to a customer's intent. In chatbot terms, an intent refers to the objective behind a customer query, which can be conveyed through various mediums such as text, media, and webpage behavior. There are several types of human blocks that we will describe in the next document.

To delete a human block, click on the three dots located at the top right of each block and select Delete.

To rename a human block, click on its header to open the editor window on the right-hand side. Double-click on the block's name and enter the new name.

πŸ‘

Best practice

Rename your human blocks so they are easy to search later on.

You can change a human block type by clicking on the three dots located at the top right of each block and selecting Change type. Please note that you can only change the type for Message, Greeting, Goodbye, Bio, Negative, Positive, and Filler.

To move a human block to a different level, click on the three dots located at the top right of the block and select Move to.

Locate the desired destination block by name or numeric ID and click on Move.

How does he chatbot transition from one intent to another during a conversation?

When the chatbot receives an intent from a user, it searches for a matching intent at the same level before moving back to the level below Chat Start Event. The following shows an example of how the chatbot search and transition from one intent to another:

Scenario 1: If the user is in the Chat Start state (A) and types an intent "Unable to access ABC Bank website", the chatbot will begin the search for matching intents starting from the nodes directly under the chat start event (Nodes A). If it finds a matching intent on one of those nodes, it will execute the corresponding block and move the conversation to the next block in the sequence. However, if it does not find a matching intent on those nodes, it will reply to the user with the message in the Filler block (D).

Scenario 2: If the user is currently at the Main Menu state (B) and types an intent such as "File a Complaint", the chatbot will begin searching for matching intents on the nodes directly below the Main Menu block (Nodes B). If no matching intent is found on those nodes, the chatbot will then backtrack to the nodes under the Chat Start event (Nodes A) to continue searching for a matching intent.

Scenario 3: If the user is at the File a Complaint state (C) and types "open a new account" intent, can the chatbot directly move to the Open New Account state (E)?

The answer is NO. The block with the "open new account" intent (E) is located below the Main Menu state (B), which means the chatbot cannot answer the user with the message in the Open New Account (E) block directly. Instead, since there is a Filler block (I) directly under the block with the "File a Complaint" intent (Nodes C), the chatbot will reply with the message in that Filler block (I).

Scenario 4: Suppose the user is at the Close Account state (F) and types an intent "my account was hacked". As there are no sub-nodes or filler blocks under the Close Account state (F), the chatbot will go back to the nodes directly under the chat start event (Nodes A) to search for a matching intent. If the chatbot does not find a matching intent on those nodes, it will respond to the user with the message in the Filler block (D).

πŸ‘

Best Practice

To optimize the chatbot's ability to transition between intents at any given state, it is recommended to position the desired intents as nodes directly under the chat start event state. This allows the chatbot to search for and match user intents efficiently, and also enables the addition of sub-nodes to further refine and organize the chatbot's capabilities.

Is it possible to utilize the intent input by the user in other bot blocks?

The Proto platform offers a convenient set of predefined variables that can be used within a chatbot's flow. One of these variables is called _user_input, which is specifically designed to store user input at every state of the chatbot. As the user inputs their intent, the dynamic _user_input variable captures and retains their input throughout the entire conversation.

To ensure that the value of _user_input is preserved, we recommend creating a new variable using the Modify Variable block. This way, you can easily reference the user's input later in the chatbot's flow. Here's an example of how to store a user's intent from a human block using the _user_input variable:

In the image above, the user_input variable is used to store the type of complaint that the user wishes to file against ABC Bank. As the user_input variable is dynamic and changes at each state, it is recommended to store its value in a newly defined variable, such as complaint_type as shown in the image. Once the user inputs the type of issue they would like to file, the input value will be stored in the complaint_type variable and can be utilized in subsequent messages or flows in the bot. An example of this is demonstrated in the following bot message: "'I'm sorry you are having an {complaint_type}. I will forward your complaint to our customer service team."

How to use Human tags on Human block?

To ensure a personalized experience for each user of your chatbot, you can use human tags on all the human blocks.

For example, if Sarah is a Premier account holder and Adam is a Normal account holder in ABC Bank and they both have the same issue, "my credit card was blocked," your chatbot, Abby, can reply with a tailored message based on their account type, which is set up on the HUMANS page. Here's how you can set up your chatbot:

  1. Create user profiles on the HUMANS page either by using the API or by creating them manually. Check out our guideon creating human profiles for more information.
  2. Create an "Account" tag on the HUMANS > SETTINGS page. You can learn more about creating and managing tags in our documentation.
  3. Edit each user profile and assign the appropriate tag and value. You can do this using the API or by editing the profiles manually on the HUMANS page. Learn more about editing human profiles here.
  1. Now that you've set up your user profiles with appropriate tags, you can create bot messages on the BUILD page that utilize these tags. Here's how:
    • Navigate back to the BUILD page of your chatbot.
    • Create a new bot message or select an existing one to edit.
    • Use the tag values you created on the HUMANS page to personalize the message for each user. For example, if Sarah is a Premier account holder and Adam is a Normal account holder and they both have the same issue, "my credit card was blocked," your bot message can reply with a tailored message based on their account type.
    • Continue to create bot messages with different tag values to provide personalized responses for your users.
  1. You're now ready to test your chatbot on various channels. Different channels may require different methods to authenticate the user, so be sure to check out our guide on adding authentication methods to ensure you're following the appropriate steps for your chosen channel. For example, if you're using a webchat channel, you'll need to provide the Human UID to the webchat deployment script. Our authentication API documentation provides more information on how to do this.
  2. To test your chatbot with Sarah and Adam, simply set their respective Human UID on the webchat deployment script when they log in to their ABC Bank accounts. This will ensure that they receive personalized responses based on their account type.

  1. Let's see how chatbot Abby responds to Sarah and Adam when they send the message "my credit card was blocked":
    • If Sarah is a Premier account holder, Abby might respond with a message like: "I'm sorry to hear that your credit card has been blocked, Sarah. As a Premier account holder, we can expedite the process of unblocking your card. Please give me a moment to review your account information."
    • If Adam is a Normal account holder, Abby might respond with a message like: "I'm sorry to hear that your credit card has been blocked, Adam. We'll do our best to resolve the issue as quickly as possible. Please give me a moment to review your account information."

By personalizing the response based on each user's account type, Abby can provide more helpful and efficient customer support, making for a better overall user experience.