# About Processes

> A process represents a package version linked to a particular folder. When you deploy a new process, it becomes available for all accounts that have access to that folder.

A process represents a package version linked to a particular folder. When you deploy a new process, it becomes available for all accounts that have access to that folder.

The **Processes** page enables you to deploy an uploaded package as a new process, manage previously created processes, keep all your processes up to date with the most recent package versions, and directly start a job using the desired process. This helps you distribute packages across all accounts in your organization and execute processes faster whether from the **Processes** or Jobs page.

In addition to executing processes from the **Processes** and **Jobs** pages, you can also configure any process to automatically start when the Robot agent is launched. As an administrator, this enables you to ensure that necessary processes are launched without delay or failure from the machine user, for example, to ensure adherence to company IT policies.

The table below contains field descriptions for the **Processes** page.

 <colgroup>
  <col/>
  <col/>
 </colgroup>
 
  
     Field  
     Description  
  
 
 
  
    Name 
     The display name of the process.  The process type is illustrated with an icon displayed alongside the version. The icon represents the type of that specific process version. 
      
         Requires User Interface
         Background Process
      
You can sort the processes list by Name . 
  
  
    Package Name 
    The name of the package that was deployed.  Not visible by default. To display the column, select it from the Columns menu.  You can sort the processes list by Package Name .  
  
  
    Version 
     The number of the package version currently being used in a given process. 
      
         The  icon next to this field indicates that you are not using the latest available version. 
         If the package version associated with a process is no longer available in the configured NuGet repository, it is indicated with the following icon  . 
         If you are using the latest available version, the following icon  is displayed. 
      

  
  
    Job priority 
     The priority of the job.  Click here for details about the job prioritization mechanism.  You can sort and filter the processes list by Job priority .  
  
  
    Scope 
     The scope of a project, set at design time in Studio. The following options are available: 
      
         Process - displayed for Studio projects of type Process or Library 
         Testing - displayed for Studio projects of type Test Automation 
      
You can filter the processes list by Scope . Not visible by default. To display the column, select it from the Columns menu. 
  
  
    Execution type 
     The type of the process execution. Linked to the Attended Automation project setting in Studio: 
      
         if you turn on the toggle, the process is executed in an Attended context 
         if the toggle is off, the process is executed in an Unattended context 
      
 The Unspecified value is displayed for packages published prior to the 2021.10.3 Studio version.  Click here for details about the Attended Automation.  
  
  
    Compatibility 
     The compatible operating system for the underlying target framework of the automation project.  
  
  
    Entry point 
    The workflow file used to start the execution of the process. By default, the <code>Main.xml</code> file is set as the entry point. If your project contains multiple entry points, the one selected at process creation is displayed. 
  
  
    Description 
     A custom description for the process. It is recommended that you populate this field, especially when dealing with multiple users and processes in Orchestrator.  
  
  
    Labels 
    The list of all labels associated with the process. 
  
  
    Properties 
    The list of all key-value pairs associated with the process. 
  
  
    Retention action 
    The retention policy outcome at the end of the retention duration. 
  
  
    Retention (days) 
    The duration of the retention policy. 
  
 

Figure 1. Automations

