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.
Set-Up
Setting up a logic node in a dialog task involves the following steps:
Add Node
- 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.
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 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
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.