If there is one feature that make or break the bots, it is “Best Practices”.
Time travel to early 1990’s. We have a baby internet and the concept of webpages was just born. For the most part, it is purely text based and having an image along with the text on a same web page was a major breakthrough (introduced with Mosaic browser). There was no concept of navigations, search within the website, breadcrumbs, advanced authentication, form validations, asynchronous web parts etc.,

These are some of the best practices that the websites demanded in order to put the process in place to guide the user while they are on the website. Without these, the users are just on the open field not knowing what to expect or find the content they are looking for efficiently. Fast forward to today, the concept of site navigation, single sign on, search, asynchronous pages are part of any website we visit and it is not hard to even conceive a website without these.
These websites are just User Interfaces over the data/processes and we can safely say that we have mastered them. But there is a new User Interface that is propping up, which is Conversational UI, but did we master this new UI from the context of the best practices?

The answer is “No”.
Think about it. We make fun of how the chatbots cannot handle certain customer questions/responses and run in the loop. But, even with all the strong knowledge of the bot development, can we avoid making similar mistakes?
There was this app revolution in 2008 and Apple published something called “Human Interface guideline” (HIG) document that lays out all the best practices that the app makers should follow in order to put out a great and consistent apps. Apple famously rejects the apps if they do not follow some of the key guidelines laid out in HIG.

But if bots are the new apps, we need a HIG for Bots and that’s precisely my undertaking in this post. Let’s review the top 10 best practices that any bot makers must follow.
1. Greet and Set the Expectation
When the customer launches the bot, it is your first opportunity to onboard the customer. Greet the customer and at the same time set the expectation what they can expect from the bot. If the bot is on airline website, it does not mean that the bot will handle everything that the airline has to offer and may only have a narrow focus on certain popular features such as checking in the customer, answering common questions etc.,

Let the customer know about the skills that the bot supports so that the customer has a right expectation.

2. Never ask open ended question
If you ask a open ended question, chances are that the bot may receive an open ended question back, which the bot usually struggle to respond to. Always try to narrow the scope of the conversation with the customer, and as part of it, provide options to the user so that they know the sort of answer the bot is expecting.

In case, providing options is not ideal for the type of questions, try to provide some sample answers. If sample answers aren’t possible, ask a very closed question to strictly narrow the question so that the user doesn’t have a choice but to answer it directly.

Always strive to narrow the scope of the conversation. The bot isn’t going to compete with Siri, Alexa or the Google Assistant, rather it is present to support the precise business use cases. You want to save the bot from the customer as much as you want to save the customer from the bot and narrowing the scope goes a long way in keeping the abandoned rate in check.
3. Inform about long running tasks
If you as a bot maker sense that the bot is going to take a while to answer a particular question, your bot must let the customer know that there is going to be a few seconds delay to get the answer. Let’s say if the customer reaches out to the bot to pay for a particular product purchase. We all know that anything to do with the payment/gateway usually takes a bit longer as it has to jump through a few hoops to get the payment done.

It is essential at this point to let the customer know that “I am going to complete your payment, please allow me a few seconds and I’ll get back to you shortly with an update”.

As a bot enthusiast, I have my personal expectation that the bot product/framework itself messages the customer on behalf of the bot to let the user know about the delay in case the underlying framework senses that the customer deserves an update.
4. Inform next steps
When the customer reaches out to submit a complaint, or an order or just for support, let the customer know of the next steps. The next steps could be providing the complaint reference number and letting the user know what they can do with the reference number or letting the user know the order number and when they can expect the shipment and what they should do if they do not receive the shipment by then or sometimes the next step is to escalate the situation to the human agent. Identify the next steps for various scenarios that the bot has to handle.
5. Hand off to the human agent
I wish the bot knows its limits, but unfortunately, we are not in the year 2050. But we can anticipate the limiting scenarios and engage the human agents if necessary. For each of the topic, identify the possible scenarios where the bot may fail. Possible scenarios could be:
- The bot understands the question, but do not know the answer.
- The bot does not even understand the question.
- The customer is beginning to get frustrated.
- Possible errors from the Power Automate or the backend processes.
The other scenario that we would generally like our bots to play a role in is that to collect basic information from the customer and hand the conversation off to the human agent. This also is a good candidate for the human hand off.

This is where Omnichannel Engagement hub fits in. Power Virtual Agents has native connectivity with the Omnichannel so that the conversation can be seamlessly and contextually handed off to the human agent, when required.
6. Handle Interruptions
When we author the bot, we author it like a series of waterfall steps. But human mind does not work this way and wants to be very agile and it expects the same in any conversation. For instance; let’s say the customer places an order for a product and inquired about the shipping duration and settled on a Standard shipping. During the course of the conversation, if the customer changes their mind, interrupt and ask about the other shipping options, the bot should be able to take the question and respond back to the customer.
If the bot is having to to ask the same question a few times, that is a signal that the user is responding in a manner that the bot isn’t equipped to handle.
Full disclosure: I do not know how to practice this effectively. May be, this is another candidate that the underlying framework itself needs to handle or provide necessary tools to efficiently handle.
7. Cognitive services are Bot’s Best Friend
There are a number of Cognitive Services available today that the bot can leverage. When you say you are deploying a chatbot, customers immediately associate the chatbot with intelligence, understandably. But, the secret is that the chatbot are actually a dumb creature. It needs supporting services to uplift it to become the intelligent being and those supporting services are offered by Cognitive Services and AI Builders. These are nothing but packaged AI services that do not require us to be machine learning experts. They are typically easy to use and most of them do not even require developers to be engaged.
8. Reveal that you are a Bot
Don’t imitate the human agent. The goal is to not fake the humans, but to serve the customer efficiently and part of it requires us to be transparent to gain the trust of the customers. Not every customer wants to spook the bot, they genuinely want to get the job done as quickly as possible. Being transparent with the customer that they are dealing with the bot adds a layer of cognition on the customers’ part to be much more concise and understanding.
And when you are handing off to the human agent, ensure to clearly explain that human agent is going to be involved.
9. Review Analytics periodically

Power Virtual Agent comes with Analytics out of the box with industry standard KPIs. These are bots way of informing you if the interfacing customers are happy or not. This holds the answers to what led to higher abandon rate, escalation rate as well as the customer satisfaction details. Most of these issues could be easily solved by adding new Topics or adjusting existing topics or finding the right spot for human agent escalations.
10. Identify the right Channels
Power Virtual Agents has capability to add the bots to a slew of channels.

It may be tempting to show the presence on as many channels as possible, but not all the channels are relevant for your business. For some business, being on Social media channels are far more important than being on the corporate website. Some bots are targeted towards the internal employees and stakeholders, so Teams channel may be appropriate.
Remember, the goal is be present where your customers are.
Take aways
To be honest, we are in 1990’s as far as the chatbot is concerned and we collectively have to figure out and share the best practices as much as possible in order to enable a consistent experience for our customers. Soon, I’d expect the product framework itself to automatically force the bot makers to employ best practices before they can publish their bots to the entire world.
For instance, nudging the bot maker if the product finds that the scope of conversation is wide open, providing a way to handle the interruptions cleverly, sending a message to the customer if the bot takes too much time to respond, automatic hand off to the human agent by keeping an eye on the conversation sentiment or configurable parameters and many many more.
Treat these as non-functional requirements. The chatbots are at its inception and we as bot makers have a huge responsibility in not just building the bot but also to transition the customer base appropriately.
You bot can be a technical marvel or a super intelligent being, but if it misses out on a few of the best practices as laid out above, it is just not worth your organizations’ and customers’ time.