# About the Activities Feeds

> :::note
Process and activities packages are installed per-user starting with v2018.2. This means that HD Robots now use their own version of activities and no longer share them with the other Robots on that machine.
:::

:::note
Process and activities packages are installed per-user starting with v2018.2. This means that HD Robots now use their own version of activities and no longer share them with the other Robots on that machine.
:::

To have a specific automation project run by a Robot, firstly you need to provide it with access to the [automation package](about-automation-projects-on-the-robot.md) and to the activities that make it up. There are four default activity feeds: Local, Orchestrator, Official, and Go!. The Robot's interaction with a feed depends on the following:

* Availability and state of the feeds.
* Connection to Orchestrator.
* Package signature verification.
* Runtime rules set in Studio.

  :::important
  When multiple feeds are used, NuGet chooses the feed that responds the fastest. If one of the feeds does not include signed packages and dependencies, the Robot might receive a package or dependency that is not signed, causing the automation to fail. In order to avoid this, make sure that all configured feeds have packages and dependencies signed.
  :::

Depending on the connection to Orchestrator and feed installation choices, the following situations can occur:

* If you choose to install the local feed, the `%ProgramFiles%\UiPath\Studio\Packages` folder is created. It contains the activity packages that are officially supported by UiPath at install time. The feed is enabled by default.
* If you choose **not** to install the local feed, the `%ProgramFiles%\UiPath\Studio\Packages` folder is created, however it only contains the packs that are added as default dependencies to a new project: `UiPath.UIAutomation.Activities`, `UiPath.System.Activities`, `UiPath.Excel.Activities` and `UiPath.Mail.Activities`.
* When you connect the Robot to Orchestrator, a NuGet feed is provided by Orchestrator. It contains the activity packages that are officially supported by UiPath. The feed is enabled by default and is dependent on your storage settings as follows:
  * If `NuGet.Repository.Type` is set to `Legacy`, activities are saved in the `~/NuGetPackages/Activities` location by default. This value is customizable and kept on the Orchestrator machine, in the `NuGet.Activities.Path` parameter of the `web.config` file.
  * If `NuGet.Repository.Type` is set to `Composite`, activities are saved in the location specified through the `Storage.Type` and `Storage.Location` parameters. More details about [these parameters](https://docs.uipath.com/installation-and-upgrade/v2021.10/docs/webconfig#section-app-settings).

    :::note
    The use of copy-paste commands in the packages-dedicated folder is not supported if `NuGet.Repository.Type` is set to `Composite`.
    :::
* If the Robot is not connected to Orchestrator, nor does it find the required activities in the local feed, a MyGet feed, `https://www.myget.org/F/workflow/`, can be used. This is the official online UiPath feed from which the **Package Manager** in Studio also retrieves its activities. It contains the activity packages that are officially supported by UiPath. This feed is disabled by default. To enable it, go to **Settings &gt; Manage Sources** in Studio, and select the corresponding check box. More details about managing activity packages in our Studio guide [here](https://docs.uipath.com/installation-and-upgrade/v2021.10/docs/webconfig#section-app-settings).

When you give the execute command to the Robot (be it in the UiPath Assistant or Orchestrator), it looks for all its dependencies (activities, automation projects) in all available sources, and retrieves them from the one which responds first. Since activities packages can have multiple versions, the runtime rules selected for the packages in Studio are taken into account, as follows:

* If you selected **Strict** as a runtime rule, the Robot searches for the exact version specified for that package. For example, if you set the **Version** field to **2.5.0**, and the **Runtime Rule** field to **Strict**, the Robot only searches for version **2.5.0** of that package. If the version is not found in any of the existing sources, an error is thrown.
* If you selected **Lowest Applicable Version** as a runtime rule, the Robot searches for the specified version or above. For example, if you set the **Version** field to **2.5.0**, and the **Runtime Rule** field to **Lowest Applicable Version**, the Robot searches any version starting with **2.5.0**, say **2.5.0, 2.5.1, 2.5.2** and so on. If none of the applicable versions are found in any of the existing sources, an error is thrown.

  You can find out more about [project dependencies](https://docs.uipath.com/studio/v2021.10/docs/managing-dependencies).

## Add or Remove Activities Feeds

:::important
The default activity feed for the v2021.10 version `https://www.myget.org/F/workflow` cannot be used if signature validation is enforced. The official feed `https://pkgs.dev.azure.com/uipath/Public.Feeds/_packaging/UiPath-Official/nuget/v3/index.json` must be used instead.
:::

Depending on the [Deployment Type](according-to-deployment.md), the **Robot** uses **Activities Feeds** in different ways.

### User Mode Robot

When the **Robot** is installed on a machine in **User Mode**, there are two `NuGet.config` files created, one in the **Install Folder** and another one tied to the **User Profile** (found in `%UserProfile%\NuGet\NuGet.config`).

If you want to add or remove **Activity Feeds** for the **User Mode Robot**, you can modify *any* of the `NuGet.config` files as this **Robot** connects to both in order to fetch **Activities**.

To add or remove an **Activity Feed**, you need to modify the `<packageSources>` section in the `NuGet.config` file by adding or removing a `Key`.

You can add both local or online feeds.

```
<packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
    <add key="Online Feed" value="https://mycustomfeed.com" />
    <add key="Local Feed" value="C:\local feed" />
</packageSources>
```

:::important
Any time you modify config files, you need to restart the **Robot** for the changes to take effect.
:::

### Service Mode Robot

This type of **Robot** checks the `NuGet.config` file from the `install folder` and if you want to add or remove Feeds, only this file needs to be modified.