![Screenshot of the Automations page](https://dev-assets.cms.uipath.com/assets/images/orchestrator/orchestrator-screenshot-of-the-automations-page-236178-3f655d8b.webp)

## Runtime Arguments

### Entry Points

There are cases when your automation projects consist of multiple workflows. For such projects, it is a good practice to hold your project's main workflow in the `Main.xaml` file. All other automation `.xaml` files included in the project should be linked to the `Main.xaml` through the **Invoke Workflow File** activity since in typical scenarios only the `Main.xaml` file is executed when you run a job, it being the default entry point of any automation project. Learn more about [project organization and design principles in Studio](https://docs.uipath.com/studio/standalone/2022.10/user-guide/project-organization).

You can change the entry point of an automation project, i.e. change its execution "gate" by changing the main `.xaml` file. Similarly, you can add multiple entry points for your RPA processes, which enables you to execute only a certain branch of your automation project.

You can change the main `.xaml` file or add multiple entry points in RPA processes in Studio by right-clicking a different `.xaml` file and setting it as main or adding it as an entry point.

Say you build a workflow that checks invoices. The invoice could be downloaded from cloud storage or it could be located on your device.

You design two workflows inside the project and set them both as entry points:

* `DownloadInvoiceFromStorage.xaml` — workflow that downloads the invoice from an external storage
* `GetInvoiceFromLocal.xaml` — workflow that gets the invoice from your device.

At run time in Orchestrator, you select as an entry point the workflow that corresponds to your scenario. If the invoice is already on your local device, you set `GetInvoiceFromLocal.xaml` as an entry point. This starts the execution beginning with that step and continues with the invoice checking workflow (the `Main.xaml` file).

:::note
* For packages published before July 2020, Orchestrator cannot determine the main entry point, hence no entry point is selected
by default. You need to select the entry point from the drop-down manually.
* If the process doesn't support multiple entry points, Orchestrator displays `Default` in the **Entry point** drop-down, and the field is disabled.
:::

### In, Out, In/Out Arguments

Designing your project in Studio to accept In or Out arguments enables you to use them in other third-party apps or Orchestrator. This means that any process you create can receive input arguments through the Orchestrator API or interface.

In Orchestrator, arguments and related information are displayed in multiple places: at the process level, job level, and trigger level in the dedicated arguments sections (**Runtime Arguments** or **Arguments** tab).

You can specify values for any input arguments. For more info on input and output arguments in Orchestrator, please visit this [page](https://docs.uipath.com/orchestrator/standalone/2023.10/user-guide/about-input-and-output-arguments#about-input-and-output-arguments).

Figure 2. Adding a process

  ![1 - Select the entry point. Only enabled if multiple entry points are available. 2 - Filter the displayed arguments according to their direction (Input, Output, All). 3 - See arguments and related information for the.xaml set as the entry point.](https://dev-assets.cms.uipath.com/assets/images/orchestrator/orchestrator-1-select-the-entry-point-only-enabled-if-multiple-entry-points-are-available-2-filter-the-displayed-arguments-according-to-their-direction-input-output-all-3-se-3d910849-569d77e6.webp)

Figure 3. Starting a job

  ![Starting a job](https://dev-assets.cms.uipath.com/assets/images/orchestrator/orchestrator-starting-a-job-226126-ad681f61.webp)

:::note
Default values provided for In arguments in Studio are not displayed in Orchestrator, at any level.
:::

## Background Vs Foreground Processes

This section describes existing process types according to the user interface requirements. The process type is configured in Studio on the [Project Settings window](https://docs.uipath.com/studio/standalone/2022.10/user-guide/about-automation-projects) and illustrated accordingly in Orchestrator after publishing the project.

Figure 4. Starting a process in background

  ![Screenshot of the Starts in Background toggle highlighted](https://dev-assets.cms.uipath.com/assets/images/orchestrator/orchestrator-screenshot-of-the-starts-in-background-toggle-highlighted-217883-b54d96b9.webp)

There are two types of processes, according to the user interface requirements:

* **Background Process** - Does not require a user interface, nor user intervention to get executed. For this reason, you can execute multiple such jobs in unattended mode on the same user simultaneously. Each execution requires an Unattended/NonProduction license. Unattended robots handle background processes in Session 0, under `NT AUTHORITY\LOCAL SERVICE`, which has no UI and cannot interact with a user session.

[Learn more about background process automation in Studio.](https://docs.uipath.com/robot/standalone/2022.10/user-guide/background-process-automation)
* **Foreground Process** - Requires user interface as the execution needs the UI to be generated, or the process contains interactive activities, such as [Click](https://docs.uipath.com/activities/docs/click). You can only execute one such process on a user at a time.
  :::note
  The same user can execute multiple background processes and **a singular** foreground at the same time.
  :::

The following table shows the UiPath® Robot version required to run foreground/background processes according to the robot credential considerations.

| Process type | Credential considerations | Robot version |
| --- | --- | --- |
| Background | Robot with credentials | Any |
| Foreground | Robot with credentials | Any |
| Background | Robot without credentials | 2021.10+ |
| Foreground | Robot without credentials | Invalid configuration! Jobs cannot be executed. |

## Process Compatibility

When creating an automation project in Studio, developers must configure a compatibility attribute that impacts the underlying target framework of the automation project and the compatible operating system.

Figure 5. Process compatibility

  ![Screenshot of the Process compatibility drop-down](https://dev-assets.cms.uipath.com/assets/images/orchestrator/orchestrator-screenshot-of-the-process-compatibility-drop-down-225969-f6a2acd4.webp)

The following table shows the UiPath Robot version required to execute processes according to their target frameworks and OS compatibility considerations.

| Target framework | Operating system | Robot version |
| --- | --- | --- |
| .NET Framework 4.6.1 | Windows - Legacy | Any |
| .NET 5.0+ | Windows | 2021.10+ |
| .NET 5.0+ | Cross-platform | 2021.10+ |

## Version Management

If a new version of a package is available in Orchestrator (you published a new version from Studio), it is indicated with the ![](https://dev-assets.cms.uipath.com/assets/images/orchestrator/orchestrator-image-new_version-01d833ad.png) icon next to the process it is part of.

You may update processes to the latest available version individually, on the corresponding **View Processes** window, or you may update them in bulk, by selecting multiple of them and clicking the global **Use Latest** button.

If a package version associated with a process is no longer available in the configured NuGet repository, it is indicated with the ![](https://dev-assets.cms.uipath.com/assets/images/orchestrator/orchestrator-image-package_not_available-55a37e3f.png) icon.

If you are using the latest available version of a package in a specific process, the ![](https://dev-assets.cms.uipath.com/assets/images/orchestrator/orchestrator-image-latest_version-a2821e22.png) icon is displayed next to the process.

## Used applications

Windows applications that are used by the underlying Studio package are displayed in the **Applications** section, as relevant to the selected package version.

If the package uses applications that cannot be identified, an **Unknown apps** entry is displayed, suffixed by the number of unidentified apps, in parentheses.

If no applications can be retrieved, a **No app(s) could be retrieved for this package** message is displayed. This is most likely due to one of the following reasons:

* Your Studio version is older than 2023.2.
* Your Studio version is 2023.2, but a governance rule is in place, preventing this information from being logged.
* Your package was uploaded from an external feed. Only packages from internal feeds can provide this information.
* The package does not use any applications.

These details are also displayed in the **Show release notes** window for each package version.

## Processes Permissions

Creating a process:

* **View** permission on Packages;
* **View** and **Create** permissions on Processes.

Starting a job from the **Processes** page:

* Permissions for creating a process
* **Create** on Jobs

Read more [about roles](https://docs.uipath.com/orchestrator/standalone/2023.10/user-guide/default-roles#default-roles).
