- Release notes
- Before you begin
- Getting started
- Integrations
- Working with process apps
- Working with dashboards and charts
- Working with process graphs
- Working with Discover process models and Import BPMN models
- Showing or hiding the menu
- Context information
- Export
- Filters
- Sending automation ideas to UiPath® Automation Hub
- Tags
- Due dates
- Compare
- Conformance checking
- Root cause analysis
- Simulating automation potential
- Starting a Task Mining project from Process Mining
- Triggering an automation from a process app
- Viewing Process data
- Creating apps
- Loading data
- Transforming data
- Customizing process apps
- Publishing process apps
- App templates
- Additional resources

Process Mining
Automation data
You can connect data from a Process Mining app with data from automations run in the UiPath Platform. This gives you an end-to-end view of the processes that are monitored through UiPath.
When you connect automation data to your process data, you gain a more detailed perspective of the end-to-end process. This provides greater insight into 'human-in-the-loop' operations occurring within the process. Moreover, it enables you to better understand delays between automated and manual steps, as well as between system steps, and also track specific targets.
The object information (object types and object IDs) that is present in both the Process Mining project and in the automation data is used to connect the automation data to your process data.
For example, you can join Coupa system data for the Purchase-to-Pay process with automation data for the invoice processing process, which is a subprocess of the Purchase-to-Pay process, using object type Sales Order object ID SalesOrderID as connecting IDs across data sources.
It is assumed that you have automation data that is leveraging the Process Tracking Service and has one or more business objects associated with tasks in the automations. Refer to Process Tracking for more information.
Follow these steps to add automation data to the Input data.
-
Select the Add data icon
next to Automation data in the Input data section of the Data transformations editor.
The Select automated business process window opens, showing available process automations.
Note:You can also select Add data from the Manage automation data window to open the Select automated business process window.
-
Select the process or processes that you want to connect to your Process Mining app data.
-
Select Configure.
The automation data is uploaded and the following tables are added to the Automation data list in the Input data section:
-
Automation_events
-
Queue_items
-
Action_center_tasks
-
Automation_due_dates
Select the Settings icon to open the Manage automation data window.
Excluding tables from the automation
Automation_events
, Queue_items
, Action_center_tasks
, and Automation_due_dates
tables are included in the input data for automations.
You can select the tables you want to exclude from the input.
Setting a date range for the automation data
If you want to set a limited or specific timeframe for the automation, you can specify the start and end date that define the timeframe. The specified timeframe applies to all the tables that are part of the input data.
This could still include data from outside of the timeframe if a trace continues (or ends) past the chosen end date. This is because the timeframe restriction applies to the start of the trace, not the duration or end of it. Therefore, any data generated by the trace after the chosen end date will still be included in the results.
Refreshing the data
Automation data is refreshed automatically when data is loaded for the processs app.
You can also refresh the data from the Manage automation data window. Follow these steps.
-
Select Refresh data. A confirmation message is displayed.
-
Select Reload to reload all available automation data.
Automation_events
table stores the automation events and the business objects that are involved.
Automation_events
table.
Field |
Type |
Description |
| text |
The unique identifier of the trace. |
| text | Name of the process. This is selected by the user when connecting automation data. One or multiple traces can be selected. |
|
text | The unique identifier of the event. |
Parent_event_ID |
text |
The
Event_ID of the parent event.
|
| text | Name of the automation event. |
| text | The business object identifier that related to the automation event. This is explicitly set by the user in the automation workflow. |
Object_type |
text | What type of business object. For example, sales order, invoice, or customer. |
Object_interaction | text | Information about the object related to the event. For example, a create interaction or an approve. |
Object_properties | text | A JSON value storing all properties related to the object (key-value pairs). |
Automation_name | text |
Job property from the job that logs the automation event. In case of a “wait for job” event it is the property of the job that is being waited for. |
|
text | The type of the task the robot will execute. |
Job_source | text | An indication of where the job was initiated from. |
Job_info | text | A short description of the job. |
|
text | The version of the automation. |
Host_machine_name | text | The name of the computer or server on which the job is executed. |
Robot_name |
text | The name of the robot that executed the job. |
Robot_type |
text | The type of the robot that is responsible for executing the job. For example, "Attended", "Unattended", or "non-production". |
| text | The automation event identifier. An event may occur multiple times when multiple objects relate to the event. |
Queue_item_ID |
text | The identifier of the queue item when a queue item relates to the automation event. |
|
text | The identifier of the task when a task relates to the automation event. |
Event_start | timestamp | Timestamp when an automation event started. This is always available. |
Event_end | timestamp | Timestamp when an automation event ended. This is only available when the event is finished. |
Queue_items
table stores the queue items that are related to automation events.
Queue_items
table.
Field | Type |
Description |
|
text |
The identifier to link the queue item to an automation event. |
|
text |
The name of the queue the queue item belongs to. |
|
timestamp |
The date and time the queue item becomes available for processing. |
|
timestamp |
The date and time the queue item should be completed. |
|
timestamp |
The date and time the queue item was added to the queue. |
|
timestamp |
The date and time when the queue item began to be processed. |
|
timestamp |
The date and time when the queue item was completed. |
|
duration/integer |
The number of milliseconds between
Start_processing and End_processing .
|
|
text |
An indication why the queue item could not be completed or processed successfully. |
|
text |
An indication of the progress of the queue item. |
|
text |
A unique identifier for the queue item. |
|
integer |
The number of times the queue item will be attempted again if it fails initially. |
|
text |
The user who is responsible for verifying the successful completion of the queue item. |
|
text |
The status of the queue item indicated by the review. |
|
text |
The name of the robot that processed the queue item. |
|
text |
The priority of the item in the queue. |
|
text |
The status of the queue item while it is in the process of being handled. |
|
text |
An indication of whether an error occurred while processing the item. |
|
text |
The type of the robot that is responsible for processing the queue item. For example, "Attended", "Unattended", or "non-production". |
|
boolean |
A derived property from the processing status. The queue item is considered open when the processing status is “new” or “in progress”. |
Action_center_tasks
table stores the tasks from Action Center that are related to automation events.
Action_center_tasks
table.
Field |
Type |
Description |
|
text |
Identifier to link the task to an automation event. |
|
text |
The description of the task. |
Catalog |
text | The list of tasks that need to be carried out to complete the workflow. |
|
text |
The user or system responsible for completing the task. |
|
text |
The activity or set of activities that need to be performed in order to complete that task. |
Priority |
text | The priority of the task in the workflow. |
Status |
text | The actual status of the task in the workflow. |
Type |
text | A classification of the task. |
|
timestamp |
The date and time when the task was created. |
|
timestamp |
The date and time when the task was last assigned. |
|
timestamp |
The date and time when the task was completed. |
Is_completed | boolean | An indication whether the task is completed. |
|
integer |
A derived field based on the difference between creation and last assigned timestamp. |
|
integer |
A derived field based on the difference between creation and completion timestamp. |
|
integer |
A derived field based on the number of users that were involved looking at the task events. |
Automation_due_dates
table stores the due dates from queue items and tasks.
Automation_due_dates
table.
Field |
Type |
Description |
|
text |
Only contains values when the due date relates to a queue item. |
|
text |
Only contains values when the due date relates to a task. |
|
text |
The name of the Due date:
<queue name> , <task type> task assignment, or <task type> task completion.
|
Due_date_status | text | An indication of the status of the task determined based on when it is expected to be completed. |
Action_on_overdue | text | Action to take when the task is overdue. Only available on task-related due dates. |
Actual_timestamp | timestamp | The date and time the queue item or task was completed. |
|
timestamp |
The date and time the queue item or task should be completed. |
|
boolean |
An indication whether the due date is met or not. |
|
integer |
The difference between actual and expected time. |
sources.yml
file. Then, you can refer to these source tables in the dbt
project like any other input table.
sources.yml
file.
sources:
- name: sources
schema: "{{ var('schema_sources', target.schema) }}"
# Enabled quoting for databases, schemas, and identifiers where the sources are located.
quoting:
database: true
schema: true
identifier: true
tables:
- name: Automation_events
- name: Queue_items
- name: Action_center_tasks
- name: Automation_due_dates
sources:
- name: sources
schema: "{{ var('schema_sources', target.schema) }}"
# Enabled quoting for databases, schemas, and identifiers where the sources are located.
quoting:
database: true
schema: true
identifier: true
tables:
- name: Automation_events
- name: Queue_items
- name: Action_center_tasks
- name: Automation_due_dates
You can use the following code to reference the tables in your dbt project.
with Automation_events as (
select * from {{ source('sources', 'Automation_events') }}
),
Queue_items as (
select * from {{ source('sources', 'Queue_items') }}
),
Action_center_tasks as (
select * from {{ source('sources', 'Action_center_tasks') }}
),
Automation_due_dates as (
select * from {{ source('sources', 'Automation_due_dates') }}
),
with Automation_events as (
select * from {{ source('sources', 'Automation_events') }}
),
Queue_items as (
select * from {{ source('sources', 'Queue_items') }}
),
Action_center_tasks as (
select * from {{ source('sources', 'Action_center_tasks') }}
),
Automation_due_dates as (
select * from {{ source('sources', 'Automation_due_dates') }}
),
You can add events from an automation to the event log if your Process Mining transformations cover multiple business objects. In this scenario you connect automation data to a process app to it to gain more understanding in specific parts of the process.
Sales order
object. You can use a different object by adjusting the relevant references as needed.
Follow these steps to add automations to the event log.
-
Add a new SQL file
Sales_order_automation_events
. -
Copy the following SQL example in which you:
-
Filter the
Automation_events
on the sales order object type. -
Rename
Object_ID
toSales_order_ID
to identify this is a sales order event. -
Use the value stored in
Task
as theActivity
. -
Include at least the mandatory field
Event_end
.with Automation_events as ( select * from {{ source('sources', 'Automation_events') }} ), Sales_order_automation_events as ( select Automation_events."Object_ID" as "Sales_order_ID", Automation_events."Task" as "Activity", Automation_events."Event_end", Automation_events."Event_ID", 'null' as "Parent_event_ID" from Automation_events where Automation_events."Object_type" = 'Sales order' ) select * from Sales_order_automation_events
with Automation_events as ( select * from {{ source('sources', 'Automation_events') }} ), Sales_order_automation_events as ( select Automation_events."Object_ID" as "Sales_order_ID", Automation_events."Task" as "Activity", Automation_events."Event_end", Automation_events."Event_ID", 'null' as "Parent_event_ID" from Automation_events where Automation_events."Object_type" = 'Sales order' ) select * from Sales_order_automation_events
-
-
Union the
Sales_order_automation_events
with the other events defined in your Process Mining project.Note:When you use the Custom or Event log app template, your Process Mining project only tracks one object of interest. You can union the automation events on your object directly with the event log.
-
Make sure to generate a unique
Event_ID
on the unioned events to ensure unique event identifiers in your event log.
-
-
Verify that the object ID you defined in the Process Mining project matches the object ID from your automation events. Update your transformations accordingly such that events from both data sources will be connected with the correct objects.
In this scenario you extract the object properties information from the automation data to use it to enrich the dashboards in your process app.
Object_properties
stores the properties of the business objects that are added in the automations. The value in this field is a JSON format
with key-value pairs.
{"Claim_number": 216, "Client": "Alex Smith"}
json()
function.
json()
function to extract the Claim_number
and Client
properties.
select
Automation_events."Object_ID",
{{ pm_utils.json('Automation_events."Object_properties"', 'Claim_number') }} as "Claim_number",
{{ pm_utils.json('Automation_events."Object_properties"', 'Client') }} as "Client",
from Automation_events
select
Automation_events."Object_ID",
{{ pm_utils.json('Automation_events."Object_properties"', 'Claim_number') }} as "Claim_number",
{{ pm_utils.json('Automation_events."Object_properties"', 'Client') }} as "Client",
from Automation_events
Queue_items
. Join the automation events with this table on the Queue_item_ID
to get information about:
- The priority of the execution.
- Exceptions.
- Due dates.
Priority
and Processing_exception_type
.
select
Automation_events."Event_ID",
Automation_events."Object_ID",
Queue_items."Priority",
Queue_items."Processing_exception_type"
from Automation_events
left join Queue_items
on Automation_events."Queue_item_ID" = Queue_items."Queue_item_ID"
select
Automation_events."Event_ID",
Automation_events."Object_ID",
Queue_items."Priority",
Queue_items."Processing_exception_type"
from Automation_events
left join Queue_items
on Automation_events."Queue_item_ID" = Queue_items."Queue_item_ID"
Automation_due_dates
table. One queue item can have at most one due date. The following SQL code shows how to get the due date information available.select
Automation_events."Event_ID",
Automation_events."Object_ID",
Queue_items."Due_date",
Queue_items."Expected_timestamp",
Queue_items."Actual_timestamp"
from Automation_events
left join Automation_due_dates
on Automation_events."Queue_item_ID" = Automation_due_dates."Queue_item_ID"
select
Automation_events."Event_ID",
Automation_events."Object_ID",
Queue_items."Due_date",
Queue_items."Expected_timestamp",
Queue_items."Actual_timestamp"
from Automation_events
left join Automation_due_dates
on Automation_events."Queue_item_ID" = Automation_due_dates."Queue_item_ID"
Tasks
. Join the automation events with this table on the Task_ID
to get information about:
- The assignee of the task
- The priority of the task
- Due dates (task SLAs)
Assignee
and Priority
.
select
Automation_events."Event_ID",
Automation_events."Object_ID",
Action_center_tasks."Assignee",
Action_center_tasks."Priority"
from Automation_events
left join Action_center_tasks
on Automation_events."Event_ID" = Action_center_tasks."Action_center_tasks_ID"
select
Automation_events."Event_ID",
Automation_events."Object_ID",
Action_center_tasks."Assignee",
Action_center_tasks."Priority"
from Automation_events
left join Action_center_tasks
on Automation_events."Event_ID" = Action_center_tasks."Action_center_tasks_ID"
Automation_due_dates
table. A task can be related to multiple due dates. You can apply due dates when the task should be assigned and when the
task should be completed.
Automation_events
with Action_center_tasks
on the Action_center_task_ID
without any filtering may cause duplication.
The following SQL code shows an example of how to enrich the automation events with task due date information by only considering the task completion due dates.
with Task_completion_due_dates as (
select * from Automation_due_dates
where pm_utils.charindex('task completion', '"Due_date"') > 0
)
select
Automation_events."Action_center_tasks_ID",
Automation_events."Object_ID",
Action_center_tasks."Due_date",
Action_center_tasks."Expected_timestamp",
Action_center_tasks."Actual_timestamp"
from Automation_events
left join Task_completion_due_dates
on Automation_events."Task_ID" = Task_completion_due_dates."Task_ID"
with Task_completion_due_dates as (
select * from Automation_due_dates
where pm_utils.charindex('task completion', '"Due_date"') > 0
)
select
Automation_events."Action_center_tasks_ID",
Automation_events."Object_ID",
Action_center_tasks."Due_date",
Action_center_tasks."Expected_timestamp",
Action_center_tasks."Actual_timestamp"
from Automation_events
left join Task_completion_due_dates
on Automation_events."Task_ID" = Task_completion_due_dates."Task_ID"
- Prerequisite
- Adding automation data
- Deleting automation data
- Managing automation data
- Automation_events table
- Queue_items table
- Action_center_tasks table
- Automation_due_dates table
- Using automation data in transformations
- Adding the tables to
sources.yml
- Referencing the source tables in the dbt project
- Use cases
- Scenario 1. Adding events from automations to the event log
- Scenario 2: Getting additional object information from automations
- Scenario 3: Enriching automation events with queue item data
- Scenario 4: Enriching automation events with task data