- Overview
- Get started
- Concepts
- Using UiPath CLI
- How-to guides
- CI/CD recipes
- Command reference
- Overview
- Exit codes
- Global options
- uip codedagent
- uip docsai
- add-test-data-entity
- add-test-data-queue
- add-test-data-variation
- analyze
- build
- create-project
- diff
- find-activities
- get-analyzer-rules
- get-default-activity-xaml
- get-errors
- get-manual-test-cases
- get-manual-test-steps
- get-versions
- get-workflow-example
- indicate-application
- indicate-element
- inspect-package
- install-data-fabric-entities
- install-or-update-packages
- list-data-fabric-entities
- list-workflow-examples
- pack
- restore
- run-file
- search-templates
- start-studio
- stop-execution
- uia
- uip traces
- Migration
- Reference & support
UiPath CLI user guide
uip agent tool manages tool resources on an agent project. Tools are the agent's call-outs to external behaviour: Integration Service connectors, Orchestrator processes, other agents, API workflows, Process Orchestration flows, and IXP skills. Each entry in the agent's tool resources corresponds to one action the agent can invoke.
The add verb writes to disk locally; discover and connect call the Integration Service (IS) API and therefore require an active CLI session (uip login). list and remove are purely local.
Synopsis
uip agent tool add <name> [--type <type>]
[--description <desc>]
[--connector <key>] [--connector-url <url>]
[--object-name <name>]
[--connection-id <id>]
[--method <method>]
[--process-name <name>] [--folder-path <path>]
[--path <dir>]
uip agent tool discover --connector <key> [--connection-id <id>]
uip agent tool connect <name> --connection-id <id> [--path <dir>]
uip agent tool list [--path <dir>]
uip agent tool remove <name> [--path <dir>]
uip agent tool add <name> [--type <type>]
[--description <desc>]
[--connector <key>] [--connector-url <url>]
[--object-name <name>]
[--connection-id <id>]
[--method <method>]
[--process-name <name>] [--folder-path <path>]
[--path <dir>]
uip agent tool discover --connector <key> [--connection-id <id>]
uip agent tool connect <name> --connection-id <id> [--path <dir>]
uip agent tool list [--path <dir>]
uip agent tool remove <name> [--path <dir>]
All subcommands honor the global options (--output, --output-filter, --log-level, --log-file). Exit codes follow the standard contract.
Valid tool types are: integration, process, agent, apiWorkflow, processOrchestration, ixp.
uip agent tool add
Add a tool resource to the agent.
Arguments
<name>(required) — Tool name, referenced by the agent.
Options
| Flag | Default | Required | Purpose |
|---|---|---|---|
--type <type> | integration when --connector is present; otherwise required | conditional | Tool type. One of integration, process, agent, apiWorkflow, processOrchestration, ixp. |
--description <desc> | — | Free-text description. | |
--connector <key> | — | yes for integration | Connector key (for example, uipath-slack). |
--connector-url <url> | — | Connector base URL (Integration Service tools only). | |
--object-name <name> | — | Resource/object name from the IS connector (for example, message). When set together with --connector, add switches to the full IS metadata path, which calls the Integration Service API and may write userProfile/debug_overwrites.json. | |
--connection-id <id> | — | Connection ID to bind to this tool. Together with --object-name, enables the connection-aware debug_overwrites.json write. | |
--method <method> | POST | HTTP method for the tool operation. | |
--process-name <name> | — | Orchestrator process name to bind. Required by process, agent, apiWorkflow, processOrchestration tool types. | |
--folder-path <path> | — | Orchestrator folder path where the process is deployed. | |
--path <path> | . | Path to the agent project directory. |
Required flag combinations:
integrationtools require--connector.- When
--connectoris given without--type, the type defaults tointegration. - When both
--connectorand--object-nameare given on an integration tool, the command goes through the IS metadata path and requires a logged-in session.
Examples
# Process tool bound to an Orchestrator process
uip agent tool add InvoiceLookup \
--type process \
--process-name Invoices \
--folder-path Shared \
--path ./my-agent
# Integration Service tool, discovered via IS (requires login)
uip agent tool add SlackSender \
--connector uipath-slack \
--object-name message \
--connection-id a1b2c3d4-0000-0000-0000-000000000610
# Integration tool without IS metadata (local only)
uip agent tool add SlackSender --connector uipath-slack
# Process tool bound to an Orchestrator process
uip agent tool add InvoiceLookup \
--type process \
--process-name Invoices \
--folder-path Shared \
--path ./my-agent
# Integration Service tool, discovered via IS (requires login)
uip agent tool add SlackSender \
--connector uipath-slack \
--object-name message \
--connection-id a1b2c3d4-0000-0000-0000-000000000610
# Integration tool without IS metadata (local only)
uip agent tool add SlackSender --connector uipath-slack
Data shape (--output json)
Plain path (process, agent, or integration without IS metadata):
{
"Code": "AgentToolAdd",
"Data": {
"Status": "Tool added and bound to Orchestrator process",
"Name": "InvoiceLookup",
"Type": "process",
"Id": "a1b2c3d4-0000-0000-0000-000000000601",
"ProcessName": "Invoices",
"FolderPath": "Shared"
}
}
{
"Code": "AgentToolAdd",
"Data": {
"Status": "Tool added and bound to Orchestrator process",
"Name": "InvoiceLookup",
"Type": "process",
"Id": "a1b2c3d4-0000-0000-0000-000000000601",
"ProcessName": "Invoices",
"FolderPath": "Shared"
}
}
ProcessName and FolderPath are only present when --process-name was passed. Without a process binding, Status is "Tool added" instead.
IS metadata path (--connector + --object-name):
{
"Code": "AgentToolAdd",
"Data": {
"Status": "Integration tool added with IS metadata",
"Name": "SlackSender",
"Type": "integration",
"Id": "a1b2c3d4-0000-0000-0000-000000000605",
"ConnectorKey": "uipath-slack",
"ObjectName": "message",
"ConnectionBound": true
}
}
{
"Code": "AgentToolAdd",
"Data": {
"Status": "Integration tool added with IS metadata",
"Name": "SlackSender",
"Type": "integration",
"Id": "a1b2c3d4-0000-0000-0000-000000000605",
"ConnectorKey": "uipath-slack",
"ObjectName": "message",
"ConnectionBound": true
}
}
uip agent tool discover
Discover the operations exposed by an Integration Service connector. Calls the IS API; requires login.
Options
| Flag | Default | Required | Purpose |
|---|---|---|---|
--connector <key> | — | yes | Connector key. |
--connection-id <id> | — | Connection ID for tenanted discovery. |
Example
uip agent tool discover --connector uipath-slack
uip agent tool discover --connector uipath-slack
Data shape (--output json)
{
"Code": "AgentToolDiscover",
"Data": [
{
"Name": "sendMessage",
"DisplayName": "Send Message",
"Type": "integration",
"ObjectName": "message"
}
]
}
{
"Code": "AgentToolDiscover",
"Data": [
{
"Name": "sendMessage",
"DisplayName": "Send Message",
"Type": "integration",
"ObjectName": "message"
}
]
}
Empty connectors return Data: { "Message": "No tools found for this connector" }.
uip agent tool connect
Bind a connection to an already-added integration tool. Calls the IS API; requires login.
Arguments
<name>(required) — Tool name to update.
Options
| Flag | Default | Required | Purpose |
|---|---|---|---|
--connection-id <id> | — | yes | Connection ID to bind. |
--path <path> | . | Path to the agent project directory. |
Example
uip agent tool connect SlackSender \
--connection-id a1b2c3d4-0000-0000-0000-000000000610 \
--path ./my-agent
uip agent tool connect SlackSender \
--connection-id a1b2c3d4-0000-0000-0000-000000000610 \
--path ./my-agent
Data shape (--output json)
{
"Code": "AgentToolConnect",
"Data": {
"Status": "Connection bound to tool",
"Tool": "SlackSender",
"ConnectionId": "a1b2c3d4-0000-0000-0000-000000000610"
}
}
{
"Code": "AgentToolConnect",
"Data": {
"Status": "Connection bound to tool",
"Tool": "SlackSender",
"ConnectionId": "a1b2c3d4-0000-0000-0000-000000000610"
}
}
uip agent tool list
Enumerate the tools configured on the agent.
Options
| Flag | Default | Purpose |
|---|---|---|
--path <path> | . | Path to the agent project directory. |
Example
uip agent tool list --path ./my-agent
uip agent tool list --path ./my-agent
Data shape (--output json)
{
"Code": "AgentToolList",
"Data": [
{
"Name": "InvoiceLookup",
"Type": "process",
"Id": "a1b2c3d4-0000-0000-0000-000000000601",
"Enabled": true
}
]
}
{
"Code": "AgentToolList",
"Data": [
{
"Name": "InvoiceLookup",
"Type": "process",
"Id": "a1b2c3d4-0000-0000-0000-000000000601",
"Enabled": true
}
]
}
Empty projects return Data: { "Message": "No tools configured" }.
uip agent tool remove
Remove a tool resource.
Arguments
<name>(required) — Tool name or ID.
Options
| Flag | Default | Purpose |
|---|---|---|
--path <path> | . | Path to the agent project directory. |
Example
uip agent tool remove InvoiceLookup --path ./my-agent
uip agent tool remove InvoiceLookup --path ./my-agent
Data shape (--output json)
{
"Code": "AgentToolRemove",
"Data": {
"Status": "Tool removed",
"Name": "InvoiceLookup"
}
}
{
"Code": "AgentToolRemove",
"Data": {
"Status": "Tool removed",
"Name": "InvoiceLookup"
}
}
A missing tool fails with Tool "<name>" not found and exit code 1.
Related
uip agent context— RAG context resources.uip agent escalation— HITL / escalation resources.uip agent validate— re-run after batch edits.
See also
- Concepts: skills — how tools surface in the skill model.
- Authentication — sessions used by
discoverand the IS-awareaddpath. - Global options, Exit codes.
- Synopsis
- uip agent tool add
- Arguments
- Options
- Examples
- Data shape (--output json)
- uip agent tool discover
- Options
- Example
- Data shape (--output json)
- uip agent tool connect
- Arguments
- Options
- Example
- Data shape (--output json)
- uip agent tool list
- Options
- Example
- Data shape (--output json)
- uip agent tool remove
- Arguments
- Options
- Example
- Data shape (--output json)
- Related
- See also