- Release Notes Cloud Insights
- Getting Started
- Access and Permissions
- Notifications
- Interacting with Insights
- Overview
- Custom Variables
- Forecasting
- Insights for All
- Automation Hub Integration
- Document Understanding Integration
- Action Center Integration
- Real-time Monitoring
- Real Time Data Export
- Troubleshooting
Custom Variables
Insights always ingests data via the pre-defined fields available in the Insights data model, but Admins can also configure custom variables extracted from robot logs and queues to use for calculating specific KPIs or building more specialized dashboards.
- To include custom variables for processes, you must first make sure they are added to logs in your automation via the
UiPath.System.Activities.AddLogFields
activity in Studio, and then you must select them for ingestion.- Process custom variables will be sent with default robot logs (Process has started/ended) and any message written with the Log Message activity. If no variables are being populated, please ensure to write a log message activity.
- To include custom variables for queues, you must first make sure they are added in workflows via an activity in Studio, and then select them for ingestion.
- Use the
UiPath.System.Activities.AddQueueItem
activity for Specific Data; - Use the
UiPath.System.Activities.SetTransactionStatus
activity for Output Data and Analytics Data.
- Use the
- Disabling custom variables can break the existing dashboards referencing the variables.
- If you’ve already added the custom fields in the Add Queue Item activity, then you only have to designate a Transaction Item as either Successful or Failed, and you don't need to fill in the OutputData or AnalyticsData properties. If you didn’t specify the fields in the Add Queue Item activity, then they must be added in the Set Transaction Item activity when setting the status.
- Only custom variables extracted from the Configure Custom Variable window while in the Tenant view are displayed within organization-scoped custom variable configuration section. Any custom variables that aren't extracted from the tenant aren't displayed within organization-scoped dashboards.
- When changing tenant-scoped custom variables, the organization-scoped custom variables are disabled from the organization. Make sure to re-enable them after all changes are done to be displayed within dashboards.
- ROI and custom variables sections are read-only.
To configure custom variables, an Admin must take the following steps:
- Open the 3-dot menu in the top-right corner of any Insights page, and select Configure Custom Variables. The configuration page opens, listing all custom fields that are available for extraction.
-
Decide whether you want to configure custom variables for processes or queues by clicking the corresponding tab at the top of the configuration page.
- In the Extract column, choose the custom variables that you would like to use when building dashboards.
-
In the Type column, select the custom variable type. You can choose String,Number, or DateTime.
Important:- The fields are limited to 40 characters and any characters after this number will be cut. To add more than 40 characters,
change the
Insights.Etl.Json.MaxStringLen
flag. You can add this flag in the Orchestrator web configuration and set the value according to your project's needs. For example:
<add key="Insights.Etl.Json.MaxStringLen" value="60" />
- The backfill percentage shows the progress of extracting a custom variable from all processes or queues. You will need to refresh the page to see the latest backfill percentage. This might take some time depending on the data size. Custom variable values will backfill from newest data to oldest. The field will be available for use shortly after the configuration is saved, you will not need to wait until it is 100% backfilled.
- You can extract variables from a maximum of 500 processes or queues, and a maximum of 200 variables per process or queue.
- If you configure the Type of a custom variable to Number make sure that it doesn't contain a
,
or other non-numeric characters such as$
as these characters are not supported. For numbers with special characters, please select type String. - Every change in the configuration of custom variables will cause a full new backfill for that specific process. The time of the backfill depends on the number of logs stored in the Insights database for that specific process.
- The fields are limited to 40 characters and any characters after this number will be cut. To add more than 40 characters,
change the
-
Save the configuration. All extracted variables for a specific Process should appear in an explore named *Process - ProcessName, and all extracted variables for a specific Queue should appear in an explore named *Queue- QueueName.
Important: You can extract variables from a maximum of 500 processes or queues, and a maximum of 200 variables per process or queue.Number of Custom Variables Configured
Hardware Scale
Number of Processes
Number of Robot Logs per Process
Approximate Time for Extraction
30
Large Scale
1
1,000,000
5 minutes
30
Large scale
1
40,000,000
120 minutes
To edit an existing configuration, an Admin must take the following steps:
- Open the 3-dot menu in the top-right corner of any Insights page, and select Configure Custom Variables. The configuration page opens, listing all custom fields that are available for extraction.
- Decide whether you want to configure custom variables for processes or queues by clicking the corresponding tab at the top of the configuration page.
- To remove variables that were previously selected, uncheck the Extract checkbox.
- To remove Common status from a variable, uncheck the dedicated checkbox.
- To change a variable’s type, select the new desired type from the dropdown.
- Make sure to save the configuration.
- Perform the following checks on existing dashboards that used a modified or removed variable:
- If you deleted the variable, make sure to remove any references to the variable from formulas that were created or modified, from filters, or inside visualizations;
- If you changed the variable type, ensure that the new type still applies correctly;
- If the variable no longer has Common status, you need to replace the reference to the common variable with the updated per-process value.
This section provides an example of using a custom variable in a dashboard.
In the following image, the ProcessCount variable is present in multiple processes while the Argument1_Email variable occurs only in one process.
Take the following steps to configure custom variables:
- Select the ProcessCount variable for extraction, and choose the String type. Mark the variable as Common so that you get its value across all processes in which it appears.
-
Enable the Argument1_Email variable, and select the String type. Since this variable does not occur in multiple processes, you should not select Common. Click Save.
- Navigate back to Dashboards, create a new dashboard, and add a new tile.
-
Choose the Robot Logs explore to see the already configured custom variables.
Because you selected Common for ProcessCount, you can see that there is no process name prefix because it was added to the standard data model. Unlike ProcessCount, you did not select Common for Argument1_Email, so the custom field was added as Log_Email.Argument1_Email.
Custom variables can have a null value in some particular cases, as described in the following sections.
If you use a field from the standard data model in a visualization paired with a process-specific custom variable field, and a process does not contain the custom variable in the robot logs, the value of all fields associated with the process that does not contain the custom variable in its robot logs is null.
There are two ways to eliminate the null values for this scenario:
Option 1: Add the custom variable as a filter, and set the condition to is not null to remove the null values from the visualization.
Option 2: Set a filter for the process name that does include the custom variable. Note, however, that if you adopt this approach, you may run into the second scenario below.
If a custom variable is not present in all logs generated by a process, the logs that do not contain a value for that custom variable will show the variable's value as null.
The following example illustrates this particular case.
-
Go to Configure Custom Variables. You can see that the Argument1_Email custom variable field only occurs in the Log_Email process. Considering that Argument1_Email is a process-specific custom variable field, keep Common unselected.
- Open a new or existing dashboard and add a tile.
- Navigate to the Robot Logs explore. Select the Process Name field and the custom variable field. In this case, the custom variable field is Log_Email.Argument1_Email.
-
Click Run. The results you see should be similar to the ones shown in the following screenshot.
To eliminate the null values, add the custom variable field as a filter. Lastly, set the condition to is not null, so that you can remove the null values from the visualization.
See our Troubleshooting section for information about troubleshooting and limitations.