@uipath/integrationservice-tool
v1.196.0
Published
Manage Integration Service connectors, connections, and triggers.
Maintainers
Keywords
Readme
Integration Service Tool
uip plugin for managing UiPath Integration Service connectors, connections, and operations.
Overview
The Integration Service Tool provides a comprehensive CLI interface for:
- Connectors: Browse and discover available integration connectors
- Connections: Create and manage OAuth-authenticated connections
- Resources: Discover, inspect, and execute operations on connector resources
- Activities: List integration activities for workflows
Usage
Connectors
List and explore available integration connectors:
# List all available connectors
uip is connectors list
# Get details for a specific connector
uip is connectors get <connector-key>
# Examples
uip is connectors list --output json
uip is connectors get uipath-zoho-desk
uip is connectors get uipath-salesforce-sfdcAvailable Options:
-t, --tenant <name>- Specify tenant (optional)--output <format>- Output format: table, json, yaml, plain (default: table)
Connections
Manage connections to external services:
# List connections for a connector
uip is connections list <connector-key> [--folder-key <key>]
# Export connections for audit
uip is connections export
# Ping a connection to check if it's active
uip is connections ping <connection-id>
# Delete a connection
uip is connections delete <connection-id>
# Create a new connection (OAuth flow)
uip is connections create <connector-key>
# Re-authenticate an existing connection
uip is connections edit <connection-id>
# Examples
uip is connections list uipath-outlook-365
uip is connections list uipath-salesforce-sfdc --folder-key my-folder-key
uip is connections export
uip is connections ping 73ca047b-24dd-4789-a37e-e7afb67654cd
uip is connections delete 73ca047b-24dd-4789-a37e-e7afb67654cd
uip is connections create uipath-doist-todoist
uip is connections create uipath-zoho-desk --no-browser
uip is connections create uipath-zoho-desk --no-browser --no-wait
uip is connections edit 73ca047b-24dd-4789-a37e-e7afb67654cd
uip is connections edit 73ca047b-24dd-4789-a37e-e7afb67654cd --no-browser --no-waitAvailable Options:
--folder-key <key>- Filter connections by folder key (optional, for list command only)-t, --tenant <name>- Specify tenant (optional)--output <format>- Output format: table, json, yaml, plain (default: table)--refresh- Force re-fetch from API, ignoring cache (for list command only)--no-browser- Don't auto-open browser (for create/edit commands only)--no-wait- Return pending authorization details without polling (for create/edit commands only)
Connection States:
When listing connections, the output includes a State field. Only Enabled connections can be used for operations. If all connections are not enabled, the output will include a warning with instructions to fix them.
| State | Description | Action |
|-------|-------------|--------|
| Enabled | Active and ready for operations | No action needed |
| Disabled | Connection is disabled | Run edit to re-authenticate |
| Error | Connection has an error | Run edit to re-authenticate or create a new one |
Connection Create Flow:
- Initiates OAuth session
- Opens authentication URL in browser
- Polls session status every 5 seconds
- Shows connection details on success
For headless scripts, pass --no-browser --no-wait to return a structured
ConnectionAuthorizationPending result with the authorization URL and session
details instead of polling the browser-based OAuth flow.
Connection Ping:
Check if a connection is active before performing operations:
# Ping a connection to verify it's enabled
uip is connections ping <connection-id>
# Example
uip is connections ping 73ca047b-24dd-4789-a37e-e7afb67654cdIf the connection is not enabled, the output will instruct you to run edit or create a new connection.
Connection Edit (Re-authenticate):
Re-authenticate an existing connection when it becomes disabled or expired:
# Re-authenticate a connection
uip is connections edit <connection-id>
# Without auto-opening browser
uip is connections edit <connection-id> --no-browser
# Example
uip is connections edit 73ca047b-24dd-4789-a37e-e7afb67654cdThe edit flow is similar to create — it opens a browser for OAuth authentication and polls until complete.
Activities
List integration activities for use in workflows:
# List non-trigger activities for a connector
uip is activities list <connector-key>
# Examples
uip is activities list uipath-zoho-desk
uip is activities list uipath-salesforce-sfdc --output jsonAvailable Options:
-t, --tenant <name>- Specify tenant (optional)--output <format>- Output format: table, json, yaml, plain (default: table)
Note: Only non-trigger activities are returned (filtered by isTrigger: false)
Resources
Discover, inspect, and execute operations on connector resources (objects).
uip is resources --help
Commands:
list List available objects for a connector
describe Describe object fields and operations
execute Execute data operations on a connectorList Available Objects
List all resource objects for a connector, optionally filtered by operation type.
# List all objects for a connector
uip is resources list uipath-zoho-desk
# Filter by operation type
uip is resources list uipath-salesforce-sfdc --operation Create
uip is resources list uipath-salesforce-sfdc --operation List --connection-id <id>Available Options:
--operation <operation>- Filter by operation: List, Retrieve, Create, Update, Delete, Replace--connection-id <id>- Connection/Instance ID (optional)-t, --tenant <name>- Specify tenant (optional)--output <format>- Output format: table, json, yaml, plain (default: table)
Describe Object Metadata
Retrieve field metadata for a specific resource object. Use --operation to filter and return only the fields relevant to a specific HTTP method.
# Get full metadata for an object
uip is resources describe uipath-salesforce-sfdc Account
uip is resources describe uipath-zoho-desk create_ticket --connection-id <id>
# Get only Create (POST) fields in compact format
uip is resources describe uipath-zoho-desk tickets --operation Create
# Get only List (GET) fields in compact format
uip is resources describe uipath-zoho-desk departments --operation List
# Retrieve (GET by ID) fields
uip is resources describe uipath-zoho-desk tickets --operation Retrieve
# Combine with connection ID
uip is resources describe uipath-salesforce-sfdc Account --connection-id <id> --operation ListAvailable Options:
--operation <operation>- Filter fields by operation: List, Retrieve, Create, Update, Delete, Replace--connection-id <id>- Connection/Instance ID (optional)-t, --tenant <name>- Specify tenant (optional)--output <format>- Output format: table, json, yaml, plain (default: json)
Run Data Operations
Run CRUD operations against live data through a connection. The run subgroup provides verb-based subcommands with a consistent signature:
uip is resources run <verb> <connector-key> <object-name> --connection-id <id> [options]uip is resources run --help
Commands:
create <connector-key> <object-name> Create a new record
list <connector-key> <object-name> List all records
get <connector-key> <object-name> Get a record by ID
update <connector-key> <object-name> Update a record
replace <connector-key> <object-name> Replace a record
delete <connector-key> <object-name> Delete a recordCreate a record:
uip is resources run create uipath-zoho-desk tickets \
--connection-id <id> \
--body '{"subject":"New ticket","priority":"High"}'List all records:
uip is resources run list uipath-zoho-desk tickets \
--connection-id <id>
# With query parameters
uip is resources run list uipath-zoho-desk tickets \
--connection-id <id> \
--query "limit=10&offset=0"Get a record by ID:
uip is resources run get uipath-zoho-desk tickets \
--connection-id <id> \
--query "id=123"Update a record:
uip is resources run update uipath-zoho-desk tickets \
--connection-id <id> \
--body '{"status":"closed"}' \
--query "id=123"Replace a record:
uip is resources run replace uipath-zoho-desk tickets \
--connection-id <id> \
--body '{"subject":"Replaced ticket","priority":"Low"}'Delete a record:
uip is resources run delete uipath-zoho-desk tickets \
--connection-id <id> \
--query "id=123"Available Options (all run subcommands):
--connection-id <id>- Connection/Instance ID (required)--body <json>- Request body as JSON string (required for create, update, replace)--query <params>- Query parameters as key=value pairs, separated by&-t, --tenant <name>- Specify tenant (optional)--output <format>- Output format: table, json, yaml, plain (default: json)
Common Options
All commands support these common options:
| Option | Description | Default |
|--------|-------------|---------|
| -t, --tenant <name> | Specify tenant name | From login session |
| --output <format> | Output format | table |
| -h, --help | Show command help | - |
Available Formats:
table- Formatted table output (default for most commands)json- JSON outputyaml- YAML outputplain- Plain text output
Examples
Complete Workflow Example
# 1. Find a connector
uip is connectors list --output json | grep salesforce
# 2. Get connector details
uip is connectors get uipath-salesforce-sfdc
# 3. List connections to get connection ID
uip is connections list uipath-salesforce-sfdc
# 4. If no connections exist, create one
uip is connections create uipath-salesforce-sfdc
# 5. Verify connection is enabled (skip if list already shows Enabled)
uip is connections ping <connection-id>
# 6. If connection is not enabled, re-authenticate
uip is connections edit <connection-id>
# 7. List available resources with connection-specific data
uip is resources list uipath-salesforce-sfdc --connection-id <connection-id> --operation Create
# 8. Describe the object to see required fields
uip is resources describe uipath-salesforce-sfdc accounts --connection-id <connection-id> --operation Create
# 9. Create a record
uip is resources run create uipath-salesforce-sfdc accounts \
--connection-id <connection-id> \
--body '{"Name":"Acme Corporation","Industry":"Technology"}'
# 10. List records
uip is resources run list uipath-salesforce-sfdc accounts \
--connection-id <connection-id>
# 11. List activities for workflow design
uip is activities list uipath-salesforce-sfdcMulti-Environment Support
# Use with different environments
uip is connectors list # Uses default from login
uip is connectors list -t production-tenant
uip is connectors list -t staging-tenantCaching
The tool caches metadata locally to reduce API calls and improve response times. Cache files are stored at:
~/.uipath/cache/integrationservice/{tenantId}/Tenant Isolation
Cache is scoped by tenant ID, not tenant name. This means:
- Switching between tenants (
--tenant) or accounts (uip login) always reads/writes a separate cache directory. - No cross-tenant data leakage — tenant A's cached connectors are never served to tenant B.
When --tenant <name> points to a different tenant than the current login, the tool resolves the tenant name to its ID via the UiPath API (once per invocation, then memoized).
TTL (Time-To-Live)
Each cache type has a default TTL. After expiry, the next read returns a cache miss and the data is re-fetched from the API.
| Cache type | TTL | File pattern |
|---|---|---|
| Connectors | 24 hours | connectors.json |
| Activities | 24 hours | {connector}/activities.json |
| Connections | 1 hour | {connector}/connections.json |
| Resources | 4 hours | {connector}/{connection}/resources.json |
| Schema | 4 hours | {connector}/{connection}/{object}.schema.json |
| Trigger objects | 4 hours | {connector}/{connection}/triggers/{op}/objects.json |
| Trigger metadata | 4 hours | {connector}/{connection}/triggers/{op}/{object}.metadata.json |
Cache Format
Each cache file is wrapped in an envelope:
{
"cachedAt": 1719000000000,
"data": [ ... ]
}Old cache files (without the cachedAt envelope) are treated as expired and automatically re-fetched.
Bypassing the Cache
Use --refresh on any command that supports it to force a fresh API call, ignoring cached data:
# Force re-fetch connectors
uip is connectors list --refresh
# Force re-fetch connections
uip is connections list uipath-salesforce-sfdc --refresh
# Force re-fetch resources
uip is resources list uipath-salesforce-sfdc --refresh
# Force re-fetch schema
uip is resources describe uipath-salesforce-sfdc Account --refreshAuthentication
All commands require authentication via uip login:
# Login to UiPath
uip login
# Login to specific environment
uip login --url https://alpha.uipath.com
uip login --url https://cloud.uipath.comThe tool automatically uses the access token from your login session.
MCP Server (AI Integration)
Claude can now invoke these commands automatically!
The uip MCP server exposes all Integration Service commands to Claude Desktop, enabling natural language automation:
// ~/.config/claude/claude_desktop_config.json
{
"mcpServers": {
"uipath-integration-service": {
"command": "uip",
"args": ["mcp", "serve"]
}
}
}Examples of what Claude can do:
- "Send a message to slack channel test-slack" - Claude finds the channel ID, gets required fields from metadata, and sends the message
- "Create a Salesforce account named 'Acme Corp'" - Claude discovers the schema and creates the record
- "List all open tickets in Zoho Desk" - Claude executes the query and formats results
How it works:
- Claude discovers available connectors and operations
- Reads metadata to understand required fields
- Looks up IDs by names (channel names → channel IDs)
- Chooses default connections automatically
- Executes operations with proper formatting
📖 Full documentation: See MCP.md for setup, examples, and advanced workflows.
API Endpoints
The tool interacts with these Integration Service APIs:
| Command | Endpoint |
|---------|----------|
| connectors list | GET /connections_/api/v1/Connectors |
| connectors get | GET /connections_/api/v1/Connectors/{key} |
| connections list | GET /connections_/api/v1/Connectors/{key}/connections |
| connections create | POST /connections_/api/v1/Connections |
| connections ping | GET /connections_/api/v1/Connections/{id}/ping |
| connections edit | POST /connections_/api/v1/Connections/{id}/auth |
| activities list | GET /elements_/v3/element/elements/{key}/activities |
| resources list | GET /elements_/v3/element/[instances/{id}/]elements/{key}/objects |
| resources describe | GET /elements_/v3/element/[instances/{id}/]elements/{key}/objects/{name}/metadata |
| resources run * | {METHOD} /elements_/v3/element/instances/{id}/{objectName} |
See RELEASE_NOTES.md for version history.
