A PhoneMyBot channel connects a chatbots with voice interactions. So, every channel needs a chatbot as its termination. For PhoneMyBot, a chatbot is defined by its connection configuration, which you can set from the Chatbots portal page.
PhoneMyBot supports several types of connections with chatbots, depending on how and where they run. If the chatbot was developed and is deployed using one of the supported platforms, just select the platform and configure the required parameters (see the supported platforms here).
If PhoneMyBot does not yet support the platform that you used to develop your chatbot, you can use PhoneMyBot's direct API: see how it works here. You can also contact us and request that we add an adaptor for your platform.
You can configure your chatbot from the Chatbots page of the PhoneMyBot portal. There are 3 areas of configuration:
You can create as many chatbot connections as you want in PhoneMyBot, but only one can be active per channel at any given time. You can easily switch from one chatbot to another from your channel configuration page: click on BOT CONNECTION and you'll see a list of your defined chatbots to choose from.
This tab lets you configure a number of behaviors that PhoneMyBot executes on its own to make the conversation with the user more fluid.
This figure shows the tab, with a few bubbles of comments:
It is pretty straightforward, except for the "alternatives to yes and no" at the bottom. It turns out that two of the hardest words for speech-to-text systems to understand are "yes" and "no". The reason is that they are so short. The Speech to Text engine receives a very short signal and low energy and sometimes it isn't able to transcribe them correctly. So PhoneMyBot lets you define an alternative question and alternative answers that are presented to the user instead of yes and no: for instance, "right" and "wrong".
PhoneMyBot has several standard actions that the chatbot can invoke via API. These are (for now): hang up a call, transfer a call, use advanced speech-to-text with context, play a prompt with barge-in (which means that if users speak before the prompt is finished, PhoneMyBot stops playing the prompt and transcribes what they say).
How to trigger these actions through APIs is described elsewhere in this wiki. But this tab lets you define rules to trigger the behavior without calling an API: simply by telling PhoneMyBot (part of) what the chatbot will say in these circumstances. For instance, the chatbot may send a message saying "Please hold on, I am transferring you" and this may trigger the call transfer if it matches a rule.
This figure shows the Actions and Regex tab.
Of course, you need to provide different parameters for the different action types, in addition to the regex text. These are:
Just the regex - or the sentence that the bot will send when it wants to terminate the conversation. PhoneMyBot will speak the sentence and release the call.
How long to wait for the transfer to complete, in seconds, and the number to transfer to. Note that nothing prevents you from defining multiple rules with different sentences that transfer the call to different numbers (or queues in the contact center). For instance, one regex could be "We are transferring you to Sales" and another "We are transferring you to Support", with different target numbers.
With Advanced Speech to Text, the chatbot chooses a pre-defined context that tells PhoneMyBot to use a STT engine optimized for better performance in recognizing this context. See the context list page for more information. To trigger the use of the context, the chatbot configuration needs to know which context to use, in addition to the trigger regex. But the number of available contexts increases all the time, and so this tab offers a tool to select the context. The tool looks like this:
Depending on the language and the country of operation, you can select one of the available contexts. For instance, one of the contexts available for the USA is a 5-digits zipcode (the postal code in the US). A good regex for it would look for the words "zipcode", as in "Please tell me your zipcode".
In a conversation with a user, the chatbot will send a number of prompts, to instruct the user to do one things or another. Some of these instructions need to be listened to until the end, others are maybe less stringent.
For the less stringent ones, it is useful to allow the user to interrupt (barge-in). This makes the conversation more human-like and provides a better user experience. So, the chatbot may want to differentiate between the two types of prompts, and tell PhoneMyBot which ones allow barge-in.
In addition to the regex (or sentence that the chatbot will send), the only parameter here is whether barge-in is allowed.
My advice is to play with the "Action Type" pulldown menu a bit to see the available actions and how they are configured.