Build your bot
In this 'Build your bot' section you will learn how to:
- Build flows that contain the logic needed to resolve specific question of the user.
- Bring your various flows together in conversations by sharing information between flows and using context.
- Improve language understanding of your bot by using Teneo's unique hybrid natural language model.
- Make your bot more capable by learning the finesses of the scripting options in Teneo.
- Read more on our best practices when building a bot.
- Teneo allows you to perform quality assurance tasks during the development and maintenance of a Teneo solution by testing your flows.
Once you're ready to make your bot available on multiple channels, move over to Deploy your bot where you'll find documentation on our SDK's and example connectors for platforms like Slack, Facebook Messenger, Microsoft Bot Framework, and Google Assistant. Check out Analyze your bot for details on getting more out of your conversational AI solution.
Dialogues in Teneo are handled by Flows. Flows are visual objects that contain all the necessary logic to resolve a user's question or intent. Depending on the user's intent, the flow may vary in complexity. You can add as many flows to your solution as you want. Together, the flows allow the user to have a conversation about different topics.
Flows can be simple (e.g. to answer the question "What kind of coffee do you have?") or complex (for example, a flow that helps the user book a flight), but they always represent some kind of predefined conversational pattern.
Flows in Teneo are represented graphically. At the top of the flow, we find the trigger. This is where we define what kinds of inputs should activate the flow. This can be done in various ways, including by creating machine-learned classes or by defining linguistic rules.
Simple flows just contain a trigger that recognizes the user's intent and an output that contains the answer.
More complex flows may contain many more elements like junctions & transitions, different outputs, links to other flows, etc.
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.
Teneo uses a hybrid model when understanding language. This means that in Teneo you can mix machine learning algorithms and linguistic conditions for Natural Language Understanding (NLU). This approach gives you both the power of machine learning and the precision and linguistic scalability that linguistic conditions provide.
Throughout the lifetime of your bot, you may need to execute scripts and code. For example, at the start of the conversation you might want to retrieve and store the timezone of the user, so you can personalize the greeting message and also use the timezone in other flows. Or inside a flow, you might want to run a script to check if a user provided a valid account number.
Scripts in Teneo are written in Groovy or Java code. Apache Groovy is similar to Java but with an easier-to-learn syntax. More details on Groovy can be found here.
For a quick overview of basic Groovy scripts that come in handy when using Teneo, see the Groovy basics page. If you're looking for something more like a tutorial, we quite like this one.