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.
Setting up a logic node in a dialog task involves the following steps:
- Open the dialog task to add the Logic node.
- Add logic node in the designated place. For steps in adding nodes, refer here.
- The Logic window is displayed with the Component Properties tab selected by default.
- 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.
Use the Instance Properties to define any user tags that you want to set.
- 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
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.