The Logic Node provides a simpler experience to developers, primarily business users to use context variables and define complex transition conditions. Its two primary functions are:
- Ability to manage variables and values of variables in the context object.
- Ability to define nested transition conditions.
Add a Logic Node to the Dialog Task
- Open the dialog task in which you want to add the Logic node.
- Click the icon next to the respective node.
- Select Logic > New logic node. You can also select an existing logic node from the available list.
- The Logic window is displayed with the Component Properties tab selected by default.
Define Component Properties
- On the Component Properties tab, under the General Settings section, you can modify the Name and Display Name.
- Use the Manage Context Variables section to set the context variables by entering a key-value pair. Use the full path of the variable in the key field i.e. context.BotUserSession.<variable_name>.
- In the Variable Namespaces section (v8.0), associate the variable namespaces to execute this node and its transitions. This option is visible only when the variable namespace is enabled for the bot. You can go with the task level settings or customize it for this node. For more information, refer to Managing Namespace.
Configure the Instance Properties
Use the Instance Properties to define any user tags that you want to set.
Note: The settings in the Instance Properties tab are specific to the current dialog task and do not reflect in other dialog tasks that use this entity node.
- On the Logic window, click the Instance Properties tab.
- Under the Custom Tags section, add tags to build custom profiles of your bot conversations. Click here for more
Configure the Connections Properties
From the node’s Connections tab, you can determine the node in the dialog task to execute next. You can write the conditional statements based on the values of any Entity or Context Objects in the dialog task, or you can use intents for transitions.
To setup Component Transitions, follow the below steps:
- On the Logic window, click the Connections tab.
- Under the Connection Rules section, you can select a node from the Default drop-down list.
- To configure a conditional flow, click Add IF.
- Configure the conditional expression based on one of the following criteria:
- Entity: Compare an entity node in the dialog with a specific value using one of these operators: Exists, equals to, greater than equals to, less than equals to, not equal to, greater than, and less than. Select the entity, operator using the respective drop-down lists, and type the number in the Value box. For example, PassengerCount (entity) greater than (operator) 5 (specified value).
- Context: Compare a context object in the dialog with a specific value using one of these operators: Exists, equals to, greater than equals to, less than equals to, not equal to, greater than, and less than. For example, Context.entity.PassengerCount (Context object) greater than (operator) 5 (specified value).
- Intent: Select an intent that matches the next user utterance.
- In the Then go to drop-down list, select the next node to execute in the dialog flow if the conditional expression succeeds. For example, if the PassengerCount (entity) greater than (operator) 5 (specified value), Then go to Offers (sub-dialog).
- In the Else drop-down list, select the node to execute if the condition fails.
- Click Save.
Note: If you want to write multiple If conditions, click Add Else If below the last If conditional expression.