@uipath/integrationservice-tool 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/README.md +435 -0
  2. package/dist/index.js +30736 -0
  3. package/dist/tool.js +29828 -0
  4. package/package.json +51 -0
package/README.md ADDED
@@ -0,0 +1,435 @@
1
+ # Integration Service Tool
2
+
3
+ `uip` plugin for managing UiPath Integration Service connectors, connections, and operations.
4
+
5
+ ## Overview
6
+
7
+ The Integration Service Tool provides a comprehensive CLI interface for:
8
+ - **Connectors**: Browse and discover available integration connectors
9
+ - **Connections**: Create and manage OAuth-authenticated connections
10
+ - **Resources**: Discover, inspect, and execute operations on connector resources
11
+ - **Activities**: List integration activities for workflows
12
+
13
+ ## Usage
14
+
15
+ ### Connectors
16
+
17
+ List and explore available integration connectors:
18
+
19
+ ```bash
20
+ # List all available connectors
21
+ uip is connectors list
22
+
23
+ # Get details for a specific connector
24
+ uip is connectors get <connector-key>
25
+
26
+ # Examples
27
+ uip is connectors list --format json
28
+ uip is connectors get uipath-zoho-desk
29
+ uip is connectors get uipath-salesforce-sfdc
30
+ ```
31
+
32
+ **Available Options:**
33
+ - `-t, --tenant <name>` - Specify tenant (optional)
34
+ - `--format <format>` - Output format: table, json, yaml, plain (default: table)
35
+
36
+ ---
37
+
38
+ ### Connections
39
+
40
+ Manage connections to external services:
41
+
42
+ ```bash
43
+ # List connections for a connector
44
+ uip is connections list <connector-key> [--folder-key <key>]
45
+
46
+ # Ping a connection to check if it's active
47
+ uip is connections ping <connection-id>
48
+
49
+ # Create a new connection (OAuth flow)
50
+ uip is connections create <connector-key>
51
+
52
+ # Re-authenticate an existing connection
53
+ uip is connections edit <connection-id>
54
+
55
+ # Examples
56
+ uip is connections list uipath-outlook-365
57
+ uip is connections list uipath-salesforce-sfdc --folder-key my-folder-key
58
+ uip is connections ping 73ca047b-24dd-4789-a37e-e7afb67654cd
59
+ uip is connections create uipath-doist-todoist
60
+ uip is connections create uipath-zoho-desk --no-browser
61
+ uip is connections edit 73ca047b-24dd-4789-a37e-e7afb67654cd
62
+ ```
63
+
64
+ **Available Options:**
65
+ - `--folder-key <key>` - Filter connections by folder key (optional, for list command only)
66
+ - `-t, --tenant <name>` - Specify tenant (optional)
67
+ - `--format <format>` - Output format: table, json, yaml, plain (default: table)
68
+ - `--refresh` - Force re-fetch from API, ignoring cache (for list command only)
69
+ - `--no-browser` - Don't auto-open browser (for create/edit commands only)
70
+
71
+ **Connection States:**
72
+
73
+ 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.
74
+
75
+ | State | Description | Action |
76
+ |-------|-------------|--------|
77
+ | `Enabled` | Active and ready for operations | No action needed |
78
+ | `Disabled` | Connection is disabled | Run `edit` to re-authenticate |
79
+ | `Error` | Connection has an error | Run `edit` to re-authenticate or `create` a new one |
80
+
81
+ **Connection Create Flow:**
82
+ 1. Initiates OAuth session
83
+ 2. Opens authentication URL in browser
84
+ 3. Polls session status every 5 seconds
85
+ 4. Shows connection details on success
86
+
87
+ **Connection Ping:**
88
+
89
+ Check if a connection is active before performing operations:
90
+
91
+ ```bash
92
+ # Ping a connection to verify it's enabled
93
+ uip is connections ping <connection-id>
94
+
95
+ # Example
96
+ uip is connections ping 73ca047b-24dd-4789-a37e-e7afb67654cd
97
+ ```
98
+
99
+ If the connection is not enabled, the output will instruct you to run `edit` or `create` a new connection.
100
+
101
+ **Connection Edit (Re-authenticate):**
102
+
103
+ Re-authenticate an existing connection when it becomes disabled or expired:
104
+
105
+ ```bash
106
+ # Re-authenticate a connection
107
+ uip is connections edit <connection-id>
108
+
109
+ # Without auto-opening browser
110
+ uip is connections edit <connection-id> --no-browser
111
+
112
+ # Example
113
+ uip is connections edit 73ca047b-24dd-4789-a37e-e7afb67654cd
114
+ ```
115
+
116
+ The edit flow is similar to create — it opens a browser for OAuth authentication and polls until complete.
117
+
118
+ ---
119
+
120
+ ### Activities
121
+
122
+ List integration activities for use in workflows:
123
+
124
+ ```bash
125
+ # List non-trigger activities for a connector
126
+ uip is activities list <connector-key>
127
+
128
+ # Examples
129
+ uip is activities list uipath-zoho-desk
130
+ uip is activities list uipath-salesforce-sfdc --format json
131
+ ```
132
+
133
+ **Available Options:**
134
+ - `-t, --tenant <name>` - Specify tenant (optional)
135
+ - `--format <format>` - Output format: table, json, yaml, plain (default: table)
136
+
137
+ **Note:** Only non-trigger activities are returned (filtered by `isTrigger: false`)
138
+
139
+ ---
140
+
141
+ ### Resources
142
+
143
+ Discover, inspect, and execute operations on connector resources (objects).
144
+
145
+ ```
146
+ uip is resources --help
147
+
148
+ Commands:
149
+ list List available objects for a connector
150
+ describe Describe object fields and operations
151
+ execute Execute data operations on a connector
152
+ ```
153
+
154
+ #### List Available Objects
155
+
156
+ List all resource objects for a connector, optionally filtered by operation type.
157
+
158
+ ```bash
159
+ # List all objects for a connector
160
+ uip is resources list uipath-zoho-desk
161
+
162
+ # Filter by operation type
163
+ uip is resources list uipath-salesforce-sfdc --operation Create
164
+ uip is resources list uipath-salesforce-sfdc --operation List --connection-id <id>
165
+ ```
166
+
167
+ **Available Options:**
168
+ - `--operation <operation>` - Filter by operation: List, Retrieve, Create, Update, Delete, Replace
169
+ - `--connection-id <id>` - Connection/Instance ID (optional)
170
+ - `-t, --tenant <name>` - Specify tenant (optional)
171
+ - `--format <format>` - Output format: table, json, yaml, plain (default: table)
172
+
173
+ #### Describe Object Metadata
174
+
175
+ Retrieve field metadata for a specific resource object. Use `--operation` to filter and return only the fields relevant to a specific HTTP method.
176
+
177
+ ```bash
178
+ # Get full metadata for an object
179
+ uip is resources describe uipath-salesforce-sfdc Account
180
+ uip is resources describe uipath-zoho-desk create_ticket --connection-id <id>
181
+
182
+ # Get only Create (POST) fields in compact format
183
+ uip is resources describe uipath-zoho-desk tickets --operation Create
184
+
185
+ # Get only List (GET) fields in compact format
186
+ uip is resources describe uipath-zoho-desk departments --operation List
187
+
188
+ # Retrieve (GET by ID) fields
189
+ uip is resources describe uipath-zoho-desk tickets --operation Retrieve
190
+
191
+ # Combine with connection ID
192
+ uip is resources describe uipath-salesforce-sfdc Account --connection-id <id> --operation List
193
+ ```
194
+
195
+ **Available Options:**
196
+ - `--operation <operation>` - Filter fields by operation: List, Retrieve, Create, Update, Delete, Replace
197
+ - `--connection-id <id>` - Connection/Instance ID (optional)
198
+ - `-t, --tenant <name>` - Specify tenant (optional)
199
+ - `--format <format>` - Output format: table, json, yaml, plain (default: json)
200
+
201
+ #### Execute Data Operations
202
+
203
+ Execute CRUD operations against live data through a connection. The `execute` subgroup provides verb-based subcommands with a consistent signature:
204
+
205
+ ```
206
+ uip is resources execute <verb> <connector-key> <object-name> --connection-id <id> [options]
207
+ ```
208
+
209
+ ```
210
+ uip is resources execute --help
211
+
212
+ Commands:
213
+ create <connector-key> <object-name> Create a new record
214
+ list <connector-key> <object-name> List all records
215
+ get <connector-key> <object-name> Get a record by ID
216
+ update <connector-key> <object-name> Update a record
217
+ replace <connector-key> <object-name> Replace a record
218
+ delete <connector-key> <object-name> Delete a record
219
+ ```
220
+
221
+ **Create a record:**
222
+ ```bash
223
+ uip is resources execute create uipath-zoho-desk tickets \
224
+ --connection-id <id> \
225
+ --body '{"subject":"New ticket","priority":"High"}'
226
+ ```
227
+
228
+ **List all records:**
229
+ ```bash
230
+ uip is resources execute list uipath-zoho-desk tickets \
231
+ --connection-id <id>
232
+
233
+ # With query parameters
234
+ uip is resources execute list uipath-zoho-desk tickets \
235
+ --connection-id <id> \
236
+ --query "limit=10&offset=0"
237
+ ```
238
+
239
+ **Get a record by ID:**
240
+ ```bash
241
+ uip is resources execute get uipath-zoho-desk tickets \
242
+ --connection-id <id> \
243
+ --query "id=123"
244
+ ```
245
+
246
+ **Update a record:**
247
+ ```bash
248
+ uip is resources execute update uipath-zoho-desk tickets \
249
+ --connection-id <id> \
250
+ --body '{"status":"closed"}' \
251
+ --query "id=123"
252
+ ```
253
+
254
+ **Replace a record:**
255
+ ```bash
256
+ uip is resources execute replace uipath-zoho-desk tickets \
257
+ --connection-id <id> \
258
+ --body '{"subject":"Replaced ticket","priority":"Low"}'
259
+ ```
260
+
261
+ **Delete a record:**
262
+ ```bash
263
+ uip is resources execute delete uipath-zoho-desk tickets \
264
+ --connection-id <id> \
265
+ --query "id=123"
266
+ ```
267
+
268
+ **Available Options (all execute subcommands):**
269
+ - `--connection-id <id>` - Connection/Instance ID (required)
270
+ - `--body <json>` - Request body as JSON string (required for create, update, replace)
271
+ - `--query <params>` - Query parameters as key=value pairs, separated by `&`
272
+ - `-t, --tenant <name>` - Specify tenant (optional)
273
+ - `--format <format>` - Output format: table, json, yaml, plain (default: json)
274
+
275
+ ---
276
+
277
+ ## Common Options
278
+
279
+ All commands support these common options:
280
+
281
+ | Option | Description | Default |
282
+ |--------|-------------|---------|
283
+ | `-t, --tenant <name>` | Specify tenant name | From login session |
284
+ | `--format <format>` | Output format | `table` |
285
+ | `-h, --help` | Show command help | - |
286
+
287
+ **Available Formats:**
288
+ - `table` - Formatted table output (default for most commands)
289
+ - `json` - JSON output
290
+ - `yaml` - YAML output
291
+ - `plain` - Plain text output
292
+
293
+ ---
294
+
295
+ ## Examples
296
+
297
+ ### Complete Workflow Example
298
+
299
+ ```bash
300
+ # 1. Find a connector
301
+ uip is connectors list --format json | grep salesforce
302
+
303
+ # 2. Get connector details
304
+ uip is connectors get uipath-salesforce-sfdc
305
+
306
+ # 3. List connections to get connection ID
307
+ uip is connections list uipath-salesforce-sfdc
308
+
309
+ # 4. If no connections exist, create one
310
+ uip is connections create uipath-salesforce-sfdc
311
+
312
+ # 5. Verify connection is enabled (skip if list already shows Enabled)
313
+ uip is connections ping <connection-id>
314
+
315
+ # 6. If connection is not enabled, re-authenticate
316
+ uip is connections edit <connection-id>
317
+
318
+ # 7. List available resources with connection-specific data
319
+ uip is resources list uipath-salesforce-sfdc --connection-id <connection-id> --operation Create
320
+
321
+ # 8. Describe the object to see required fields
322
+ uip is resources describe uipath-salesforce-sfdc accounts --connection-id <connection-id> --operation Create
323
+
324
+ # 9. Create a record
325
+ uip is resources execute create uipath-salesforce-sfdc accounts \
326
+ --connection-id <connection-id> \
327
+ --body '{"Name":"Acme Corporation","Industry":"Technology"}'
328
+
329
+ # 10. List records
330
+ uip is resources execute list uipath-salesforce-sfdc accounts \
331
+ --connection-id <connection-id>
332
+
333
+ # 11. List activities for workflow design
334
+ uip is activities list uipath-salesforce-sfdc
335
+ ```
336
+
337
+ ### Multi-Environment Support
338
+
339
+ ```bash
340
+ # Use with different environments
341
+ uip is connectors list # Uses default from login
342
+ uip is connectors list -t production-tenant
343
+ uip is connectors list -t staging-tenant
344
+ ```
345
+
346
+ ---
347
+
348
+ ## Authentication
349
+
350
+ All commands require authentication via `uip login`:
351
+
352
+ ```bash
353
+ # Login to UiPath
354
+ uip login
355
+
356
+ # Login to specific environment
357
+ uip login --url https://alpha.uipath.com
358
+ uip login --url https://cloud.uipath.com
359
+ ```
360
+
361
+ The tool automatically uses the access token from your login session.
362
+
363
+ ---
364
+
365
+ ## MCP Server (AI Integration)
366
+
367
+ **Claude can now invoke these commands automatically!**
368
+
369
+ The uip MCP server exposes all Integration Service commands to Claude Desktop, enabling natural language automation:
370
+
371
+ ```json
372
+ // ~/.config/claude/claude_desktop_config.json
373
+ {
374
+ "mcpServers": {
375
+ "uipath-integration-service": {
376
+ "command": "uip",
377
+ "args": ["mcp", "serve"]
378
+ }
379
+ }
380
+ }
381
+ ```
382
+
383
+ **Examples of what Claude can do:**
384
+ - **"Send a message to slack channel test-slack"** - Claude finds the channel ID, gets required fields from metadata, and sends the message
385
+ - **"Create a Salesforce account named 'Acme Corp'"** - Claude discovers the schema and creates the record
386
+ - **"List all open tickets in Zoho Desk"** - Claude executes the query and formats results
387
+
388
+ **How it works:**
389
+ 1. Claude discovers available connectors and operations
390
+ 2. Reads metadata to understand required fields
391
+ 3. Looks up IDs by names (channel names → channel IDs)
392
+ 4. Chooses default connections automatically
393
+ 5. Executes operations with proper formatting
394
+
395
+ **📖 Full documentation:** See [MCP.md](./MCP.md) for setup, examples, and advanced workflows.
396
+
397
+ ---
398
+
399
+ ## API Endpoints
400
+
401
+ The tool interacts with these Integration Service APIs:
402
+
403
+ | Command | Endpoint |
404
+ |---------|----------|
405
+ | `connectors list` | `GET /connections_/api/v1/Connectors` |
406
+ | `connectors get` | `GET /connections_/api/v1/Connectors/{key}` |
407
+ | `connections list` | `GET /connections_/api/v1/Connectors/{key}/connections` |
408
+ | `connections create` | `POST /connections_/api/v1/Connections` |
409
+ | `connections ping` | `GET /connections_/api/v1/Connections/{id}/ping` |
410
+ | `connections edit` | `POST /connections_/api/v1/Connections/{id}/auth` |
411
+ | `activities list` | `GET /elements_/v3/element/elements/{key}/activities` |
412
+ | `resources list` | `GET /elements_/v3/element/[instances/{id}/]elements/{key}/objects` |
413
+ | `resources describe` | `GET /elements_/v3/element/[instances/{id}/]elements/{key}/objects/{name}/metadata` |
414
+ | `resources execute *` | `{METHOD} /elements_/v3/element/instances/{id}/{objectName}` |
415
+
416
+ ---
417
+
418
+ ## Versions
419
+
420
+ ### integrationservice-tool 0.0.1
421
+
422
+ **Features:**
423
+ - List and get connectors
424
+ - List connections (with folder filtering and status warnings)
425
+ - Create connections (OAuth flow with browser opening)
426
+ - Ping connections (verify connection is active)
427
+ - Edit/re-authenticate connections (OAuth re-auth flow)
428
+ - List and describe resources (filtered by operation, with metadata caching)
429
+ - List activities (non-trigger only)
430
+ - Execute CRUD operations on resources (create, list, get, update, replace, delete)
431
+ - File-based metadata caching for token optimization
432
+ - Multi-format output (table, json, yaml, plain)
433
+ - Multi-environment support
434
+ - Query parameters and request body support
435
+