Access the Map page and configure the intents to processes from your connected Dialogflow NLP agent to run in your connected Orchestrator service.
To map an intent to process follow the below steps:
- Click the Add button corresponding to the process column for that intent.
In the dialog box that appears the below information is available:
- a list of processes in the connected Orchestrator service on the left
- the input and output arguments for the selected process in the center
- the parameters from the Dialogflow intent being mapped to
Each input argument is marked as follows:
- a green check-mark indicates that the input is mapped to a parameter from the intent.
- a red cross mark indicates a required input argument that is not mapped to a parameter from the intent.
To successfully build an intent to the process map, all required input arguments of the process must be mapped to intent parameters.
- Create an intent to the process map by clicking the Map button from the dialogue box.
A process that's mapped to an intent is triggered once the intent is successfully set up, signifying that all the required parameters of the intent have been assigned corresponding values.
Marking a parameter as required in Dialogflow is a great way to ensure that you capture key pieces of information from the user.
You can edit and delete existing mappings at any time. To do this, hover over a mapped intent and click the Edit or the Unlink icon.
The below requirements need to be met for the user inputs to be successfully transferred to your process:
Intent parameter names must be identical to process input argument names.
To transfer input parameters from an intent to a mapped process, parameter names must be identical.
Example: A parameter called orderID in a Dialogflow intent will only be transferred as an input argument to a mapped UiPath process only if the input argument for that process is also named orderID.
Output format of the intent parameter must be compatible with the argument type of the input argument in the mapped process.
When using system entities provided by Dialogflow, pay special attention to its output format, meaning the type of value that is transferred from the parameter to our input argument.
Use the reference table below to help you choose the input argument type used for your process:
|Dialogflow system entity output format||Recommended input argument type|
String in ISO-8601 format
|Array (for parameters where isList is set)||Array of [T]|
The usage of incompatible argument types results in runtime errors. The Something went wrong… message is displayed to the user in the chat.
For Object type inputs, use the DeserializeJSON activity to easily access its properties.
The below screenshots illustrate the conversion of an Object (from the Dialogflow intent) that contains the temperature and unit of measurement, to a JSON Object to be used in the process.
The below requirements need to be met for the process inputs to be successfully transferred to the user:
The responses to the user must be defined in the responses section of the intent:
Dialogflow allows the definition of responses for an intent. For an intent mapped to a process, the response is sent only after the process has been run successfully.
All responses to the user, even if they include data from a process run, must be defined in the responses section of the process.
Store the information you want to pass back to the user in output arguments.
Any information that you would like to send to the user must be stored in an output argument of type String from your process.
Specify output arguments in the Dialogflow intent response.
To send outputs from your process run to the end-user via a message, specify the output argument enclosed within the angle brackets < > in the responses defined for your Dialogflow intent.
Example: Our process gathers shipping details for an order, and stores it in an output argument called shippingDetails of type String. To have the chatbot respond to the user with this information, add
<shippingDetails>in the responses section of the intent.
Below is an example of a response defined in Dialogflow:
Here’s shipping information that I found for your order:
Is there anything else I can help with?