Rocketbots Academy Part 3

Rocketbots Academy Part 3

Welcome to Part 3 of the Rocketbots Academy, where you’ll now be introduced to the Rocketbots Platform.

Today you’ll learn about:

  • The Rocketbots Platform
  • The basics of Client Facing Features
  • How-to use Designer Functions
  • Your third Task: Onboarding and Handoff

Hold on to your hats!

1. Intro to the Rocketbots Platform 

The Platform

5e46cd648e923e5a53ffe97cf129db22a9e49a8435af50a5e13bf3e360e52a0832a2a9ffdfdebafa2087707d9911be343bdc2386abb7f2063683b9be26327101e649a8bb70f378bd9d06e3a9c93ca292c97449cf1d2774a1e698ebbdb35d43c12a2a8463.png
The Rocketbots Platform is designed to help companies get the most out of their chatbot. The platform sits between the channels the chatbot is connected to and the NLP used. (See above diagram)
This allows the client (usually a company) see the conversations which are happening between users and the chatbot. Then take action based on those conversations.
In the next two sections, we will discuss how the Rocketbots Platform looks to the platform user and how the features seen by the user are integrated with the chatbot you create in DialogFlow.
To get the best experience from the following sections it is best to follow along with your own Rocketbots Platform account. You may find the Rocketbots Platform at Login – Rocketbots.io. Login details should be provided for you by your team lead through email.

2. Client Facing Features

The Features

In this section we will discuss the 4 core client-facing features of the platform, it is important you understand the purpose of these modules & how they appear on the platform.

Contacts

The purpose of the contacts module is to display the contacts who are talking to the chatbot and the associated data related to each contact. The contacts module allows users to see:
  • People who have spoken to the client’s bot.
  • The tags that contacts have collected during the conversation.
  • The status of the bot for that contact: on/off.
  • The contacts completion status (this indicates if that contact still needs attention from the platform user): Marked Done – Yes / Marked Done – No.

 

Screen Shot 2018-03-27 at 2.20.59 PM.png

Messaging

The purpose of the messaging module is to allow a client side human user to intervene in the conversation. In many use cases, a chatbot is not advanced enough to have a successful interaction with the contact, in these cases a human can turn the chatbot off and continue the conversation in the messaging module. 
Screen Shot 2018-03-27 at 2.33.17 PM.png

Broadcasts

The purpose of broadcasts is to allow the user to broadcast messages to a large set of contacts. The user can select the set of people 3 ways:
  • Select no tags: this will send the message to all users in the contacts module.
  • Select 1 tag: this will send the message to all the users with the tag.
  • Select 2+ tags: this will send the message to all the users with all the selected tags.

 

Screen Shot 2018-03-27 at 2.35.19 PM.png

Notifications

The purpose of notifications is to alert the platform user to an event which occurred during a person’s conversation with the bot. When operating at a large scale, your chatbot may be having thousands of conversations. Because of this large amount of conversations, it will not be obvious to a platform user that human intervention is required. The notifications feature is designed to alert the user of these events.
Screen Shot 2018-03-27 at 2.36.14 PM.png

Feature Roundup

Above, we have described just the core user-facing features of the Rocketbots Platform. We will introduce more features to you later in this course.
In the next section, we will explore how the above features are integrated with DialogFlow.

3. Designer Functions

Conversational Dialog

The features discussed in the earlier section are powered by functions and data. Some of that data comes directly from the channel the bot is connected to. For instance, the names, profile photos and the messages sent by the contacts are sent from Facebook Messenger or WeChat.

However, many of the features are powered by functions integrated with DialogFlow. Most of contact related data is fed through these DialogFlow functions. In this section, we will discuss how some of these functions work.
 
Actions in DialogFlow
 You may have noticed a section called “actions” when configuring your intent in DialogFlow. It is composed of two sections, one with an action name and another below it which allows us to work with parameters.
The parameter section allows us to move data from the conversation and send that data elsewhere. In this section, we will explore how we send data from Dialog Flow to the Rocketbots Platform. This will involve using a Parameter Name and a Value. We will discuss how entities are used later.
e9f005016ddd293f56fe3e0b0a5b11c55089405e6b254b3021882e63c4a5e1b140d981547b33dafd7c1671553ee8264d89f5fb0ae513795e2c666e95365be8a7f230ad68a562c142971f5ea45ee589fdfbe8c4ce6d600b391fd453ec960926fd7dbb9dd1.png

