Chatbot failures can result in conversational dead ends if the skills aren’t fully designed and built out. Chatbot error handling is a very important user design aspect in helping guide a chatbot user to the result they are trying to achieve.
Successfully designing a chatbot to handle errors in dialog flows during a chat workflow should start with having a high level strategy in place to how the chatbot from an architecture as well as design will follow. Without designing the rules of how to handle conversation error handling, your messages from the chatbot will appear incohesive and will fail to provide the experience that most users now have around chatbots and virtual assistants.
Conversational experiences with your customers involves a new class of technologies in the world of chatbots, conversational apps, and voice services. The commonality between all of these technologies is using natural language understanding that, in some cases, are driven by using machine learning to power interaction humans rather than scripting hard coded decision trees like previous generations of chatbots.
When building a chatbot, for user experience your goal should be to ensure that users have natural interactions between the user looking for information and your business being aligned to providing the answer to their inquiries.
In this guide, I’m sharing with you how you can ensure that you design with the user in mind as well as ensuring that your chatbot is providing value back to your potential audience which in turn will help you further define and assist customer’s journey into your business.
Chatbot Error Handling Needs a Strategy
In the design phase of your chatbot, you should decide the personality and tone based on your brand, which is often referred to as the chatbot’s persona.
A persona is a user experience and design (UX) concept to help users relate familiar conversational patterns. Generally, your persona should leverage the existing experience already established and expected by the intended audience.
Enterprise Experience
If you don’t start with a strategy as part of an enterprise wide chatbot, if you allow other parts of your organizations to create mini-bots or skills, what you may encounter is that without a centralized strategy for your bot, the chatbot may have a Frankenstein personality with varied experiences between queries.
Creating a Chatbot Persona Before Developing Error Handling
Consider creating a bio sketch of your chatbot agent helping a user, as this will help you define how your bot will respond to users when there is a confusion point. To do this, think of your agent in the type of experiences that it will be engaging with users.
Define what attributes you will want to infuse into personality of the chatbot’s dialogue when helping a user.
For example, a strategy for your chatbot should consider the following dimensions when you begin designing how error handling messages should be authored.
Questions to Ask When Designing Your Chatbot Response
Is your chatbot professional, friendly, or witty?
Defining generally how your chatbot will respond will allow you to be consistent in the way your bot responds.
Is your chatbot proactive or reactive when responding to a user request?
At the point of confusion, will the chatbot be proactive in trying to help the user course correct? Or will the chatbot respond stating that it cannot understand?
Chatbot Style Guide for Word Usage
When designing your style guide, you can consider the types of words that a chatbot can and should use. For example, list out a few words that mean the same thing, synonyms, and choose the words that your bot would use consistently.
Below in this list, each of the words are similar. The first word is more formal and the second word is informal. Often, with chatbots, the informal tones are preferred so that it seems more conversational and not robotic.
- assist / help
- currently / right now
- please hold / one sec
- remain / stay
- allows / lets
- require / need
- unable to / can’t
- due to / because
- additional / more
- regarding / about
Chatbot Style Guide for Phrase Usage
While you can also substitute words, there are also common phrases that can be easily substituted as well.
Below are a few examples of chatbot phrases that can be refined in order to give and simulate the experience of speaking in a more conversational tone with the user:
- I did not receive a response / Can you try that again?
- If you feel you have reached this message in error / Sorry, how can I help?
- Please select from the following options / I can help if you look through these options
- To help us serve you better / Here, let me help you
- For questions related to / If you have questions related to
- You have entered / Okay, I can look that up
- that was an invalid / Hmmm, I’m not sure. Can you try that again?
- we require that you / I need you to
- please try again / Can you clarify that again for me?
- for faster answers / Just so you know, for quicker answers
- we’re sorry, we are unable to / I can’t help you with that.
Here are some other phrases you can try incorporating in your bot dialogue:
- I found
- Up for that?
- Does that sound good?
- Maybe later
- While you’re at it
- What’s going on
- so you can keep up to date on
- I’ll look that up right now
- Sure, that’s coming up
- Right around the corner from
- That session’s full, but
- You might Like
Types of Error Handling to Consider Before Writing Dialogue
With chatbot conversation flows, building dialogue flows are rarely perfect the first time. There’s always room for failure and learning how to handle those failures.
Below are the different categories for errors that you can have your chatbot handle.
Categories of Errors
System and Technical Errors
These error occurs when there are runtime issues, connection issues, backend service problems, and failed input validation problems. With these types of errors, it’s important in the system data for you to ensure that you are logging the specific type of system or technical error so you can pinpoint the issue. However, to the end user, you’ll need to ensure that there is a user-friendly response to let them know there is an error, but not to the level of the data logging. This can include:
- Critical service is down
- Database is down and saving is not possible
- Some, but not, all services are down
- Something wrong is at the user level
Component Level Error Handling
This is when you can identify what dialog stack the user is interacting inside of, for example within an intent or skill. In this instance, you’ve been able to narrow down to that level, and you can customize the message to confirm to the user at a categorical level what they are trying to do, in order to build confidence, but that there is an error in that instance.
Global Error Handling
Any errors that cannot be handled at the component label will be passed on to this error handling message.This is defined at the chatbot level.
Here are some chatbot evaluation and performance metrics in terms of performance that you can use to start monitoring how well your chatbot is handling issues that come up.
Best Tips on Generating User Friendly Error Messages for Chatbots
Chatbots require more personal guidance when errors occur due to the personal nature of what a conversational bot represents. Determining how you handle and convey a failure to an end user is important so that you can:
- Figure out what’s going wrong
- Protect your users from the minute details of what’s going on (they don’t need to know it’s a error with the backend connection)
- Set up monitoring and alerting
- Continual to learning
Comprehensive Decision Tree
Brainstorm multiple conversation scenarios with every intent and/or skill and come up with a comprehensive decision tree. Things to include are canceling, backing out, and context switching.
Sound Natural
For every dialogue you write, you should read it out loud and make sure it follows the following guidelines:
- This is something your desired persona you’ve sketched would actually say
- The dialogue has been written with voice in mind rather than just copy that was used on a website or app
Be Cooperative
Ensure that your chatbot accommodates the innate rule of human conversation by being truthful, providing relevant and being informative.
Allow Time for Responses by Taking Turns
A good conversation allows each person during dialogue to take turns speaking. This is the same for a chatbot. Provide clues to users on when a response is needed from them by:
- Giving users enough context to respond each time you are expecting a response
- Not making an ambiguous statement and then asking for a response
- Provide users a question or prompt that turns the conversation over to them
- After asking a question, do not prompt unless the user responds unless it is a time out scenario
Prevent errors by expecting variations
The actions should understand the input that is phrased in alternative ways such as yes, but also consider the following phrases as well:
- yeah
- sure
- it does
- it sure does
- of course
- definitely
Provide helpful disambiguation reprompts or pivot to other another question
You should try to reframe questions for users when they say things your chatbot doesn’t understand or when they don’t say anything at all.
If your chatbot times out, instead of not providing anything at all, let the user know that they’ve been timed out. Issues that can occur is that the user may come back and try to pick up the conversation at a previous dialog. To ensure that the user starts anew, allowing them to see that they’ve been timed out let’s them reframe the conversation at the beginning.
Be prepared to help at any time
Users might ask for help at any point in the conversation with the chatbot, so be prepared and either prompt them or offer an explicit help dialogue (a dialog that might include where they can see a list of what the user can do with the bot or provide prompts that takes them into the skill or intent). To do this well, try to prevent confusion with intuitive commands.
Let users replay information
Recognize and appropriately respond to user input like “what?”, “repeat?”, Say that again, and other similar phrases with your chatbot.
Include Backout Requests
In conversation, when possible, include simple backout requests for the users where they can respond to phrases like “nevermind” or “no thanks” that make sense to the user.
Fail gracefully
If users don’t provide a response or one that you can’t recognize after two or three tries, exit with an appropriate message that allows the user to start from the beginning of the conversation and try again.
End Conversations Appropriately
When your users are done with the core skill and intents that are fulfilled by your chatbot, give them a chance to move on. Ensure that there is an unobstructed path to exit the conversation.
Error Dialogue Checklist for Your Chatbot
At a minimum, here is a checklist on what to include for a new intent or skill when developing a chatbot, especially those that have multi-turn components.
- Use phrases and words that match your chatbot’s persona
- Clarify the problem to the end user without too much information overload
- Ensure that your data logging includes specifics about the errors for your developers to troubleshoot
- Users need to have an escape process out if the dialog stack
- Don’t blame within the dialogue, but provide helpful reprompts
- Vary the error messages to not sound robotic
- Check for conversational dead ends by programming the chatbot to handle unpredictable commands
- Test your chatbot before going live. Allow other people outside of your development team to test and play with your feedback with and without context to provide feedback.
Summary About Chatbot Error Handling
Conversational experiences are becoming a mainstream UI component. An entire generation of consumers are using voice, chatbots, and virtual agents as a way to do search.
Chatbots are quickly becoming part of the consumer and customer experience, and you want to make sure that your business is delivering results with your chatbot while also ensuring that the user is getting the optimal experience, which will be a representation of your brand.
As more and more businesses come online with chatbots, user expectations of chatbots are going to be heightened based on what chatbots can deliver for their requests. Giving a graceful failure message that allows the user to be continually redirected to the right information about your business will allow your chatbot developers to be fed more information and get closer to what your audience is looking for.
Other Chatbot Design Strategies
- Employee Chatbots
- Conversational Agent vs Chatbot
- Chatbot Sentiment Analysis
- Chatbot Implementation Challenges
- Chatbot Development Lifecycle
- How to Become a Conversational Designer