Sometimes your bot will not understand what the user says. It is thus important that your solution contains a fallback flow that deals with user inputs that are not understood. In Teneo, we call this flow a Safetynet flow.
The Safetynet flow consists of a trigger with a star (*) and %$_QUESTION as a language condition. The reason for this is that the Safetynet flow needs to be true for any input. To work as intended, Teneo must test all other triggers before falling back to the Safetynet trigger. The Safetynet trigger must thus be placed at the bottom of the trigger ordering.
Apart from having a very generous language condition, a Safetynet flow is like any other flow. It may be triggered when there is no other active flow in process, or in the middle of some other flow as in the following example:
User: I'd like to order a coffee.
Bot: Ok, what coffee would you like?
User: ajkfhh (the coffee order flow is interrupted and the Safetynet is triggered)
Bot: I'm sorry but I didn't get that. (Safetynet response is given)
Bot: Let's continue with your order. Which coffee would you like? (the coffee order flow is resumed)
The same Safetynet flow may thus cater to non-understood inputs in all sorts of different contexts!
The Safetynet fallback flow is crucial for every solution. This flow can be built using the following steps.
The Teneo Dialogue Resources (TDR) come with a pre-built Safetynet flow. You can find it in the 'Safetynet' folder. For solutions in languages without available TDR, it is useful to add your own Safetynet flow using the following instructions and localizing to the language in question.
The Safetynet is always located at the bottom of the order groups. This is because the Safetynet is built to trigger on every single input, catching the inputs that are not covered inside the solution. In order for the Safetynet to not steal any of the inputs, it is important to create an order group specifically for the Safetynet and place it at the lowest level.
More on how to create your own custom order group can be found here: Create a custom order group.
To begin with, create your flow:
As mentioned above, the Safetynet flow uses one conditional match requirement. You can now go ahead and create that:
* / %$_QUESTION.
As the Safetynet fallback flow is one of the most triggered flows, it is important to add a wide range of answer texts inside the output node. Output nodes can contain multiple answer variations to make the conversation more dynamic. Teneo will choose any of these answers randomly and return it to the user.
I'm sorry but I didn't get that.
I'm not sure I know what you mean?
Can you help me understand that?
Can you say that again using different words?
I didn't get that.
I'm afraid I have no answer for you.
I don't have a good answer to that.
Sorry, can you rephrase that for me?
I don't think I got that.
An area Safetynet captures ambiguous inputs, but instead of giving a standard answer it recognizes what topic the user mentioned and tries to redirect the conversation towards that goal.
For example, if a user mentions the word 'coffee' without any other context, the bot might respond like this:
Bot: I understand you would like to talk about coffee. Can you be more specific? Did you want to order a coffee or see our selection of coffees?
User: your selection
Bot: We offer a variety of handcrafted coffee drinks - from espressos to macchiatos to flat whites and more.
A practical example of how to build an area Safetynet can be found here.
Was this page helpful?