Yash.Orchestrator
25.9.8
dotnet add package Yash.Orchestrator --version 25.9.8
NuGet\Install-Package Yash.Orchestrator -Version 25.9.8
<PackageReference Include="Yash.Orchestrator" Version="25.9.8" />
<PackageVersion Include="Yash.Orchestrator" Version="25.9.8" />
<PackageReference Include="Yash.Orchestrator" />
paket add Yash.Orchestrator --version 25.9.8
#r "nuget: Yash.Orchestrator, 25.9.8"
#:package Yash.Orchestrator@25.9.8
#addin nuget:?package=Yash.Orchestrator&version=25.9.8
#tool nuget:?package=Yash.Orchestrator&version=25.9.8
Yash.Orchestrator
A utility library for interacting with UiPath Cloud Orchestrator APIs. Provides a reusable OrchestratorService class that simplifies access to folders, assets, storage buckets, and files — with support for both direct credential and Studio-integrated token authentication.
🚀 Getting Started
- Add the
Yash.OrchestratorNuGet package as a dependency in your UiPath plugin or library project. - Create an instance of
OrchestratorServiceusing either client credentials or anIAccessProvider. - Call
InitializeAsync()to populate folders, assets, buckets, and bucket files. - Use the service to read, inspect, or download resources in a structured and token-aware manner.
🛠️ Core Class: OrchestratorService
The OrchestratorService class is the main entry point. It provides high-level, folder-aware access to UiPath Cloud resources with built-in refresh and download methods.
var service = new OrchestratorService("https://cloud.uipath.com/org/account", "clientId", "secret", log);
await service.InitializeAsync();
foreach (var (folder, assets) in service.Assets)
{
Console.WriteLine($"{folder.DisplayName} has {assets.Count} assets");
}
🧙♂️ Features
🔐 Token authentication via:
- Client credentials (client ID + secret)
IAccessProvider(from Studio integration context)
🗂️ Folder-aware access to:
- Assets
- Buckets
- Bucket Files
🔁 Refresh methods to update all collections dynamically
🪝 Logs events using
TraceEventTypeand customizable log actions📦 File downloads via signed URI
⚙️ Public Properties
| Property | Type | Description |
|---|---|---|
BaseURL |
string? |
Base URL for Orchestrator API |
Token |
string |
OAuth2 access token |
Folders |
ObservableCollection<Folder> |
List of accessible folders |
Assets |
ObservableCollection<KeyValuePair<Folder, ObservableCollection<Asset>>> |
Map of folder → assets |
Buckets |
ObservableCollection<KeyValuePair<Folder, ObservableCollection<Bucket>>> |
Map of folder → buckets |
BucketFiles |
ObservableCollection<KeyValuePair<Bucket, ObservableCollection<BucketFile>>> |
Map of bucket → files |
🔁 Methods
| Method | Description |
|---|---|
InitializeAsync() |
Initializes and refreshes all data |
UpdateTokenAsync(force) |
Updates the token using either credentials or provider |
RefreshFoldersAsync() |
Fetches all available folders |
RefreshAssetsAsync() |
Fetches assets scoped to each folder |
RefreshBucketsAsync() |
Fetches storage buckets per folder |
RefreshBucketFilesAsync() |
Fetches files in each bucket |
DownloadBucketFile() |
Downloads a file from storage buckets using a signed URI |
📦 Downloading Files
await service.DownloadBucketFile(bucket, bucketFile, "C:\\Downloads\\MyFile.csv");
This method:
- Fetches a signed download URI from the Orchestrator API
- Downloads the file using a
GETrequest - Saves the file to the given path, creating directories if necessary
🧠 Authentication
Supports two authentication modes:
| Mode | Details |
|---|---|
| Client Credentials | Provide BaseURL, ClientId, and ClientSecret |
| IAccessProvider | Provide an implementation via UiPath Studio plugin context |
📚 Dependencies
RestSharp: HTTP communicationNewtonsoft.Json: JSON deserializationUiPath.Activities.Api: Optional for Studio plugin integration
📖 License
This project is licensed under the MIT License.
🔗 Links
- GitHub Repository: https://github.com/yashbrahmbhatt/Yash.Orchestrator
- NuGet Package: https://www.nuget.org/packages/Yash.Orchestrator
Built and maintained by Yash Brahmbhatt.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0-windows7.0 is compatible. net7.0-windows was computed. net8.0-windows was computed. net9.0-windows was computed. net10.0-windows was computed. |
-
net6.0-windows7.0
- Newtonsoft.Json (>= 13.0.3)
- RestSharp (>= 112.1.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Yash.Orchestrator:
| Package | Downloads |
|---|---|
|
Yash.Config
Configuration management and wizard utilities for UiPath. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 25.9.8 | 233 | 9/10/2025 |
| 25.9.7 | 208 | 9/9/2025 |
| 25.9.6 | 166 | 9/9/2025 |
| 25.9.5 | 162 | 9/9/2025 |
| 25.9.4 | 173 | 9/8/2025 |
| 25.9.3 | 154 | 9/8/2025 |
| 25.9.2 | 161 | 9/8/2025 |
| 25.9.1 | 151 | 9/8/2025 |
| 25.9.0 | 167 | 9/8/2025 |
| 25.8.8 | 142 | 8/9/2025 |
| 25.8.7 | 128 | 8/9/2025 |
| 25.8.6 | 224 | 8/5/2025 |
| 25.7.2 | 131 | 7/31/2025 |
| 25.7.1 | 136 | 7/30/2025 |
Initial release with support for folders, assets, buckets, and file download.