Conversations

One of the trickiest things in bot design is bringing your various flows together in conversations. It's easy to create a bot that handles a single task, but this is rarely enough. In fact, even when your bot is designed for one task only, users may ask about other things. This is a fundamental difference between for example GUI design and bot design. In a GUI, users may only interact using the things that are actually there. Conversations, on the other hand, have no obvious borders. So even the smallest bot needs to have at least one extra flow for dealing with things out-of-scope.

Another special (and cool) thing about conversations is that users can share information between flows, e.g. if the user wants the bot to suggest a coffee type, which triggers a different flow where the user can order said coffee type. The user does not even need to mention the coffee type again, it can simply just re-use the answer the bot gave and order it.

The good news is that these things are exactly what Teneo is built to help you with.

Conversations vs Flows

Flows implement the logic needed to resolve a specific user's question. They can be simple (e.g. a flow that answers the question "What is your favorite color?") or complex (e.g. a flow that helps the user book a flight), but they always represent some kind of predefined conversational pattern. In contrast, a full conversation is rarely foreseeable. Luckily, however, you don't have to map it all out!

Let's look at an example:

User: Which coffee would you recommend? (Flow: User wants bot to suggest a coffee)
Bot: Easy choice, a flat white of course!

User: I'll go for one of those then. (Flow: User wants to order a coffee)
Bot: Ok, a flat white will be ready for pickup in 5 minutes.

Two flows are at play in this conversation. First, a flow for the bot to suggest a coffee type, and then, after the suggestion, another flow to order it. These flows have been designed independently of each other. When designing them, this particular connection might not even have crossed the designer's mind. Still, it works, as Teneo takes care of sharing information across different flows.

Teneo can also handle small ambiguous inputs where the user is not clear with the intent. Teneo can grab a certain keyword and ask a follow-up question to understand more about the intent and later send the user to the correct flow.

In the example below, the designer is not clear with its intent but when a keyword is mentioned we manage to sort it out.

User: espresso
Bot: You're talking about coffee. Would you please tell me what you wanted exactly? Did you want to order a coffee or see our selection coffees?

User: order
Bot: Ok, what coffee would you like?

User: espresso
Bot: Ok, a espresso will be ready for pickup in 5 minutes.

Was this page helpful?