Commands for managing Action Center tasks, catalogs, comments, labels, metadata, and task data using the `uip tasks` tool.
uip tasks manages Action Center tasks — the human-in-the-loop work items (form fills, approvals, document validation/classification, data labeling) that RPA processes and agents create for a person to complete. The tool lets you list and inspect tasks, assign or reassign them, complete them with an action and data payload, and manage the auxiliary resources attached to a task: catalogs (grouping/retention config), comments, labels (tags), metadata (title/priority/catalog link), and the task's own form/business data. tasks is the command prefix; the underlying package is @uipath/tasks-tool.
Folder scoping — every verb that operates on a specific task or catalog accepts --folder-id <id>, --folder-path <path>, or --folder-key <key> (mutually exclusive; enforced at parse time via Commander conflicts). When none is passed on an interactive terminal, the CLI shows a folder picker; in a non-interactive run (CI, coding agents) it fails fast asking for one. uip tasks list and uip tasks get are the two exceptions — a folder is optional there and simply narrows the results/lookup when given.
Task type — several verbs (get --task-type, complete --type) take one of FormTask, ExternalTask, AppTask, DocumentValidationTask, DocumentClassificationTask, DataLabelingTask, QuickFormTask. An unrecognized value fails client-side with the full list named in the error.
Pagination — list-style verbs (list, catalogs list, comments list, users) page internally with a 100-item page size and follow nextCursor until exhausted or --limit is reached, returning one flat array either way — there's no cursor flag to manage yourself.
Catalogs are optional grouping/retention config for tasks — metadata --catalog-id links a task to one; catalogs create/update's retention fields (--retention-action, --retention-period, --retention-bucket-id) control what happens to catalog data over time. --encrypted on catalogs create is immutable — there's no way to change it via catalogs update.
assignment uip tasks list [ -- folder- id < id> | -- folder- path < path> | -- folder- key < key> ] [ -- as - admin] [ - l, -- limit < n> ]
uip tasks get < id> [ -- task- type < type> ] [ -- folder- id < id> | -- folder- path < path> | -- folder- key < key> ]
uip tasks assign < task- id> ( -- user- id < id> | -- user < email> )
uip tasks reassign < task- id> ( -- user- id < id> | -- user < email> )
uip tasks unassign < task- id>
uip tasks complete < task- id> -- type < type> [ -- data < json> ] [ -- action < action> ] [ -- folder- id < id> | -- folder- path < path> | -- folder- key < key> ]
uip tasks users [ folder- id] [ -- folder- path < path> | -- folder- key < key> ] [ - l, -- limit < n> ]
uip tasks catalogs list [ -- folder- id < id> | -- folder- path < path> | -- folder- key < key> ] [ - l, -- limit < n> ]
uip tasks catalogs get < id> [ -- folder- id < id> | -- folder- path < path> | -- folder- key < key> ]
uip tasks catalogs create -- name < name> [ -- description < text> ] [ -- encrypted] [ -- retention- action < action> ] [ -- retention- period < days> ] [ -- retention- bucket- id < id> ] [ -- folder- id < id> | -- folder- path < path> | -- folder- key < key> ]
uip tasks catalogs update < id> [ -- name < name> ] [ -- description < text> ] [ -- retention- action < action> ] [ -- retention- period < days> ] [ -- retention- bucket- id < id> ] [ -- folder- id < id> | -- folder- path < path> | -- folder- key < key> ]
uip tasks comments list < task- id> [ - l, -- limit < n> ] [ folder options]
uip tasks comments add < task- id> -- text < text> [ folder options]
uip tasks labels < task- id> -- labels < json> [ folder options]
uip tasks metadata < task- id> [ -- title < text> ] [ -- priority < level> ] [ -- catalog- id < id> | -- unset- catalog] [ -- note < text> ] [ folder options]
uip tasks data get < task- id> [ folder options]
uip tasks data save < task- id> -- data < json> [ folder options]
uip tasks list [--folder-id <id> | --folder-path <path> | --folder-key <key>] [--as-admin] [-l, --limit <n>]
uip tasks get <id> [--task-type <type>] [--folder-id <id> | --folder-path <path> | --folder-key <key>]
uip tasks assign <task-id> (--user-id <id> | --user <email>)
uip tasks reassign <task-id> (--user-id <id> | --user <email>)
uip tasks unassign <task-id>
uip tasks complete <task-id> --type <type> [--data <json>] [--action <action>] [--folder-id <id> | --folder-path <path> | --folder-key <key>]
uip tasks users [folder-id] [--folder-path <path> | --folder-key <key>] [-l, --limit <n>]
uip tasks catalogs list [--folder-id <id> | --folder-path <path> | --folder-key <key>] [-l, --limit <n>]
uip tasks catalogs get <id> [--folder-id <id> | --folder-path <path> | --folder-key <key>]
uip tasks catalogs create --name <name> [--description <text>] [--encrypted] [--retention-action <action>] [--retention-period <days>] [--retention-bucket-id <id>] [--folder-id <id> | --folder-path <path> | --folder-key <key>]
uip tasks catalogs update <id> [--name <name>] [--description <text>] [--retention-action <action>] [--retention-period <days>] [--retention-bucket-id <id>] [--folder-id <id> | --folder-path <path> | --folder-key <key>]
uip tasks comments list <task-id> [-l, --limit <n>] [folder options]
uip tasks comments add <task-id> --text <text> [folder options]
uip tasks labels <task-id> --labels <json> [folder options]
uip tasks metadata <task-id> [--title <text>] [--priority <level>] [--catalog-id <id> | --unset-catalog] [--note <text>] [folder options]
uip tasks data get <task-id> [folder options]
uip tasks data save <task-id> --data <json> [folder options]
List tasks across folders (or one folder, when scoped).
Options
Long Value Description --folder-id <id>integer Filter by folder ID. --folder-path <path>string Filter by folder path (alternative to --folder-id). --folder-key <key>GUID Filter by folder key (alternative to --folder-id). --as-adminflag List tasks as admin (broader visibility than your own assigned/available tasks). -l, --limit <number>integer Maximum items to return. Fetches everything (paging internally) when omitted.
Example
assignment uip tasks list -- folder- path "Shared/Finance" -- limit 20
uip tasks list --folder-path "Shared/Finance" --limit 20
Data shape (--output json)
assignment { "Code" : "TaskList" , "Data" : [ { "id" : 1 , "title" : "Approve invoice" , "type" : "FormTask" , "status" : "Pending" } ] }
{ "Code": "TaskList", "Data": [ { "id": 1, "title": "Approve invoice", "type": "FormTask", "status": "Pending" } ] }
Get details of a task by ID.
Arguments
Name Required Purpose <id>yes Task ID. Use tasks list to find one.
Options
Long Value Description --task-type <type>one of the 7 task types Task type. Requires a folder option when passed — fails fast otherwise. --folder-id <id> / --folder-path <path> / --folder-key <key>Folder scope. Required only when --task-type is set.
Example
assignment uip tasks get 123 -- task- type FormTask -- folder- id 42
uip tasks get 123 --task-type FormTask --folder-id 42
Data shape (--output json)
assignment { "Code" : "TaskDetails" , "Data" : { "id" : 123 , "title" : "Approve invoice" , "type" : "FormTask" , "status" : "Pending" } }
{ "Code": "TaskDetails", "Data": { "id": 123, "title": "Approve invoice", "type": "FormTask", "status": "Pending" } }
uip tasks assign / reassign link
Assign a task to a user, or reassign it to a different one — identical option shape, different Code on success.
Arguments
Name Required Purpose <task-id>yes Task ID.
Options
Long Value Required Description --user-id <id>integer one of these two Assignee's numeric user ID. --user <email>string one of these two Assignee's username or email (alternative to --user-id).
Passing neither fails with an explicit "missing assignee" error.
Example
assignment uip tasks assign 123 -- user alice@company. com
uip tasks reassign 123 -- user- id 7
uip tasks assign 123 --user alice@company.com
uip tasks reassign 123 --user-id 7
Data shape (--output json)
assignment { "Code" : "TaskAssigned" , "Data" : { "id" : 123 , "assignedTo" : "alice@company.com" } }
{ "Code": "TaskAssigned", "Data": { "id": 123, "assignedTo": "alice@company.com" } }
Code is TaskReassigned for reassign.
Remove the assignee from a task. No options beyond the task ID.
Arguments
Name Required Purpose <task-id>yes Task ID.
Example
assignment uip tasks unassign 123
uip tasks unassign 123
Data shape (--output json)
assignment { "Code" : "TaskUnassigned" , "Data" : { "id" : 123 } }
{ "Code": "TaskUnassigned", "Data": { "id": 123 } }
Complete a task with an action and optional data payload.
Arguments
Name Required Purpose <task-id>yes Task ID.
Options
Long Value Required Description --type <type>one of the 7 task types yes Task type — validated client-side against the enum. --data <json>JSON no Task data payload as a JSON string. --action <action>string conditionally Action name. Required in practice for FormTask and AppTask (not enforced client-side — the platform rejects a missing action for those types). Folder options no A folder is resolved (interactively if omitted, on a TTY) before completing.
Example
assignment uip tasks complete 123 -- type FormTask -- action Approve -- data '{"comment":"Looks good"}'
uip tasks complete 123 --type FormTask --action Approve --data '{"comment":"Looks good"}'
Data shape (--output json)
assignment { "Code" : "TaskCompleted" , "Data" : { "id" : 123 , "status" : "Completed" } }
{ "Code": "TaskCompleted", "Data": { "id": 123, "status": "Completed" } }
List users with task permissions in a folder — the source for --user-id/--user values on assign/reassign.
Arguments
Name Required Purpose [folder-id]no Folder ID as a positional argument. Mutually exclusive with --folder-path/--folder-key — passing both fails explicitly.
Options
Long Value Description --folder-path <path>string Folder path (alternative to the positional argument). --folder-key <key>GUID Folder key (alternative to the positional argument). -l, --limit <number>integer Maximum items to return.
Example
assignment uip tasks users 42
uip tasks users -- folder- path "Shared/Finance" -- limit 10
uip tasks users 42
uip tasks users --folder-path "Shared/Finance" --limit 10
Data shape (--output json)
assignment {
"Code" : "TaskUserList" ,
"Data" : [
{ "id" : 1 , "name" : "Alice" , "surname" : "Smith" , "userName" : "alice" , "emailAddress" : "alice@company.com" , "displayName" : "Alice Smith" }
]
}
{
"Code": "TaskUserList",
"Data": [
{ "id": 1, "name": "Alice", "surname": "Smith", "userName": "alice", "emailAddress": "alice@company.com", "displayName": "Alice Smith" }
]
}
Manage task catalogs — named groupings of tasks with optional encryption and retention policy.
uip tasks catalogs list
Options
Long Value Description Folder options Folder to list catalogs in (a folder is resolved if omitted, per Concepts ). -l, --limit <number>integer Maximum items to return.
Example
assignment uip tasks catalogs list -- folder- id 42
uip tasks catalogs list --folder-id 42
Data shape (--output json)
assignment { "Code" : "TaskCatalogList" , "Data" : [ { "id" : 5 , "name" : "Invoices" , "encrypted" : false } ] }
{ "Code": "TaskCatalogList", "Data": [ { "id": 5, "name": "Invoices", "encrypted": false } ] }
uip tasks catalogs get
Arguments
Name Required Purpose <id>yes Task catalog ID.
Example
assignment uip tasks catalogs get 5 -- folder- id 42
uip tasks catalogs get 5 --folder-id 42
Data shape (--output json)
assignment { "Code" : "TaskCatalogDetails" , "Data" : { "id" : 5 , "name" : "Invoices" , "encrypted" : false } }
{ "Code": "TaskCatalogDetails", "Data": { "id": 5, "name": "Invoices", "encrypted": false } }
uip tasks catalogs create
Options
Long Value Required Description --name <name>string yes Catalog name. --description <text>string no Catalog description. --encryptedflag no Encrypt task data in this catalog. Immutable — cannot be changed by catalogs update later. --retention-action <action>Delete | Archiveno What happens at the retention limit. Any other value fails client-side. --retention-period <days>integer no Retention period in days. --retention-bucket-id <id>integer no Storage bucket ID, used when --retention-action Archive.
Example
assignment uip tasks catalogs create -- name Invoices -- retention- action Archive -- retention- period 90 -- retention- bucket- id 3 -- folder- id 42
uip tasks catalogs create --name Invoices --retention-action Archive --retention-period 90 --retention-bucket-id 3 --folder-id 42
Data shape (--output json)
assignment { "Code" : "TaskCatalogCreated" , "Data" : { "id" : 5 , "name" : "Invoices" } }
{ "Code": "TaskCatalogCreated", "Data": { "id": 5, "name": "Invoices" } }
uip tasks catalogs update
Merges — only the flags you pass change. At least one of --name/--description/--retention-action/--retention-period/--retention-bucket-id is required; calling with none fails before any file/network access. --encrypted cannot be changed here.
Arguments
Name Required Purpose <id>yes Task catalog ID.
Options
Same set as create minus --encrypted.
Example
assignment uip tasks catalogs update 5 -- name "Invoices v2" -- folder- id 42
uip tasks catalogs update 5 --name "Invoices v2" --folder-id 42
Data shape (--output json)
assignment { "Code" : "TaskCatalogUpdated" , "Data" : { "id" : 5 , "name" : "Invoices v2" } }
{ "Code": "TaskCatalogUpdated", "Data": { "id": 5, "name": "Invoices v2" } }
Arguments
Name Required Purpose <task-id>yes Task ID.
Options
Long Value Description -l, --limit <number>integer Maximum items to return. Folder options Folder the task lives in.
Example
assignment uip tasks comments list 123 -- folder- id 42
uip tasks comments list 123 --folder-id 42
Data shape (--output json)
assignment { "Code" : "TaskCommentList" , "Data" : [ { "id" : 1 , "text" : "Looks good" , "createdBy" : "alice" } ] }
{ "Code": "TaskCommentList", "Data": [ { "id": 1, "text": "Looks good", "createdBy": "alice" } ] }
Arguments
Name Required Purpose <task-id>yes Task ID.
Options
Long Value Required Description --text <text>string yes Comment text. Empty string is rejected. Folder options no Folder the task lives in.
Example
assignment uip tasks comments add 123 -- text "Escalating to finance" -- folder- id 42
uip tasks comments add 123 --text "Escalating to finance" --folder-id 42
Data shape (--output json)
assignment { "Code" : "TaskCommentCreated" , "Data" : { "id" : 2 , "text" : "Escalating to finance" } }
{ "Code": "TaskCommentCreated", "Data": { "id": 2, "text": "Escalating to finance" } }
Set or clear the labels (tags) on a task in one call — this is a full replace, not a merge; pass every label you want to keep.
Arguments
Name Required Purpose <task-id>yes Task ID.
Options
Long Value Required Description --labels <json>JSON array yes Labels to set, e.g. [{"name":"region","displayName":"Region","displayValue":"EMEA"}]. Pass [] to clear all labels. Must be a JSON array — a non-array value fails client-side. Folder options no Folder the task lives in.
Example
assignment uip tasks labels 123 -- labels '[{"name":"region","displayName":"Region","displayValue":"EMEA"}]' -- folder- id 42
uip tasks labels 123 --labels '[{"name":"region","displayName":"Region","displayValue":"EMEA"}]' --folder-id 42
Data shape (--output json)
assignment { "Code" : "TaskLabelsSaved" , "Data" : { "taskId" : 123 , "labels" : [ { "name" : "region" , "displayName" : "Region" , "displayValue" : "EMEA" } ] } }
{ "Code": "TaskLabelsSaved", "Data": { "taskId": 123, "labels": [{ "name": "region", "displayName": "Region", "displayValue": "EMEA" }] } }
Edit a task's title, priority, catalog link, and record a note with the edit. Merges — only the flags you pass change; at least one is required.
Arguments
Name Required Purpose <task-id>yes Task ID.
Options
Long Value Description --title <title>string New title. --priority <priority>Low | Medium | High | CriticalNew priority. An out-of-set value fails client-side, naming the valid set. --catalog-id <id>integer Associate a task catalog. Mutually exclusive with --unset-catalog. --unset-catalogflag Remove the task's catalog association. Mutually exclusive with --catalog-id. --note <text>string Comment recorded alongside the edit.
Example
assignment uip tasks metadata 123 -- priority High -- note "Escalated per manager request" -- folder- id 42
uip tasks metadata 123 --priority High --note "Escalated per manager request" --folder-id 42
Data shape (--output json)
assignment { "Code" : "TaskMetadataEdited" , "Data" : { "taskId" : 123 } }
{ "Code": "TaskMetadataEdited", "Data": { "taskId": 123 } }
Read or write a task's underlying form/business data object.
uip tasks data get
Arguments
Name Required Purpose <task-id>yes Task ID.
Example
assignment uip tasks data get 123 -- folder- id 42
uip tasks data get 123 --folder-id 42
Data shape (--output json)
assignment { "Code" : "TaskData" , "Data" : { "invoiceNumber" : "INV-001" , "amount" : 250.0 } }
{ "Code": "TaskData", "Data": { "invoiceNumber": "INV-001", "amount": 250.0 } }
uip tasks data save
Arguments
Name Required Purpose <task-id>yes Task ID.
Options
Long Value Required Description --data <json>JSON object yes Task data to save. Must be a JSON object (not an array or scalar) — anything else fails client-side.
Example
assignment uip tasks data save 123 -- data '{"invoiceNumber":"INV-001","amount":250.0}' -- folder- id 42
uip tasks data save 123 --data '{"invoiceNumber":"INV-001","amount":250.0}' --folder-id 42
Data shape (--output json)
assignment { "Code" : "TaskDataSaved" , "Data" : { "taskId" : 123 } }
{ "Code": "TaskDataSaved", "Data": { "taskId": 123 } }