Business Apps
Experimental
Warning
Preview: This service is experimental and may change or be removed in future releases.
Public surface of the Business Apps service. JSDoc on this interface drives the generated API reference documentation.
A business app is the tenant-level definition behind a workspace in Maestro — its name, description, icon, color, and the Orchestrator processes it surfaces. Definitions are scoped to the tenant, so no folder is involved.
Reads require the tenant-level APPS.View permission; create requires APPS.Create,
and both updateById and deleteById require APPS.Edit.
Methods¶
create()¶
create(
name:string,processKeys:string[],options?:BusinessAppCreateOptions):Promise<BusinessAppGetResponse>
Experimental
Creates a business app.
Warning
Preview: This method is experimental and may change or be removed in future releases.
The name must be unique within the tenant, compared case-insensitively — creating a
second app whose name differs only by case is rejected as a conflict. Returns the
stored app including its generated id and audit fields.
Parameters¶
| Parameter | Type | Description |
|---|---|---|
name |
string |
Display name, unique within the tenant |
processKeys |
string[] |
Orchestrator process (release) keys the app surfaces; at least one |
options? |
BusinessAppCreateOptions |
Optional description, icon and color |
Returns¶
Promise<BusinessAppGetResponse>
The created app as a BusinessAppGetResponse, with update and delete attached
Examples¶
import { UiPath } from '@uipath/uipath-typescript/core';
import { BusinessApps } from '@uipath/uipath-typescript/business-apps';
const sdk = new UiPath(config);
await sdk.initialize();
const businessApps = new BusinessApps(sdk);
const app = await businessApps.create('Claims Intake', ['<processKey>']);
const app = await businessApps.create('Claims Intake', ['<processKey>'], {
description: 'Handles inbound claims',
icon: 'claims-icon',
color: '#1F6FEB',
});
deleteById()¶
deleteById(
businessAppId:string):Promise<void>
Experimental
Deletes a business app.
Warning
Preview: This method is experimental and may change or be removed in future releases.
Only the definition is removed — the processes it referenced are left untouched.
Parameters¶
| Parameter | Type | Description |
|---|---|---|
businessAppId |
string |
GUID of the business app |
Returns¶
Promise<void>
Example¶
getAll()¶
getAll<
T>(options?:T):Promise<TextendsHasPaginationOptions<T> ?PaginatedResponse<BusinessAppGetResponse> :NonPaginatedResponse<BusinessAppGetResponse>>
Experimental
Gets the tenant's business apps, ordered by name.
Warning
Preview: This method is experimental and may change or be removed in future releases.
Apps are visible to anyone who can read them — there is no per-caller filtering. The
results are paged: calling without options returns the first page at the service's
default page size, so pass pageSize and follow nextCursor to walk a tenant that
has more apps than one page holds.
Type Parameters¶
| Type Parameter | Default type |
|---|---|
T extends PaginationOptions |
PaginationOptions |
Parameters¶
| Parameter | Type | Description |
|---|---|---|
options? |
T |
Pagination options |
Returns¶
Promise<T extends HasPaginationOptions<T> ? PaginatedResponse<BusinessAppGetResponse> : NonPaginatedResponse<BusinessAppGetResponse>>
The tenant's apps as BusinessAppGetResponse items, each with update and delete attached
Examples¶
const result = await businessApps.getAll();
result.items.forEach(app => console.log(app.name, app.processKeys));
let page = await businessApps.getAll({ pageSize: 50 });
const allApps = [...page.items];
while (page.hasNextPage && page.nextCursor) {
page = await businessApps.getAll({ cursor: page.nextCursor });
allApps.push(...page.items);
}
getById()¶
getById(
businessAppId:string):Promise<BusinessAppGetResponse>
Experimental
Gets a business app by id.
Warning
Preview: This method is experimental and may change or be removed in future releases.
Apps are addressable by id only — names are mutable, so resolve a name through
getAll() first if that is all you have.
Parameters¶
| Parameter | Type | Description |
|---|---|---|
businessAppId |
string |
GUID of the business app |
Returns¶
Promise<BusinessAppGetResponse>
The app as a BusinessAppGetResponse, with update and delete attached
Example¶
updateById()¶
updateById(
businessAppId:string,name:string,processKeys:string[],options?:BusinessAppUpdateOptions):Promise<BusinessAppGetResponse>
Experimental
Replaces a business app.
Warning
Preview: This method is experimental and may change or be removed in future releases.
This is a full replace, not a partial update: every editable field is overwritten, so
an omitted description, icon or color is cleared rather than left alone. The name
must stay unique within the tenant. Writes are last-write-wins — concurrent updates do
not conflict, the later one simply survives.
Parameters¶
| Parameter | Type | Description |
|---|---|---|
businessAppId |
string |
GUID of the business app |
name |
string |
New display name, unique within the tenant |
processKeys |
string[] |
The full set of Orchestrator process (release) keys the app surfaces |
options? |
BusinessAppUpdateOptions |
Optional description, icon and color; omitting one clears it |
Returns¶
Promise<BusinessAppGetResponse>
The app as stored after the write, as a BusinessAppGetResponse