As a bot developer, you typically create a task to resolve one primary user intent. Yet, user conversations can branch into related intents (follow-up or sub-intents) as a part of the primary intent.
Let us take a look into this sample conversation for a flight booking assistant:
VA: Hi, how may I help you today?
User: Hey, what flight options have I got from LA to NYC?
VA: Sure, let me know the travel date.
User: Wait a minute, will it rain in NYC this Sunday?
The primary intent of this conversation is to book a flight ticket. But the user wants to know the weather forecast before completing the booking, which is a valid use case.
User Intent Nodes help you add a root intent, a follow-up or sub-intents to your dialog tasks. The flow for a follow-up intent is built within the same dialog task using transitions, and cannot be linked to external tasks. When the execution of a follow-up intent is completed, the conversation flow continues within the same dialog tasks based on the transitions you add.
Note: To start a new Dialog Task from an existing one, you can use the Dialog Task nodes.
Setting up a user intent node in a dialog task involves the following steps:
Add the Node
- Open the dialog task to which you want to add the user intent node.
- Add a user intent node in the designated place. For steps on adding nodes, please read more here.
- The user intent window is displayed with the Component Properties tab selected by default.
Configure the Node
Note: The configurations you set up or edit in the Component Properties tab reflects in all the dialog tasks that use this node. These settings are the same for Intent and Sub-intent nodes.
- On the Component Properties tab, under the General Settings, you can modify
- The Name,
- The Display Name,
- The Description.
Under the Instance Properties tab, you can configure the instance specific fields for the selected intent node. These settings are applicable only if you are connecting an existing intent node and only for the selected node instance, and will not affect other dialog tasks that may invoke the node you are working with.
You can add tags to build custom profiles of your VA’s conversations. You can define a key and a value for each of the following:
- Message – Define custom tags to be added to the current message in the conversation.
- User – Define custom tags to be added to the user’s profile information.
- Session – Define custom tags to be added to the current conversation session.
Here is an example of a dialog task that is connected as a subintent in a more complex one.
- From the NLP Properties tab, you can configure the following:
- Machine Learning settings to provide user utterances to improve the detection for this intent.
- Patterns & Rules to capture this intent if the user’s utterance contains these specific patterns.
- Bot Synonyms or related phrases for this user intent.
- Manage Context to control the flow of the conversation:
- Set Intent Preconditions: The intent will be detected only if any of the context tags specified as pre-conditions are available in the context at the time of intent detection.
- Configure Context Output: Define the tags to be set in the context when this intent is initiated. Intent name is automatically set as output context by the system.
Click the Connections tab and set the transition properties to determine the node in the dialog task to execute next.
Primary Intent nodes only allow you to select the next node to trigger.
If the Intent node you are working with does not represent the primary intent within the dialog task (if it follows another node), you can write conditional statements based on the values of any Entity or Context Objects in the dialog task, or you can use intents for transitions. For details on how to work with connection conditions, please see Adding IF-Else Conditions to Node Connections.
Note: These conditions are applicable only for this instance and will not affect this node when being used in any other dialog.