# Managing Processes

> :::note
You need **View** permissions on Packages and **View** and **Create** permissions on Processes to create a process.
:::

## Deploying Processes

:::note
You need **View** permissions on Packages and **View** and **Create** permissions on Processes to create a process.
:::

1. Navigate to **Automations** &gt; **Processes** in the folder where you want to deploy the process. The **Processes** window is displayed.
2. Click **Add**. The **Add Process** window is displayed.
3. Select a package from the **Package Source Name** drop-down or click the upload area below to upload a new package. The latest version of the package is automatically selected. If the package version has tags that are not applied to the process, a **New tags have been found** notification window is displayed informing you about the number of tags.
4. On the **New tags have been found** window, select **Add and continue** if you want to apply package tags to the process or click **Don't add** if you do not want to apply package tags to the process.

Figure 1. New tags have been found window

![New tags have been found window](https://dev-assets.cms.uipath.com/assets/images/orchestrator/orchestrator-new-tags-have-been-found-window-233203-8f86c685-3264b90f.webp)

5. From the **Package Version** drop-down, select the version of the package that you want to use. If the package has input and/or output arguments, they are displayed in the **Runtime Arguments** section.
6. Select an entry point from the **Entry point** drop-down. By default, the `.xaml` set as main Studio is selected. The arguments view is refreshed to display the arguments in the selected workflow. [Learn more about runtime arguments.](https://docs.uipath.com/orchestrator/automation-cloud/latest/user-guide/about-processes#runtime-arguments)
:::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.
:::
7. If the package has input arguments, you can provide values for them in the arguments table. Edit the arguments by clicking **Edit** for the corresponding entry.
8. Once you are done with the changes, click **Next**. The **Package Requirements** window is displayed.

The **Package Requirements** tab allows you to identify objects that have been used in the design of the underlying workflow and are required for successful job execution.

See [Managing package requirements](https://docs.uipath.com/orchestrator/automation-cloud/latest/user-guide/managing-package-requirements#managing-package-requirements) for details on how to manage package requirements.

9. Once you have handled the package requirements, click **Next**. The **Additional Settings** window is displayed.
10. In the **Display Name** field, add the name to be displayed on all pages which mention, list, or monitor processes. If left empty, the name of the package is used instead.
11. Type a **Description** for the process. We recommend adding a description, especially when there are many processes deployed to Orchestrator.
12. In the **Tags** section, manage the process tags. You can see tags inherited from the underlying package, if any, and you can add new tags or remove existing ones, provided you have the necessary permissions. See [Organizing resources with tags](https://docs.uipath.com/orchestrator/automation-cloud/latest/user-guide/organizing-resources-with-tags#organizing-resources-with-tags) for details.
13. In the **Retention policy** section, create a rule for when a job associated to this process is deleted. See [Process data retention policy](https://docs.uipath.com/orchestrator/automation-cloud/latest/user-guide/process-data-retention-policy#process-data-retention-policy) for details.
14. From the **Job Priority** drop-down, select the execution priority of the process.
15. To receive suggestions and debugging information on how to fix issues that may arise during job execution, turn on the **Enable Healing Agent** toggle. Additionally, you can allow Healing Agent to independently fix job execution issues by selecting the **Enable Healing Agent self-healing** option. By default, the **Enable Healing Agent** option is enabled, while the **Enable Healing Agent self-healing** option is disabled. For detailed information on Healing Agent and its capabilities, refer to the [Healing Agent documentation](https://docs.uipath.com/agents/automation-cloud/latest/user-guide-ha/what-is-healing-agent).
:::note
Feature availability depends on the cloud offering that you use. For details, refer to the [Feature availability page](https://docs.uipath.com/orchestrator/automation-cloud/latest/user-guide/orchestrator-feature-availability#orchestrator-feature-availability).
:::
:::note
This option only takes effect if the Healing Agent policy is enabled in Automation Ops. If governance policies disable Healing Agent, this setting is ignored at runtime. For more information on Automation Ops policies, check the [Automation Ops user guide](https://docs.uipath.com/automation-ops/automation-cloud/latest/user-guide/settings-for-ai-trust-layer-policies).
:::
16. Switch on the **Hide process for attended users** option if you want this process to be withheld from Assistant. When this is enabled, the **Process can’t be stopped from UiPath Assistant** option becomes inactive.
    :::note
    This only works with Assistant and Robot versions 2023.10+.
    :::
17. Switch on the **Process can’t be stopped from UiPath Assistant** option to restrict process termination from the UiPath Assistant.
18. Switch on the **Automatically Start Process** option to set this process to launch automatically when the Robot agent starts.
19. Switch on the **Job Recording** option and choose the type of desired job recording. The execution is recorded and available for [download](https://docs.uipath.com/orchestrator/automation-cloud/latest/user-guide/managing-jobs#downloading-execution-media) as execution media.
:::note
If you do not see the **Enable Recording** option:
* You recently upgraded to Enterprise or Enterprise
Trial licensing; please allow a few days for migration, after which the option becomes available.
* Make sure you have the Execution Media - View
permission assigned to your account.
:::

You can choose between the following recording options for **Video**:
   * **Record and store failed jobs**: this will record and store failed jobs.
   * **Record and store failed queue transactions**: this will record and store failed queue items.
   * **Record all jobs**: this will record and store all jobs.

If you choose **Screenshot**, configure the **Scaling**, **Frequency**, and **Duration** options as needed.

   | Field | Description |
   | --- | --- |
   | **Scaling** | Enables you to set the scaling of the screenshots in percent. The maximum value is 100. By default, this field is set to 100. |
   | **Frequency** | Enables you to configure the time interval between screenshots, in milliseconds. The minimum value is 250. By default, this field is set to 500. |
   | **Duration** | Enables you to configure the length of time before failure to start the recording, in seconds. The maximum value is 120. By default, this field is set to 40. |

20. (Optional, only available for cross-platform processes) If you want to run this process using [Cloud Robot - Serverless](https://docs.uipath.com/orchestrator/automation-cloud/latest/user-guide/automation-cloud-robots-serverless#automation-cloud%E2%84%A2-robots---serverless), select an option for the machine size to use:

    | Option | Details | Robot unit (RU) consumption |
    | --- | --- | --- |
    | **Automatic** | Default setting. Selects the optimum machine size based on high-level process dependencies. | Depends on machine size |
    | **Small** | 1 GB (~0.5 CPUs)  For most unattended processes. | 1 RU / minute |
    | **Standard** | 2 GB (~1 CPUs)  For unattended processes that use [UI Automation](https://docs.uipath.com/studio/standalone/2022.10/user-guide/ui-automation). | 2 RUs / minute |
    | **Medium** | 4 GB (~2 CPUs)  For slightly more complex unattended processes, such as remote debugging. | 4 RUs / minute |
    | **Large** | 10 GB (~6 CPUs)  For heavy processes, such as ones that include activities. | 10 RUs / minute |
:::important
If the selected machine size is too small, your process will time out without completing, but you still consume robot units for the duration that the machine was running.
:::

### Deploying agents

:::note
For Automation Cloud Dedicated, agent processes originate from coded agents developed using the [UiPath SDKs](https://uipath.github.io/uipath-python/).
:::
:::note
You need **View** permissions on Packages and **View** and **Create** permissions on Processes to create a process.
:::

1. Navigate to **Automations** &gt; **Processes** in the folder where you want to deploy the process. The **Processes** window is displayed.
2. Click **Add**. The **Add Process** window is displayed.
3. Select a package from the **Package Source Name** drop-down. To display only agent-type packages, use the **Filter types** filter next to the drop-down and select **Agent**. You can also use the upload area to upload a new package. The latest version of the package is automatically selected.
4. If the package version has tags that are not applied to the process, a **New tags have been found** notification window is displayed informing you about the number of tags. In the **New tags have been found** window, select **Add and continue** if you want to apply package tags to the process, or **Don't add** if you do not want to apply package tags to the process.
5. From the **Package Version** drop-down, select the version of the package that you want to use.
6. To specify environment variables for coded agents, use the **Environment Configuration** text field. Coded agents are indicated as **(Agent - &lt;programming language&gt;)** in the user interface.

You can use the **Environment Configuration** field to reference secrets, such as API keys, using one of the following methods:

   * Enter the secret value directly in the **Environment Configuration** field, as shown in the following example:
     ```
     SECRET=Abc@123
     ```

You can enhance the security of secrets by having asterisks displayed instead of the secret value when you subsequently edit the process. To enable this behavior, ensure that the name of the secret key ends in one of the following strings:
     + `ACCESS_KEY`
     + `API_KEY`
     + `AUTH`
     + `CREDENTIALS`
     + `PASSWORD`
     + `PRIVATE_KEY`
     + `SECRET`
     + `SESSION`
     + `TOKEN`To update the secret value, you can delete the asterisks and enter the new string.
   * Reference a secret-type asset located in the same folder as the agent, as shown in the following example:
     ```
     MySecret=%ASSETS/SECRET%
     ```
:::note
* Typing
`=%` after the secret key displays an `ASSETS/` autocompletion suggestion. Accepting the suggestion displays a drop-down list of assets from which you can select the desired item.
* You cannot retrieve secrets from external credential stores
when using a disconnected credential proxy.
:::
7. If the package has input or output arguments, the arguments are displayed in the **Runtime Arguments** section, under the **Input** and **Output** tabs. Edit the arguments as necessary.

To toggle between the arguments and a view of the underlying JSON schema, select **JSON schema**.

Figure 2. JSON schema

   ![Screenshot of the JSON schema button](https://dev-assets.cms.uipath.com/assets/images/orchestrator/orchestrator-screenshot-of-the-json-schema-button-550159-795f0676-681aec31.webp)

8. When you are done with the changes, click **Next**. The **Package Requirements** page is displayed.

The **Package Requirements** page allows you to identify resources used in the design of the underlying workflow, which are required for successful job execution.

Note that agents concepts map onto Orchestrator package requirements as follows:

   | Agents concept | Orchestrator package requirement |
   | --- | --- |
   | Escalation | App |
   | Tool | Connection or process |
   | Context | Index |

To change the default binding for any of the resources included in the package requirements, use the corresponding **Overwrite** button. The functionality enables you to select resources across folders, for the following resource types:

   * App
   * Bucket
   * Business rule
   * Index
   * Process
   * Queue

For general information on how to manage package requirements, refer to [Managing package requirements](https://docs.uipath.com/orchestrator/automation-cloud/latest/user-guide/managing-package-requirements#managing-package-requirements).

9. Once you have configured the package requirements, click **Next**. The **Additional Settings** window is displayed.
10. In the **Display Name** field, add the name to be displayed on all pages which mention, list, or monitor processes. If left empty, the name of the package is used instead.
11. Type a **Description** for the process. We recommend adding a description, especially when there are many processes deployed to Orchestrator.
12. In the **Tags** section, manage the process tags. You can see tags inherited from the underlying package, if any, and you can add new tags or remove existing ones, provided you have the necessary permissions. See [Organizing resources with tags](https://docs.uipath.com/orchestrator/automation-cloud/latest/user-guide/organizing-resources-with-tags#organizing-resources-with-tags) for details.
13. In the **Retention policy** section, define policies for deletion and archival of completed and uncompleted jobs associated to the process. See [Process data retention policy](https://docs.uipath.com/orchestrator/automation-cloud/latest/user-guide/process-data-retention-policy#process-data-retention-policy) for details.
14. In the **Running Options** section, enable the **Agent Memory** toggle to allow the agent to retain information. This enables the agent to learn from past interactions and apply the acquired knowledge to future tasks.
:::note
Disabling the toggle when you subsequently edit the agent does not clear the agent memory. If you re-enable the toggle at a later date, the agent memory acquired before you disabled it becomes available again.
:::

### Deploying agentic processes

:::note
Feature availability depends on the cloud offering that you use. For details, refer to the [Feature availability page](https://docs.uipath.com/orchestrator/automation-cloud/latest/user-guide/orchestrator-feature-availability#orchestrator-feature-availability).
:::
:::note
* You need **View** permissions on Packages and **View** and **Create** permissions on Processes to create a process.
* Before you deploy an agentic process to a folder,
we recommend that you deploy all the dependencies for that process to the same folder.
:::

1. Navigate to **Automations** &gt; **Processes** in the folder where you want to deploy the process. The **Processes** window is displayed.
2. Select **Add**. The **Add Process** window is displayed.
3. Select a package from the **Package Source Name** drop-down. To display only agentic process packages, use the **Filter types** filter next to the drop-down and select **Agentic process**. You can also use the upload area to upload a new package. The latest version of the package is automatically selected.
4. If the package version has tags that are not applied to the process, a **New tags have been found** notification window is displayed informing you about the number of tags. In the **New tags have been found** window, select **Add and continue** if you want to apply package tags to the process, or **Don't add** if you do not want to apply package tags to the process.
5. From the **Package Version** drop-down, select the version of the package that you want to use.
6. In the **Runtime Arguments** section, select an entry point from the drop-down. For more information, see [Entry points](https://docs.uipath.com/orchestrator/automation-cloud/latest/user-guide/about-processes#entry-points).
7. If the package has input and/or output arguments, they are displayed in the **Runtime Arguments** section, under the **Input** and **Output** tabs. Edit the arguments as necessary.

To toggle between the arguments and a view of the underlying JSON schema, select **JSON schema**.

Figure 3. JSON schema

   ![Screenshot of the JSON schema button](https://dev-assets.cms.uipath.com/assets/images/orchestrator/orchestrator-screenshot-of-the-json-schema-button-550159-795f0676-681aec31.webp)

8. Once you are done with the changes, select **Next**. The **Package Requirements** window is displayed.

The **Package Requirements** tab allows you to identify objects that have been used in the design of the underlying workflow and are required for successful job execution.

For general information on how to manage package requirements, see [Managing package requirements](https://docs.uipath.com/orchestrator/automation-cloud/latest/user-guide/managing-package-requirements#managing-package-requirements).

9. Once you have handled the package requirements, click **Next**. The **Additional Settings** window is displayed.
10. In the **Display Name** field, add the name to be displayed on all pages which mention, list, or monitor processes. If left empty, the name of the package is used instead.
11. Type a **Description** for the process. We recommend adding a description, especially when there are many processes deployed to Orchestrator.
12. In the **Tags** section, manage the process tags. You can see tags inherited from the underlying package, if any, and you can add new tags or remove existing ones, provided you have the necessary permissions. See [Organizing resources with tags](https://docs.uipath.com/orchestrator/automation-cloud/latest/user-guide/organizing-resources-with-tags#organizing-resources-with-tags) for details.
13. In the **Retention policy** section, define policies for deletion and archival of completed and uncompleted jobs associated to the process. See [Process data retention policy](https://docs.uipath.com/orchestrator/automation-cloud/latest/user-guide/process-data-retention-policy#process-data-retention-policy) for details.
14. Switch on the **Hide process for attended users** option if you want this process to be withheld from Assistant. When this option is enabled, the **Process can’t be stopped from UiPath Assistant** option becomes inactive.
    :::note
    This only works with Assistant and Robot versions 2023.10+.
    :::
15. Switch on the **Process can’t be stopped from UiPath Assistant** option to restrict process termination from the UiPath Assistant.
16. Switch on the **Automatically Start Process** option to set this process to launch automatically when the Robot agent starts.

## Editing Process Settings

The display name, description, job priority, as well as the **Enable Recording**,**Automatically Start Process**,**Process can’t be stopped from UiPath Assistant** options can be modified after deploying a process on the **Process Settings** window.

1. For the desired process, click **More Actions** &gt; **Process Settings**. The **Process Settings** window is displayed.
2. Change the desired option, and click **Update** to save the changes.
   :::note
   * By default, any process can be edited while having associated running or pending jobs. Please take into account the following:
   * Running jobs associated with a modified process use the initial version of the process.
   * Newly created jobs or new triggers of the same job use the new version.
   * Pending jobs associated with a modified process use the updated version.
   + The **Process** filter on the **Automations** &gt; **Logs** page searches for the latest name given to the process. Logs recorded under old process names cannot be filtered anymore.
   :::

## Managing Package Versions

:::important
* When first publishing a package, the main entry point defined in Studio is also set as the current entry point in Orchestrator.
* Upon publishing a new package version, the current entry point is preserved as long as it exists in the new version; otherwise,
it defaults to the main entry point defined in Studio.
* Switching to a package version that does not have the initial entry point will default to the main entry point defined in
Studio. The current entry point is kept upon upgrading if it exists on the new version as well.
* Updating a process by uploading a package from an external feed is possible via the `/odata/Processes/UiPath.Server.Configuration.OData.SetArguments` endpoint. It is your responsibility to make sure the process arguments are the same as the arguments in the new package,
as Orchestrator does not perform any validation on packages from external feeds. Managing package versions for a process requires **View** and **Edit** permissions on Processes, and **View** permissions on Packages/Folder Packages.
:::

### Updating a Process in a Folder

If a process has multiple versions available, you can select which one to use from the **Package Version** drop-down either when creating or editing a process.

1. Select **More Actions** &gt; **Edit** . The **Edit Process** window is displayed.
2. On the **Package Versions** drop-down, select the specific package version you want to use or click **Rollback** to return to the previously used version.

To upgrade a process to the latest version easily without accessing the **Edit Process** window, follow the next steps:

1. Select **More Actions** &gt; **Upgrade to latest version** for the desired process. The **Upgrade to latest version** button is read-only for processes already using the latest package version.
2. Select **Confirm** on the displayed confirmation window. The selected processes are updated to the latest version, and the icons are updated accordingly. If for any reason, a process is not updated, an error message is displayed.

### Updating Multiple Processes in a Folder

Enables you to update multiple processes in a folder to the latest available package version.

1. On the **Processes** page, select the processes you want to update to the latest available package version.
2. Select **Use Latest**. The **Use Latest** button is only enabled if your selection contains at least one process not using the latest available package version. The button is disabled if your selection contains processes using the latest available package version.
3. Select **Confirm** on the displayed confirmation window. The selected processes are updated to the latest version, and the icons are updated accordingly. If for any reason, a process is not updated, an error message is displayed.

### Updating Processes Across Folders

Updating processes across multiple folders/subfolders at once can be performed at the package level. Orchestrator searches for and displays all processes associated with the selected packages, allowing you to select which of them should be updated to the latest available package version. The search is performed on a per-feed basis as follows:

* Tenant Feed - Orchestrator searches for all processes associated with the selected packages in all folders/subfolders that use the tenant feed. Find it on the **Packages** page (**Tenant** context &gt; **Packages** tab)
* Folder Feed - Orchestrator searches for all processes associated with the selected packages in that particular folder feed, subfolders included. Find it on the **Folder Packages** page (**Folder** context &gt; **Automations** tab &gt; **Folder Packages** tab)

The upgrade process is similar at both tenant feed and folder feed levels. According to the context you're in, navigate to the location described above and then:

1. Select the packages for upgrading and click **Upgrade available processes to latest versions**. The **Upgrade multiple processes** window is opened displaying a list with all processes not employing the latest version of a package. The following information is displayed on the **Upgrade multiple processes** window:
   1. The name of the package
   2. The latest version of the package
   3. The number of processes not using the latest package version
   4. The names of the processes, along with the current package version and the path of the folder/subfolder they reside in.

Figure 4. Upgrading processes that use packages residing in a folder feed

   ![Upgrading processes that use packages residing in a folder feed](https://dev-assets.cms.uipath.com/assets/images/orchestrator/orchestrator-upgrading-processes-that-use-packages-residing-in-a-folder-feed-227491-1acf28f6-00a29b94.webp)

Figure 5. Upgrading processes that use packages residing in the tenant feed

   ![Upgrading processes that use packages residing in the tenant feed](https://dev-assets.cms.uipath.com/assets/images/orchestrator/orchestrator-upgrading-processes-that-use-packages-residing-in-the-tenant-feed-229741-45641f88-cfbd50b1.webp)
   
2. For each package select the processes that you would like to upgrade. When done, click **Upgrade**. Selected processes are bulk updated with the latest version of their packages.

## Managing the Value of Input Arguments

If a process has one or more input arguments, you can edit their values at the process level:

1. Select **More Actions**, then **Edit** for a process. The **Edit Process** window is displayed.
2. In the **Runtime Arguments** section, under **Input**, enter appropriate values for the arguments.
3. Repeat Step 2 as many times as you need.
4. Select **Update**. The values of all the input arguments are saved. For more information on how to enter the values, refer to [About input and output arguments](https://docs.uipath.com/orchestrator/automation-cloud/latest/user-guide/about-input-and-output-arguments#about-input-and-output-arguments).

## Monitoring a Process

Click **More Actions** &gt; **Monitor Process** button of the desired process to see the **Monitoring** page associated with it. Due to the **Monitor Process** button being displayed on the **Processes** page, you also need **View** on Processes to access the monitoring page from here.

Alternatively, select it from the **Processes Overview** widget (**Monitoring** &gt; **Jobs**).

Note that monitoring a process requires your user to have **View** permissions on Jobs and on Monitoring. Additionally, **Edit** on Monitoring is required in order to disable errors from the **Error Feed** widget on the **Monitoring** &gt; **Jobs** page. **View** on Environments is required in order to filter the pages by the environment.

## Adding Tags to Processes

:::note
You need **Edit** on Processes and **View** on Tags to add existing tags to processes. You need **Edit** on Processes and **Create** on Tags to add new tags to processes. If you do not have **Create** on Tags, Orchestrator allows you to add new tags but does not save them.
:::
:::note
* Each process can have a maximum of one million key/value pairs.
* Labels and key/value properties are limited to 256 characters.
* Tag names can't contain these characters: `&lt;`, `&gt;`, `%`, `&`, `\`, `?`, `/`, `:`
:::

You can apply tags to a process either when creating one or editing an existing one. To add tags to a process when editing it, follow these steps:

1. From the **Processes** page, click **More Actions** &gt; **Edit** next to the desired process. The process is opened for editing.
2. On the **Labels** field, start typing the name of the label. You can choose an existing label or create a new one.
3. On the **Properties (key-value pairs)** field, click **Add new**.
4. Add new keys and values. You can choose existing keys and/or values or you can create new ones.
5. When done, click **Update**. Your process is updated and the newly created tags, if any, become available for other objects.

## Removing Tags From Processes

To remove tags from a process, follow these steps:

1. From the **Processes** page, click **More Actions** &gt; **Edit** next to the desired process. The process is opened for editing.
2. On the **Labels** field, click the **X** adjacent to the name of the label to remove it. The label is removed.
3. On the Properties (key-value pairs) field, click the **X** adjacent to the keys and/or values to remove them. The keys and/or values are removed.
4. To delete a key/value pair click the **Remove** icon corresponding to that entry. The key/value pair is removed.
5. When done, click **Update**. Your processes is updated and tags are removed.

## Removing Processes

Note that removing a process requires your user to have **View** and **Delete** permissions on Processes, as well as **View** permissions on Packages. Read more [about roles](https://docs.uipath.com/orchestrator/automation-cloud/latest/user-guide/default-roles#default-roles).

1. In the **Processes** page, select the processes that interest you.
2. Click the **Remove** button. The process is deleted from the **Processes** page and the database. Please note that deleting a process is not going to delete the package from Orchestrator, but only its association with the environment/folder.

Alternatively, if you want to delete only one process, click the corresponding **Remove** button.

If you remove a process that has triggers associated with it, these are also removed, regardless if they are enabled or disabled.

:::note
You cannot remove a process if it is associated with an active job (it has one of following statuses: **Pending**,**Running**,**Stopping** and **Terminating**).
:::
