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.

Changes not saved

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 Try Out.

TODO Label

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.

TODO1-psd

Inside the flow you will detect the 'TODO' label in the node where something is missing with a longer explanation.

twotodo

Wrong transition order?

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:

Wrong syntax condition in transition

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 Teneo Lexical Resources. If the condition is created without Language Objects it should look like this:

condition-bad

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 Teneo Lexical Resources, the condition should look more like this:

condition-bad

Flow is waiting for an input at the wrong place

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:

Example of waiting for input at the wrong place

Was this page helpful?