Over the years I improved and expanded the general 'catch all' fallback as I found it, well, too general.
I felt that it offered users too little, so I experimented with copy, human agent handover buttons and more.
From some trial and error and general A/B testing , I found that different levels of fallback with helpful guides (to try again) worked best.
I created a guide of the different fallback steps we eventually used on the chatbot platform.
In addition to the main fallback types, I utilised Dialogflow's system entities in order to offer some contextual fallback responses.
These covered cases where users entered a name, number, or email with little or no context.
A custom fallback recognises the type of input and offers an appropriate response.
e.g. "Right, that looks like a name..." with button options offering suggested topics. In an airline context, this could mean updating personal details, attempting to find a booking by name or changing a passenger name.
Second Opportunity Fallback
In Toby I planned for a 2-step approach, offering users to try again as well as different option buttons to help the user seek further assistance.
To encourage users to try again, a handoff to a human representative is not offered just yet. The NLU was set up in such a way that a second misunderstood utterance would be ignored, allowing a user to try again without the constant interruptions of "I don't understand, I don't understand."
Ultimately, after 3 attempts, the chatbot will respond with an acknowledgement that it was unable to find a response and offer human assistance.