neuron-explorer
Steering-first neuron explorer for Qwen3.5-4B: push every MLP neuron, keep every rollout, browse the results
A comprehensive Typescript SDK for interacting with UiPath's Automation Platform
Developer toolsTypeScript · JavaScriptGitHub @UiPathOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Loading the full README. The saved excerpt is shown below.
A comprehensive TypeScript SDK for interacting with UiPath Platform services.
The UiPath TypeScript SDK is a comprehensive, type-safe library for interacting with UiPath Platform services. Built with modern TypeScript, it provides seamless integration for both browser and Node.js applications, enabling developers to build sophisticated automation solutions with enterprise-grade reliability.
• Node.js 18.x or higher
• npm 8.x or higher (or yarn/pnpm)
• TypeScript 4.5+ (for TypeScript projects)Read the full README ↗Documentation • Getting Started • Usage • Samples
A comprehensive TypeScript SDK for interacting with UiPath Platform services.
The UiPath TypeScript SDK is a comprehensive, type-safe library for interacting with UiPath Platform services. Built with modern TypeScript, it provides seamless integration for both browser and Node.js applications, enabling developers to build sophisticated automation solutions with enterprise-grade reliability.
# Using npm
npm install @uipath/uipath-typescript
# Using yarn
yarn add @uipath/uipath-typescript
# Using pnpm
pnpm add @uipath/uipath-typescript
import { UiPath } from '@uipath/uipath-typescript/core';
import { MaestroProcesses } from '@uipath/uipath-typescript/maestro-processes';
import { Tasks } from '@uipath/uipath-typescript/tasks';
// Initialize the SDK with OAuth
const sdk = new UiPath({
baseUrl: 'https://cloud.uipath.com',
orgName: 'your-organization',
tenantName: 'your-tenant',
clientId: 'your-client-id',
redirectUri: 'your-redirect-uri',
scope: 'your-scopes'
});
// Initialize OAuth flow
await sdk.initialize();
// Create service instances
const maestroProcesses = new MaestroProcesses(sdk);
const tasks = new Tasks(sdk);
// Use the services
const processes = await maestroProcesses.getAll();
const allTasks = await tasks.getAll();
The SDK supports two authentication methods:
For OAuth, first create a non confidential External App with the required scopes and provide the clientId, redirectUri, and scope here.
import { UiPath } from '@uipath/uipath-typescript/core';
const sdk = new UiPath({
baseUrl: 'https://cloud.uipath.com',
orgName: 'your-organization',
tenantName: 'your-tenant',
clientId: 'your-client-id',
redirectUri: 'your-redirect-uri',
scope: 'your-scopes'
});
// IMPORTANT: OAuth requires calling initialize()
await sdk.initialize();
import { UiPath } from '@uipath/uipath-typescript/core';
const sdk = new UiPath({
baseUrl: 'https://cloud.uipath.com',
orgName: 'your-organization',
tenantName: 'your-tenant',
secret: 'your-secret' //PAT Token or Bearer Token
});
The initialize() method completes the authentication process for the SDK:
await sdk.initialize() before using any SDK servicesimport { UiPath } from '@uipath/uipath-typescript/core';
import { Tasks } from '@uipath/uipath-typescript/tasks';
const sdk = new UiPath({
baseUrl: 'https://cloud.uipath.com',
orgName: 'your-organization',
tenantName: 'your-tenant',
secret: 'your-secret' //PAT Token or Bearer Token
});
// Ready to use immediately - no initialize() needed
const tasks = new Tasks(sdk);
const allTasks = await tasks.getAll();
import { UiPath } from '@uipath/uipath-typescript/core';
import { Tasks } from '@uipath/uipath-typescript/tasks';
const sdk = new UiPath({
baseUrl: 'https://cloud.uipath.com',
orgName: 'your-organization',
tenantName: 'your-tenant',
clientId: 'your-client-id',
redirectUri: 'http://localhost:3000',
scope: 'your-scopes'
});
// Must initialize before using services
try {
await sdk.initialize();
console.log('SDK initialized successfully');
// Now you can use the SDK
const tasks = new Tasks(sdk);
const allTasks = await tasks.getAll();
} catch (error) {
console.error('Failed to initialize SDK:', error);
}
import { UiPath } from '@uipath/uipath-typescript/core';
useEffect(() => {
const initSDK = async () => {
const sdk = new UiPath({...oauthConfig});
await sdk.initialize();
};
initSDK();
}, []);
const onLogin = async () => {
await sdk.initialize();
};
// Handle OAuth callback
const oauthCompleted = useRef(false);
useEffect(() => {
if (sdk.isInitialized() && !oauthCompleted.current) {
oauthCompleted.current = true;
sdk.completeOAuth();
}
}, []);
sdk.initialize() - Start OAuth flow (auto completes also based on callback state)sdk.isInitialized() - Check if SDK initialization completedsdk.isAuthenticated() - Check if user has valid tokensdk.isInOAuthCallback() - Check if processing OAuth redirectsdk.completeOAuth() - Manually complete OAuth (advanced use)The SDK provides access to the following services through modular imports:
MaestroProcesses from @uipath/uipath-typescript/maestro-processes - Manage agentic maestro processesProcessInstances from @uipath/uipath-typescript/maestro-processes - Manage maestro process executionsCases from @uipath/uipath-typescript/cases - Manage maestro case management processesCaseInstances from @uipath/uipath-typescript/cases - Manage maestro case executionsTasks from @uipath/uipath-typescript/tasks - Create and manage tasksEntities from @uipath/uipath-typescript/entities - Data Fabric entity operationsChoiceSets from @uipath/uipath-typescript/entities - Data Fabric choice set operationsProcesses from @uipath/uipath-typescript/processes - Manage Orchestrator processesBuckets from @uipath/uipath-typescript/buckets - Manage storage buckets in OrchestratorQueues from @uipath/uipath-typescript/queues - Manage Orchestrator queuesAssets from @uipath/uipath-typescript/assets - Manage Orchestrator assetsConversationalAgent from @uipath/uipath-typescript/conversational-agent - Interact with Conversational Agents (real-time streaming, conversations, sessions)import { UiPath } from '@uipath/uipath-typescript/core';
import { MaestroProcesses, ProcessInstances } from '@uipath/uipath-typescript/maestro-processes';
import { Cases, CaseInstances } from '@uipath/uipath-typescript/cases';
import { Tasks, TaskType } from '@uipath/uipath-typescript/tasks';
import { Processes } from '@uipath/uipath-typescript/processes';
import { Buckets } from '@uipath/uipath-typescript/buckets';
import { ChoiceSets, Entities } from '@uipath/uipath-typescript/entities';
// Initialize SDK
const sdk = new UiPath({ /* config */ });
// Create service instances
const maestroProcesses = new MaestroProcesses(sdk);
const processInstances = new ProcessInstances(sdk);
const cases = new Cases(sdk);
const caseInstances = new CaseInstances(sdk);
const tasks = new Tasks(sdk);
const processes = new Processes(sdk);
const buckets = new Buckets(sdk);
const entities = new Entities(sdk);
const choiceSets = new ChoiceSets(sdk);
// Maestro - Get processes and their instances
const allProcesses = await maestroProcesses.getAll();
const instances = await processInstances.getAll({
processKey: 'my-process',
pageSize: 10
});
// Control Process Instances
await processInstances.pause(instanceId, 'folder-key');
await processInstances.resume(instanceId, 'folder-key');
await processInstances.cancel(instanceId, 'folder-key', {
comment: 'Cancelled due to error'
});
await processInstances.retry(instanceId, 'folder-key', {
comment: 'Retrying flaky failure'
});
// Maestro Case Instances
const caseInstance = await caseInstances.getById(instanceId, 'folder-key');
const stages = await caseInstances.getStages(instanceId, 'folder-key');
// Control Case Instances
await caseInstances.close(instanceId, 'folder-key', {
comment: 'Case resolved successfully'
});
// Orchestrator Processes - Start a process
const result = await processes.start({
processKey: 'MyProcess_Key',
}, folderId);
// Tasks - Create, assign, and complete
const task = await tasks.create({
title: 'Review Invoice',
priority: 'High'
}, folderId);
await tasks.assign({
taskId: task.id,
userNameOrEmail: '[email protected]'
}, folderId);
await tasks.complete(TaskType.App, {
taskId: task.id,
data: {},
action: 'submit'
}, folderId);
// Buckets - File operations
const bucket = await buckets.getById(bucketId, folderId);
const fileMetadata = await buckets.getFileMetaData(bucketId, folderId, {
prefix: '/invoices/'
});
// Upload file
await buckets.uploadFile({
bucketId: bucketId,
folderId: folderId,
prefix: '/folder1'
});
// Get download URL
const downloadUrl = await buckets.getReadUri({
bucketId: bucketId,
folderId: folderId,
path: '/folder/file.pdf'
});
// Data Fabric Entities - CRUD operations
const entity = await entities.getById('entity-uuid');
const records = await entities.getAllRecords('entity-uuid', {
pageSize: 100,
expansionLevel: 1
});
const allChoiceSets = await choiceSets.getAll();
// Insert records
await entities.insertRecordsById('entity-uuid', [
{ name: 'John Doe', email: '[email protected]', status: 'Active' },
{ name: 'Jane Smith', email: '[email protected]', status: 'Active' }
]);
// Update records
await entities.updateRecordsById('entity-uuid', [
{ Id: 'record-id-1', status: 'Inactive' }
]);
// Delete records
await entities.deleteRecordsById('entity-uuid', ['record-id-1', 'record-id-2']);
Check out the /samples folder to see sample applications built using the SDK:
Before submitting a pull request, please review our Contribution Guidelines.
To build and serve the documentation locally using MkDocs:
Prerequisites:
Steps:
pip3 install -r docs/requirements.txt
npm run docs:api
mkdocs build
mkdocs serve