- Overview
- UiPath CLI
- About UiPath CLI
- Downloading UiPath CLI
- Compatibility matrix
- Running UiPath CLI
- Managing NuGet feeds
- Packing projects into a package
- Analyzing a project
- Deploying a package to Orchestrator
- Running a job inside Orchestrator
- Testing a package or running a test set
- Testing multiple packages
- Deploying assets to Orchestrator
- Deleting assets from Orchestrator
- Running tasks using JSON configuration
- Restoring automation dependencies
- Troubleshooting UiPath CLI
- Azure DevOps extension
- Jenkins plugin

CI/CD integrations user guide
Deploying and Activating Solutions
After uploading a solution package to Solutions, you can deploy it to a target folder and activate it to make it operational.
Deployment workflow
Deploying a solution is a two-step process:
- Deploy: Create a deployment configuration and associate the package with a target folder.
- Activate: Make the deployment live and operational.
This separation allows you to prepare deployments in advance and activate them during maintenance windows or after manual approval.
Deploying a solution
The deploy command creates a deployment of a solution package in a specific environment.
Command syntax
uipcli solution deploy <package-name> [options]uipcli solution deploy <package-name> [options]Parameters:
| Parameter | Description | Required |
|---|---|---|
<package-name> | Name of the uploaded package | Yes |
-v or --version | Package version to deploy | Yes |
-d or --deploymentName | Name for this deployment | Yes |
-f or --deploymentFolderName | Target folder name in Orchestrator | Yes |
-U | Orchestrator URL | Yes |
-T | Tenant name | Yes |
-A | Organization name | Yes |
-I | External App ID | Yes |
-S | External App secret | Yes |
--applicationScope | Required scopes | Yes |
--deploymentParentFolder | The Orchestrator folder where the deployment folder will be created. If not specified, the deployment folder will be created in tenant folder. When specified, deployment will be under respective folder. When set to "[email protected]'s workspace", the deployment will be under personal workspace for specified user. | No |
--configPath | Local path to solution configuration file; needed in scenarios with overwriting bindings | No |
--traceLevel | Logging level | No |
If a deployment with the same name already exists at any level within the tenant in Orchestrator, this operation upgrades the existing deployment instead of creating a new one. If the existing deployment is in Failed state, the upgrade does not proceed; resolve or uninstall the failed deployment before retrying.
Solutions deployed at the tenant level do not automatically assign a user to the resulting folder. To assign an account, ensure the appropriate configuration is set in Orchestrator (Tenant > Folders).
Authentication
See Authentication and scopes for required scopes and External App setup.
Example
uipcli solution deploy MySolution \ -v 1.2.3 \ -d MySolution-Prod-v1.2.3 \ -f Production \ -U https://cloud.uipath.com/ \ -T DefaultTenant \ -A myorg \ -I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \ -S **** \ --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write" \ --traceLevel Informationuipcli solution deploy MySolution \ -v 1.2.3 \ -d MySolution-Prod-v1.2.3 \ -f Production \ -U https://cloud.uipath.com/ \ -T DefaultTenant \ -A myorg \ -I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \ -S **** \ --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write" \ --traceLevel InformationDeployment naming conventions
Choose meaningful deployment names that include:
- Solution name
- Environment identifier
- Version or date
Examples:
MySolution-Dev-v1.2.3MySolution-Test-2025-01-15MySolution-Prod-Release-1.2.3InvoiceProcessing-Production-v2.0.0MySolution-Dev-v1.2.3MySolution-Test-2025-01-15MySolution-Prod-Release-1.2.3InvoiceProcessing-Production-v2.0.0This makes it easier to track and manage deployments across environments.
What happens during deployment
When you run the deploy command:
- The package is validated in Solutions.
- A deployment configuration is created.
- The deployment is associated with the target folder.
- Environment-specific bindings are initialized.
- The deployment is prepared but not yet active.
The Solution does not start executing processes until you activate it.
Activating a deployment
The deploy-activate command makes a deployment live and operational.
Command syntax
uipcli solution deploy-activate <deployment-name> [options]uipcli solution deploy-activate <deployment-name> [options]Parameters:
| Parameter | Description | Required |
|---|---|---|
<deployment-name> | Name of the deployment to activate | Yes |
-U | Orchestrator URL | Yes |
-T | Tenant name | Yes |
-A | Organization name | Yes |
-I | External App ID | Yes |
-S | External App secret | Yes |
--applicationScope | Required scopes | Yes |
--traceLevel | Logging level | No |
Authentication
See Authentication and scopes for required scopes and External App setup.
Example
uipcli solution deploy-activate MySolution-Prod-v1.2.3 \ -U https://cloud.uipath.com/ \ -T DefaultTenant \ -A myorg \ -I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \ -S **** \ --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write" \ --traceLevel Informationuipcli solution deploy-activate MySolution-Prod-v1.2.3 \ -U https://cloud.uipath.com/ \ -T DefaultTenant \ -A myorg \ -I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \ -S **** \ --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write" \ --traceLevel InformationWhat happens during activation
When you activate a deployment:
- The deployment becomes the active version in the target folder.
- Triggers are activated.
- Any previously active deployment in the same folder is deactivated.
CI/CD pipeline integration
Complete deployment workflow
steps: # 1. Pack the Solution - name: Pack Solution run: | uipcli solution pack ./MySolution \ --output ./packages \ --version "1.0.${{ github.run_number }}" # 2. Upload to Solutions Management - name: Upload Package run: | uipcli solution upload-package ./packages/MySolution.1.0.${{ github.run_number }}.zip \ -U ${{ secrets.ORCHESTRATOR_URL }} \ -T ${{ secrets.ORCHESTRATOR_TENANT }} \ -A ${{ secrets.ORG_NAME }} \ -I ${{ secrets.EXTERNAL_APP_ID }} \ -S ${{ secrets.EXTERNAL_APP_SECRET }} \ --applicationScope "AutomationSolutions Solutions.Packages Solutions.Packages.Write" # 3. Deploy to target environment - name: Deploy Solution run: | uipcli solution deploy MySolution \ -v "1.0.${{ github.run_number }}" \ -d "MySolution-Prod-v1.0.${{ github.run_number }}" \ -f Production \ -U ${{ secrets.ORCHESTRATOR_URL }} \ -T ${{ secrets.ORCHESTRATOR_TENANT }} \ -A ${{ secrets.ORG_NAME }} \ -I ${{ secrets.EXTERNAL_APP_ID }} \ -S ${{ secrets.EXTERNAL_APP_SECRET }} \ --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write" # 4. Activate the deployment - name: Activate Deployment run: | uipcli solution deploy-activate "MySolution-Prod-v1.0.${{ github.run_number }}" \ -U ${{ secrets.ORCHESTRATOR_URL }} \ -T ${{ secrets.ORCHESTRATOR_TENANT }} \ -A ${{ secrets.ORG_NAME }} \ -I ${{ secrets.EXTERNAL_APP_ID }} \ -S ${{ secrets.EXTERNAL_APP_SECRET }} \ --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write"steps: # 1. Pack the Solution - name: Pack Solution run: | uipcli solution pack ./MySolution \ --output ./packages \ --version "1.0.${{ github.run_number }}" # 2. Upload to Solutions Management - name: Upload Package run: | uipcli solution upload-package ./packages/MySolution.1.0.${{ github.run_number }}.zip \ -U ${{ secrets.ORCHESTRATOR_URL }} \ -T ${{ secrets.ORCHESTRATOR_TENANT }} \ -A ${{ secrets.ORG_NAME }} \ -I ${{ secrets.EXTERNAL_APP_ID }} \ -S ${{ secrets.EXTERNAL_APP_SECRET }} \ --applicationScope "AutomationSolutions Solutions.Packages Solutions.Packages.Write" # 3. Deploy to target environment - name: Deploy Solution run: | uipcli solution deploy MySolution \ -v "1.0.${{ github.run_number }}" \ -d "MySolution-Prod-v1.0.${{ github.run_number }}" \ -f Production \ -U ${{ secrets.ORCHESTRATOR_URL }} \ -T ${{ secrets.ORCHESTRATOR_TENANT }} \ -A ${{ secrets.ORG_NAME }} \ -I ${{ secrets.EXTERNAL_APP_ID }} \ -S ${{ secrets.EXTERNAL_APP_SECRET }} \ --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write" # 4. Activate the deployment - name: Activate Deployment run: | uipcli solution deploy-activate "MySolution-Prod-v1.0.${{ github.run_number }}" \ -U ${{ secrets.ORCHESTRATOR_URL }} \ -T ${{ secrets.ORCHESTRATOR_TENANT }} \ -A ${{ secrets.ORG_NAME }} \ -I ${{ secrets.EXTERNAL_APP_ID }} \ -S ${{ secrets.EXTERNAL_APP_SECRET }} \ --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write"Gated deployments with manual approval
You can separate deploy and activate steps to implement approval workflows:
# Stage 1: Deploy (automated)- stage: DeployToProduction jobs: - job: Deploy steps: - script: | uipcli solution deploy MySolution -v $(version) -d MySolution-Prod-$(version) -f Production ... displayName: 'Prepare Production Deployment'# Stage 2: Activate (requires approval)- stage: ActivateProduction dependsOn: DeployToProduction # Manual approval gate configured in Azure DevOps jobs: - deployment: Activate environment: 'Production' steps: - script: | uipcli solution deploy-activate MySolution-Prod-$(version) ... displayName: 'Activate Production Deployment'# Stage 1: Deploy (automated)- stage: DeployToProduction jobs: - job: Deploy steps: - script: | uipcli solution deploy MySolution -v $(version) -d MySolution-Prod-$(version) -f Production ... displayName: 'Prepare Production Deployment'# Stage 2: Activate (requires approval)- stage: ActivateProduction dependsOn: DeployToProduction # Manual approval gate configured in Azure DevOps jobs: - deployment: Activate environment: 'Production' steps: - script: | uipcli solution deploy-activate MySolution-Prod-$(version) ... displayName: 'Activate Production Deployment'Multi-environment promotion
Deploy the same version to multiple environments sequentially:
# Deploy to Devuipcli solution deploy MySolution -v 1.2.3 -d MySolution-Dev-1.2.3 -f Dev ...uipcli solution deploy-activate MySolution-Dev-1.2.3 ...# Deploy to Testuipcli solution deploy MySolution -v 1.2.3 -d MySolution-Test-1.2.3 -f Test ...uipcli solution deploy-activate MySolution-Test-1.2.3 ...# Deploy to Production (after approval)uipcli solution deploy MySolution -v 1.2.3 -d MySolution-Prod-1.2.3 -f Production ...uipcli solution deploy-activate MySolution-Prod-1.2.3 ...# Deploy to Devuipcli solution deploy MySolution -v 1.2.3 -d MySolution-Dev-1.2.3 -f Dev ...uipcli solution deploy-activate MySolution-Dev-1.2.3 ...# Deploy to Testuipcli solution deploy MySolution -v 1.2.3 -d MySolution-Test-1.2.3 -f Test ...uipcli solution deploy-activate MySolution-Test-1.2.3 ...# Deploy to Production (after approval)uipcli solution deploy MySolution -v 1.2.3 -d MySolution-Prod-1.2.3 -f Production ...uipcli solution deploy-activate MySolution-Prod-1.2.3 ...Rollback strategy
To roll back to a previous version:
- Deploy the previous version with a new deployment name.
- Activate the previous version deployment.
- Optionally uninstall the newer deployment.
# Roll back to v1.2.2uipcli solution deploy MySolution -v 1.2.2 -d MySolution-Prod-Rollback-1.2.2 -f Production ...uipcli solution deploy-activate MySolution-Prod-Rollback-1.2.2 ...# Roll back to v1.2.2uipcli solution deploy MySolution -v 1.2.2 -d MySolution-Prod-Rollback-1.2.2 -f Production ...uipcli solution deploy-activate MySolution-Prod-Rollback-1.2.2 ...Next steps
After deploying and activating Solutions, you can:
- Monitor execution in Orchestrator.
- Uninstall deployments when no longer needed.
- Deploy new versions following the same workflow.
- Deployment workflow
- Deploying a solution
- Command syntax
- Authentication
- Example
- Deployment naming conventions
- What happens during deployment
- Activating a deployment
- Command syntax
- Authentication
- Example
- What happens during activation
- CI/CD pipeline integration
- Complete deployment workflow
- Gated deployments with manual approval
- Multi-environment promotion
- Rollback strategy
- Next steps