Form node lets you integrate the UI Forms into a Dialog Task. This would facilitate the presentation of form to capture user inputs for specific use cases.
The primary purpose of the Form Node is to represent a UI Form in the dialog task and make the form available for the end-users on their channel. For example, let’s consider a banking bot that has a form to capture the customer details for opening a new account. You may want to use the form instead of prompting for each and every entity value.
Step 1: Adding a Form Node to the Dialog Task
- Open the Dialog Task in which you want to add the Form node.
- Hover over the node next to which you want to add the node, and click the Plus icon.
- Go to Form and select the UI Forms from the available list (Note you cannot create a new Form Node from within a Dialog like other nodes).
- The Component Properties panel opens.
Step 2: Configuring the Component Properties
The Form Component Properties allow you to configure the General Settings, User, and Error Prompts.
- Enter a Name and Display Name for the Entity node. Entity names cannot have spaces. The UI Form property is set to the UI Form you selected and cannot be changed.
- In the Prompt Message text box, enter the prompt message that you want the user to see for this form. It would be giving instructions to the user to click on the link to initiate the form. You are advised not to change the context variable reference (of the form
{{context.form_node.formLink}}
)coded therein. You can enter channel-specific messages for user prompts. For more information, see Using the Prompt Editor. - In the Error Message box, review the default error message, and if required modify it. For more information, see Using the Prompt Editor.
- In the Submit Message box, review the default message to be displayed after successful submission of the form, and if required modify it. This message is applicable only when the UI Form is opened in a browser tab and not for Web/Mobile SDK. For more information, see Using the Prompt Editor.
- In the Web/Mobile SDK Form Behavior section, you can set how the form should be displayed. You have the options of:
- Open full page popup form – this is the default setting where the form will be opened as a full page on the SDK chat interface.
- Open inline form – The form will be opened as an inline form within the chat window
Step 3: Configuring the Instance Properties
Use the Instance Properties to define any user tags that you want to set.
- Click the Instance Properties icon on the Entity node.
- Custom Tags defines tags to build custom profiles of your bot conversations. See here for more.
Step 4: Configuring the Connections Properties
From the node’s Connections panel you can determine which 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 these steps:
- You can select from the available nodes under the Default connections.
- 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. 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. Example: Context.entity.PassengerCount (Context object) greater than (operator) 5 (specified value)
- Intent: Select an intent that should match the next user utterance.
- In the Then go to the 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.