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 modifcation, 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.

Received a response like 'Answer1'

If you see a response like 'Answer1', 'Answer2' etc. it means the answer that was given does not yet have a proper response text and it is using the default placeholder. It could be the answer text was forgotten, or perhaps you mistakenly added additional answer variants without realizing. The original answer text is then used as a fall back response, while the answer placeholders are returned first. In that case it might look something like this:

Answer placeholders in output

Quickly navigate to the output node causing the problem by clicking on the corresponding icon under the response that appears in the Try out panel. Either write in answer texts or remove the answer variants that you don't need.

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 Continues without input is 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 favorite coffee. The fallback response should be set as the last transition, but in this case it isn't. If someone mentions espresso as their favorite type of coffee, 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 you generated looks like this:

Picture of bare word condition

it 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 TLR, the condition should look more like this:

Picture of TLR word condition

Flow is waiting for an input at the wrong place

As a general rule, transitions leaving non-output nodes (script nodes, junctions, flow links) should be set to Continues without input.

A common mistake is to link two outputs together which you would like to be given at the same time, but without realizing it, you force Teneo to wait for an input after the first output is given. You can see an example of this design in the flow User wants to know if we have a store in city in which we have linked two output nodes as a single response. The second output is conditional on the user having mentioned some city where we don't have a shop. It is set to continue, because we don't want to stop and wait for an input. With this second (optional) response we are giving the user additional information.

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?