Subscribe

UiPath Orchestrator

The UiPath Orchestrator Guide

Working with long-running workflows

Processes that require logical fragmentation or human intervention (validations, approvals, exception handling) such as invoice processing and performance reviews, are handled with a set of instruments in the UiPath suite: a dedicated project template in Studio called Orchestration Process, actions and resource allocation capabilities in Orchestrator.

Broadly, you configure your workflow with a pair of activities. The workflow can be parameterized with the specifics of the execution, such that a suspended job can only be resumed if certain requirements have been met. Only after the requirements have been met, resources are allocated for job resumption, thus ensuring no waste in consumption.

In Orchestrator this is marked by having the job suspended, awaiting for requirements to be met, and then having the job resumed and executed as usual. Depending on which pair you use, completion requirements change, and the Orchestrator response adjusts accordingly.

Jobs

Activites

Use Case

Start Job and Get Reference
Wait for Job and Resume

Introduce a job condition, such as uploading queue items.

After the main job has been suspended, the auxiliary job gets executed. After this process is complete, the main job is resumed. Depending on how you configured your workflow, the resumed job can make use of the data obtained from the auxiliary process execution.


If your workflow uses the Start Job and Get Reference activity to invoke another workflow, your Robot role should be updated with the following permissions:
View on Processes
View, Edit, Create on Jobs
View on Environments.

Queues

Activities

Use Case

Add Queue Item and Get Reference
Wait for Queue Item and Resume

Introduce a queue condition, such as having queue items processed.

After the main job has been suspended, the queue items need to be processed through the auxiliary job. After this process is complete, the main job is resumed. Depending on how you configured your workflow, the resumed job can make use of the output data obtained from the processed queue item.

Actions

Form Actions

Activities

Use Case

Create Form Task
Wait for Form Task and Resume

Introduce user intervention conditions, found in Orchestrator as actions.

After the job has been suspended, an actions is generated in Orchestrator (as configured in Studio).

Only after action completion, is the job resumed.

Form actions need to be completed by the assigned user. User assignment can be handled directly in Orchestrator, or through the Assign Tasks activity.

External Actions

Activities

Use Case

Create External Task
Wait for External Task and Resume

Introduce user intervention conditions, found in Orchestrator as actions.

After the job has been suspended, an actions is generated in Orchestrator (as configured in Studio).

Only after task completion, is the job resumed.

External actions can be completed by any user with Edit permissions on Actions, and access to the associated folder.

Document Validation Actions

Activities

Use Case

Create Document Validation Action
Wait for Document Validation Action and Resume

Introduce user intervention conditions, found in Orchestrator as actions.

After the job has been suspended, an actions is generated in Orchestrator (as configured in Studio).

Only after task completion, is the job resumed.

Document Validation actions need to be completed by the assigned user. User assignment can be handled directly in Orchestrator, or through the Assign Tasks activity.


In order for the Robot to upload, download an delete data from a storage bucket, it needs to be granted the appropriate permissions. This can be done by updating the Robot role with the following:
To upload document data:
View, Create on Storage Files
View on Storage Buckets

To delete document data after downloading:
View, Delete on Storage Files
View on Storage Buckets

Duration

Activity

Use Case

Resume After Delay

Introduce a time interval as a delay, during which the workflow is suspended.

After the delay has passed, the job is resumed.

Job fragments are not restricted to being executed by the same Robot. They can be executed by any Robot that is available when the job is resumed and ready for execution. This also depends on the execution target configured when defining the job. Details here.

I defined my job to be executed by specific Robots, say X, Y and Z. When I start the job only Z is available, therefore my job is executed by Z until it gets suspended awaiting user validation. After it gets validated, and the job is resumed, only X is available, therefore the job is executed by X.

  • From a monitoring point of view, such a job is counted as one, regardless of being fragmented or executed by different Robots.
  • Suspended jobs cannot be assigned to Robots, only resumed ones can.

To check the triggers required for the resumption of a suspended job, check the Triggers tab on the Job Details window.

Updated about a month ago


Working with long-running workflows


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.