Tags

On the Rocketbots Platform, the platform users see the tags assigned to contacts inline, as shown below. On the platform, users can manually add or remove tags.
Screen Shot 2018-03-27 at 2.38.25 PM.png
Adding Tags from Dialog Flow
Tags are used to indicate a contacts interest or situation. Tags may be used in the following ways:
  • To indicate to an agent who will take over the conversation the topics this person has discussed.
  • To create a set of users to whom messages would broadcast later, based on the tags they had collected.
Ideally, tags should be added automatically, as the conversation between the chatbot and the contact progress. A tag can be sent to the Rocketbots Platform by using RB_ADDTAGS as Parameter Name and a Value. When a user triggers the intent with this parameter included, the tag will be added to their contact information. A sample of tag this looks on DialogFlow is shown below.
The correct formatting for tag value is: {tag 1}, {tag 2}, {tag 3}…
9b914dc7d52d4a534480204b29f94d2621a5cee919481b63e8aa7a29097e95c91fd1b61f633736868f80134f7b699974b8f0cc6143bba657224326116b7d551744b6d4e2787054b200298954b030071faa2bf066c5f1c59460423231121a371615c1eae5.png

Bot Status

Bot Status on the Rocketbots Platform
On the Rocketbots Platform, the platform users see the bot status inline, as shown below. On the platform, users can manually turn the bot on or off.
Screen Shot 2018-03-27 at 2.41.15 PM.png
Changing the Bot Status from DialogFlow
Sometimes it is necessary to turn the bot off. This may be because:
  • You want to take away someones permission to access the bots content.
  • Because you want to hand off to a human agent who is at the ready.
This can be accomplished by using RB_BOTSTATUS as Parameter Name and false as the Value. This will turn the bot off.  When a user triggers the intent with this parameter included, the connection between the Rocketbots Platform and the NLP will be shut off until the bot is turned back on again.  A sample of how this looks on DialogFlow is shown below.
ecb5014619377831cf98435fa48fe7a3ac0a4166ad00f7ba2a20112e96d978aae26d4ca7e8efbb2f31a5fa7e4305c1c056e7bd1379c2cb805711b8d3abcb0487443702b51cb3d05e29d86f4dad2094f63cc3897a30d4c11ff8f8192862d78b1f8d5fe3c2.png

Marked Done

On the Rocketbots Platform, the platform users see Marked Done inline, as shown below. On the platform, users can manually set Marked Done on or off.
Screen Shot 2018-03-27 at 2.41.51 PM.png
Changing Marked Done from the Rocketbots Platform
Marked Done is used to indicate that a certain contact needs an Action to be taken by a human user. This may be because:
  • They have asked questions that the bot can not answer.
  • They have specifically asked for human assistance.
  • Some other kind of action needs to be done by a human.
This can be accomplished by using RB_MARKDONE as Parameter Name and false as the Value. This will set Marked Done as No.  When a user triggers the intent with this parameter included, Marked Done will be switched to the desired position.  A sample of how this looks on DialogFlow is shown below.
2b463e893ad7991546900594742f122b7858f08e9abcd7075d0575fa66f85f1b026d2423210c83f0b1d7795a1d16283d5fcca1451a8bff9f23501630f15650d9cf27f30f65e4fcb713c8e7525c569128918221c33daa7007cf11e0768bd15b1c979bd012.png

Notifications

Notifications on the Rocketbots Platform
On the Rocketbots Platform, all users will be alerted of a notification. Currently, there is no interaction possible with notifications.
Screen Shot 2018-03-27 at 2.36.14 PM.png
Creating Notifications from the Rocketbots Platform
Notifications are used to create customized alerts from platform users. This may be because:
  • The contact needs some specific type of human assistance.
  • The contact has reached some pre-determined part of the conversation that is hard to describe with tags.
This can be accomplished by using RB_NOTIFY as Parameter Name and the message you wish to show in the notifications as the Value. When a user triggers the intent with this parameter included, the message you specify will pop up in the platform notifications.  A sample of how this looks on DialogFlow is shown below.
39cfcfd3ac418c2e3d6bfbe63351530a8f31de0dea978aa423c643625aa533d6b65ef16c46f92d8a2a43841e6c898efaa0422db59ce09dc81acbc06bca9c9d92894a4f54523ea80ba18f795f2ecc9cadaad276724519787311e43dc3ff1a00622dfdd3c3.png
Note: You may use @user.name in the value. This will fill in the contacts name to the notification, so that the platform user may know which contact this is related too.

