My flow behaves unexpectedly
If your input triggers the correct flow but there is a problem with getting the correct response within the flow, don't worry. These kinds of issues are usually easy to fix because the solution is right there inside the flow. Here we describe the most common issues behind a flow giving a wrong response.
Before we go on be sure to save your work before testing. When working on a flow, it often turns into a cycle of adding a modification, then testing it, until the flow evolves into its final state. In the heat of the battle, it's easy to forget saving. After saving the flow, the changes will be available for testing in Tryout.
If you see a yellow 'TODO' label in your flow its usually because you forgot to add something. This can be seen from the main solution window where hovering over the TODO label will show you what is missing.
Inside the flow you will detect the 'TODO' label in the node where something is missing with a longer explanation.
If you are branching at a junction followed by multiple different response possibilities, remember that Teneo evaluates the transitions in the order that they are numbered. The design we recommend for transitions of type Get input before continuing is unselected to have the first transitions using language conditions, and the final transition as a default or fallback, in case none of the other transitions are chosen. The fallback transition should be set to unconditional, and be ranked last. This is the design introduced in the exercise on branching at the beginning of a flow. Make sure your flow is doing something similar.
Here is an example with a flow to give special responses to mentions of the user's coffee type. The fallback response should be set as the last transition, but in this case it isn't. If someone mentions espresso as a coffee type of choice, they would see the fallback response. This is how to fix it:
If the issue has nothing to do with ordering, you may need to check the language conditions used in the transitions to be sure they are doing what you expect. Maybe the input triggered the flow but failed to meet the additional constraint given by the transition condition.
One source of error might be a failure to use the Lexical Resources. If the condition is created without Language Objects it should look like this:
This means your solution is not using a lexical resource. The resulting condition is quite strict and does not allow for alternate word forms or synonyms, making it more likely that common language variations will not be understood.
This section tells you how to assign the Teneo Lexical Resources to your solution. After re-generating the above condition in a solution using the English Lexical Resources, the condition should look more like this:
As a general rule, for transitions leaving non-output nodes (script nodes, junctions, flow links) Get input before continuing should be unselected.
In our use a Sub-Flow page we have a flow with an output node continuing to a Sub-Flow. The output tells users that we'll add the user to the mailing list. The Sub-Flow prompts the user for an email address. If we had designed the flow this way, it would not work, because Teneo would wait for a new input before going to the sub-flow: