Skip to content

Processes

Service for managing and executing UiPath Automation Processes.

Processes (also known as automations or workflows) are the core units of automation in UiPath, representing sequences of activities that perform specific business tasks. UiPath Processes Guide

Usage

Prerequisites: Initialize the SDK first - see Getting Started

import { Processes } from '@uipath/uipath-typescript/processes';

const processes = new Processes(sdk);
const allProcesses = await processes.getAll();

Methods

getAll()

getAll<T>(options?: T): Promise<T extends HasPaginationOptions<T> ? PaginatedResponse<ProcessGetResponse> : NonPaginatedResponse<ProcessGetResponse>>

Gets all processes across folders with optional filtering Returns a NonPaginatedResponse with data and totalCount when no pagination parameters are provided, or a PaginatedResponse when any pagination parameter is provided

Type Parameters

Type Parameter Default type
T extends ProcessGetAllOptions ProcessGetAllOptions

Parameters

Parameter Type Description
options? T Query options including optional folderId and pagination options

Returns

Promise<T extends HasPaginationOptions<T> ? PaginatedResponse<ProcessGetResponse> : NonPaginatedResponse<ProcessGetResponse>>

Promise resolving to either an array of processes NonPaginatedResponse or a PaginatedResponse when pagination options are used. ProcessGetResponse

Example

// Standard array return
const allProcesses = await processes.getAll();

// Get processes within a specific folder
const folderProcesses = await processes.getAll({
  folderId: <folderId>
});

// Get processes with filtering
const filteredProcesses = await processes.getAll({
  filter: "name eq 'MyProcess'"
});

// First page with pagination
const page1 = await processes.getAll({ pageSize: 10 });

// Navigate using cursor
if (page1.hasNextPage) {
  const page2 = await processes.getAll({ cursor: page1.nextCursor });
}

// Jump to specific page
const page5 = await processes.getAll({
  jumpToPage: 5,
  pageSize: 10
});

getById()

getById(id: number, folderId: number, options?: ProcessGetByIdOptions): Promise<ProcessGetResponse>

Gets a single process by ID

Parameters

Parameter Type Description
id number Process ID
folderId number Required folder ID
options? ProcessGetByIdOptions Optional query parameters

Returns

Promise<ProcessGetResponse>

Promise resolving to a single process ProcessGetResponse

Example

// Get process by ID
const process = await processes.getById(<processId>, <folderId>);

getByName()

getByName(name: string, options?: ProcessGetByNameOptions): Promise<ProcessGetResponse>

Retrieves a single process by name.

Parameters

Parameter Type Description
name string Process name to search for
options? ProcessGetByNameOptions Folder scoping (folderId / folderKey / folderPath) and optional query parameters (expand, select)

Returns

Promise<ProcessGetResponse>

Promise resolving to a single process ProcessGetResponse

Example

// By folder ID
await processes.getByName('MyProcess', { folderId: 123 });

// By folder key (GUID)
await processes.getByName('MyProcess', { folderKey: '5f6dadf1-3677-49dc-8aca-c2999dd4b3ba' });

// By folder path
await processes.getByName('MyProcess', { folderPath: 'Shared/Finance' });

// With expand
await processes.getByName('MyProcess', { folderPath: 'Shared/Finance', expand: 'entryPoints' });

start()

start(processRef: ProcessRef, options?: ProcessStartRefOptions): Promise<ProcessStartResponse[]>

Starts a process. First fetch the process via processes.getAll() or processes.getByName() to obtain a name or key to pass in processRef.

Folder context and every startInfo field (jobPriority, jobsCount, robotIds, inputArguments, etc.) live in options. Runtime resource overrides apply on both { name } and { key } — a cross-folder redirect steers both the identity and the folder scoping to the override target.

Parameters

Parameter Type Description
processRef ProcessRef Process identifier — see the variants for their folder-scope requirements
options? ProcessStartRefOptions Folder scoping + startInfo fields + optional expand / select / filter / orderby

Returns

Promise<ProcessStartResponse[]>

Promise resolving to an array of started process instances of ProcessStartResponse

Example

import { JobPriority } from '@uipath/uipath-typescript/processes';

// By process name + folder path
await processes.start({ name: 'InvoiceReview' }, { folderPath: 'Shared/Live' });

// By process key (GUID)
await processes.start({ key: '5f6dadf1-3677-49dc-8aca-c2999dd4b3ba' }, { folderKey: '<folderKey>' });

// With startInfo options
await processes.start(
  { name: 'InvoiceReview' },
  { folderPath: 'Shared/Live', jobPriority: JobPriority.High, jobsCount: 3 },
);

// With expand to include related entities
await processes.start(
  { name: 'InvoiceReview' },
  { folderPath: 'Shared/Live', expand: 'Robot,Machine' },
);