A Lookup Node is used to create different Flow paths, based on a chosen operand.
operand can be set manually to
Mode, or custom
CognigyScript. In the appended Case Nodes, the specific values for the selected operand are entered. The operand is evaluated during the execution of the Flow, and the result is compared with the values of each case. If there is a match, the Flow path of the matched case will be executed. If there is no case match, the path of the Default Node will be executed.
If you choose CognigyScript as the operand, you must use direct CognigyScript similar to the If Node. You can also select to parse the CognigyScript as a string or not.
An alternative to nested IF nodes
Lookup Nodes are used if the number of possible options becomes too large to use If Nodes. Instead of saying if
input.intent === "orderFood" then x, else ->
input.intent === "orderDrink", else ->
input.intent === "askHelp", else ..., you can simply use a Lookup on Intent with multiple cases (
askHelp) and a default.
This is the default setting for the Lookup Node, and it allows you to easily lookup the Intent that has been triggered.
By default, the Intent at the most detailed Intent Hierarchy level is matched. In this case, the Intents of all three levels are selectable in the Intent dropdown menu of the Case Nodes.
However, you can also select a level via the "Intent Level" dropdown, if Intents should only be matched on a certain hierarchy level. In this case only the Intents of the chosen level are selectable in the Intent dropdown menu of the Case Nodes.
Want to know more about using Intents?
Find more information about building flows with intents on the NLU Overview Page.
By changing the lookup type to State, the flow will select a case that matches the value of
input.state. The case values must manually be written for this type of lookup.
What is State??
States allow limitations to be placed on a conversation that restrict the valid Intents that the NLU has access to. Find out more on the States Page.
By changing the lookup type to Type, the flow will select a case that matches the value of
input.type. The case values must manually be written for this type of lookup.
What is Type?
The Type is defined as a classification of the last user message as determined by the NLU. The type is an Input variable that can be one of the following values: Statement, Command, Greeting, BGreeting, whQuestion, howQuestion, ynQuestion, pAnswer or nAnswer.
By changing the lookup type to Mode, the flow will select a case that matches the value of
input.mode. The case values must manually be written for this type of lookup.
What is Mode?
The Mode provides information on the what was contained in the last user message. The type is an Input variable that can be one of the following values: TextOnly or TextData. (Data only messages have an implicitly defined text that includes
DATA_ONLY_MESSAGE_ followed by a randomly generated string of 20 characters)
By changing the lookup type to CognigyScript, the flow will select a case that matches the value of any variable that is entered in the "Operator" field, either by using a token or by writing the variable path in CognigyScript. This feature makes it possible to change the flow path based on any variable in the
profile. The case values must manually be written for this type of lookup.
What is CognigyScript?