Summary of Conversational Designer Functions

RB Platform Functions

Parameter Description Possible Values
RB_ADDTAGS
Will add value as a tag to one contact
{tag 1}, {tag 2}
RB_BOTSTATUS Will turn the bot on or off for one contact true/false
RB_MARKDONE Will set Marked Done on or off for one user true/false
RB_NOTIFY
Will send the value as a notification
Any text. Use @user.name to refer to the contact.
Congrats!
You’ve learned what you need to know about the core Rocketbots Platform functions, now let’s move on to the next task.

4. Task: Onboarding and Handoff

The Task

Up until now, your chatbot has been able to respond to some basic questions and phrases. In this task, we will enable your chatbot to collect some intelligence from conversations and handoff to a human.
At this point, your team leader has provided you with a Facebook Messenger page and a Rocketbots Platform login. This will allow you to:
  • message your bot from Facebook Messenger.
  • view contact-chatbot interactions through the Rocketbots Platform
  • assess how the functions you set in DialogFlow appear to the platform user.

Learning Objective

During this task you will:
  • gain experience in using Rocketbots functions.
  • create branches in your conversations and collect data about which branches your contacts have entered.
  • learn to create handoffs to human platform users.

Chatbot Objectives

Add the following elements to your chatbot:
√ A welcome Intent.
√ Create 2 onboarding paths.
√ Create a human handoff when they ask to speak to a human.

Welcome Intent

A welcome intent is the intent triggered when the user opens the chatbot for the first time on Facebook Messenger. You may already have intent called Default Welcome Intent. You may use that or create a new one as shown below. Remember, there can only be 1 welcome intent in your Agent
To designate an intent as a welcome intent add the term “WELCOME” in the Events section, just underneath user says.
5388f2363bc442978f1f15fe2c5ae44a6bc073d3906f32f2cd89e68a35b6c48887361597591e85ee04c128f8dc556e6a8aa66f7526a1c9733ac9c1f488f5868748d397318e67324ecac56399c7f246a53a6098a95ec36e266696a798b5b7dcee2b50e1ac.png
In the response to your welcome intent use: Hello @user.name. Welcome to Nantucket Orchards. What are you interested in?
The best name for your intent is Get Started | Welcome Event

Onboarding

Nantucket Orchards has 2 types of target customers. The first are wealthy individuals we will call them Buyers that want to buy their products directly from them. The second are stores which want to resell their apples, we will call them Resellers. We illustrate how this looks below.
d1bb49be1ed5a273005533467d9e3612385a1c0a829b3fc84faf434712acd20f7df99faf517eab89ef2e3e023daa1d2fe965dbec480ce37fbec5bf5757b7205ed0fdf23a8da42e705f17bc049db65c836855b82d265bc36b40ec194a9b9c1c72568c2397.png
Path 1: Buyer Path
This intent is designed to capture users with the desire to learn about Nantucket Orchards Products. For this intent you should:
  • Add sample data that similar to What products do you have?
  • Add the tag: Buyer
  • Response: We have two products
    • Add Apples and Apple Juice as quick replies
      • Hint: To add a 2nd quick reply type in the first one and press Enter.
Path 2: Reseller Path
This intent is designed to capture users with to desire to resell Nantucket Orchards products. For this intent:
  • Add Sample Data similar to: I want to resell your products in my store
  • Response: “Ok, let me put you through to a salesperson”
  • Add the tag “Reseller”
  • Set Marked Done to No
  • Turn the Chatbot Off
  • Create a Notification that describes the action the platform user should perform.
Best Practice
  • Now that your Agent is collecting data from the contact’s conversation, you must test your chatbot through Facebook Messenger.
  • Add a phrase like “botstart” to your welcome intent, so you can trigger it.

Satisfied With What You Have?

Invite some friends to test your bot!
HO BOY!
You can now manage your chatbots on any platform, anytime.
 
The final stretch, just one last section of the Academy to go.

-The Rocketbots Academy Team

Author
Robert Rafferty

Robert is a Growth Hacker enthusiast that’s joining Rocketbots as the Head of Growth. He helps Rocketbots in becoming the voice of all things conversation and is famous for wearing shorts to the office. A graduate of the College of Business at Florida Atlantic University.

Leave your Comment