# Deploying assets to Orchestrator

> * Create a CSV file that contains the assets that you want to deploy to Orchestrator.

## Prerequisites

* Create a CSV file that contains the assets that you want to deploy to Orchestrator.

  The CSV file must have the following three columns: `name`, `type`, `value`, and `description`.
* Run the CLI `exe` (for Windows) or `dll` (for Linux) file.
* Add the required Orchestrator [API access application scopes](https://docs.uipath.com/cicd-integrations/standalone/2023.10/user-guide/executing-uipath-cli-tasks).

For more information about the CSV file, check the example below.

| name | type | value | description |
| --- | --- | --- | --- |
| asset\\_1\\_name | text | "i have a comment" | asset\\_1\\_description |
| asset\\_2\\_name | integer | `1` | asset\\_2\\_description |
| asset\\_3\\_name | bool | `false` | asset\\_3\\_description |
| asset\\_4\\_name | credential | username:password | asset\\_4\\_description |

To deploy assets to Orchestrator, take the following steps:

1. Run the `asset` task, using `uipcli asset`. You can see a list of the available sub-tasks.
2. Specify the required parameters and run the `deploy` sub-task.
   See the list of parameters below.

 <colgroup>
  <col/>
  <col/>
 </colgroup>
 
  
     Parameter  
     Description  
  
 
 
  
    <code>-u</code> , or <code>--username</code> ( Required if you use Basic Authentication , through a username and a password) 
     The username used for authenticating to Orchestrator. You must pair it with the corresponding password.  
  
  
    <code>-p</code> , or <code>--password</code> ( Required if you use Basic Authentication , through a username and a password) 
     The password used for authenticating to Orchestrator. You must pair it with the corresponding username.  
  
  
    <code>-t</code> , or <code>--token</code> ( Required if you use  token-based authentication  ) 
     The OAuth2 refresh token used for authenticating to Orchestrator. You must pair it with the Account Name and Client ID .  
  
  
    <code>-a</code> , or <code>--accountName</code> ( Required if you use  token-based authentication  ) 
     The Orchestrator CloudRPA account name. You must pair it with the OAuth2 refresh token and Client ID .  
  
  
    <code>-A</code> , or <code>--accountForApp</code> 
     The Orchestrator CloudRPA account name(organization name). You must pair it with the Application ID , Application Secret , and Application scope for external application.  
  
  
    <code>-I</code> , or <code>--applicationId</code> ( Required if you use  external application authentication  ) 
     The external Application Id. You must pair it with the Application Account , Application Secret , and Application scope .  
  
  
    <code>-S</code> , or <code>--applicationSecret</code> ( Required if you use  external application authentication  ) 
     The external Application Secret. You must pair it with the Application Account , Application ID , and Application scope .  
  
  
    <code>--applicationScope</code> ( Required if you use  external application authentication  ) 
     The list of application scopes, separated by single spaces. You must pair it with the Application Account , Application ID , and Application Secret for external application.  
  
  
    <code>-o</code> , or <code>--organizationUnit</code> 
     The name of the Orchestrator folder (organization unit).  To input subfolders make sure to input both the parent folder name and the name of the subfolder. For instance, use <code>AccountingTeam\TeamJohn</code> . 
  
  
    <code>-l</code> , or <code>--language</code> 
     The language used in the Orchestrator user interface.  
  
  
    <code>-y</code> , or <code>--disableTelemetry</code> 
     Disable telemetry data.  
  
  
    <code>--traceLevel</code> 
     Display the trace of the events.  
  
  
    <code>--identityUrl</code> ( Required for PaaS or MSI deployments) 
     The URL of your identity server.  
  
  
    <code>--help</code> 
     Displays the parameters and examples for this command.  
  
  
    <code>--version</code> 
     Display version information.  
  
  
    <code>Assets File (pos. 0)</code> ( Required ) 
    The name of the CSV file that contains the assets you want to delete. 
  
  
    <code>Orchestrator URL (pos.1)</code> ( Required ) 
    The URL of the Orchestrator instance. 
  
  
    <code>Orchestrator Tenant (pos.2)</code> ( Required ) for SaaP deployments.  ( Optional ) for PaaS deployments.  
    The tenant of the Orchestrator instance, where you want to manage your assets. 
  
 

## Usage

```
asset deploy <assets_file> <orchestrator_url> <orchestrator_tenant> [-u <orchestrator_user> -p <orchestrator_pass>] [-t <auth_token> -a <account_name>] [-A <account_for_app> -I <application_id> -S <application_secret> --applicationScope] [-o <folder>] [-l <language>]
```

## Examples

* `asset deploy assets_file.csv "https://uipath-orchestrator.myorg.com" default -u admin -p 123456 -l en-US`.
* `asset deploy assets_file.csv "https://uipath-orchestrator.myorg.com" default -u admin -p 123456 -o OurOrganization`.
* `asset deploy assets_file.csv "https://uipath-orchestrator.myorg.com" default -t a7da29a2c93a717110a82 -a myAccount`.
* `asset delete assets_file.csv "https://uipath-orchestrator.myorg.com" default -A accountForExternalApp -I myExternalAppId -S
  myExternalAppSecret --applicationScope "OR.Folders.Read OR.Settings.Read"`.
