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 Valeur (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-adminDrapeau 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.
Exemple
assignment uip tasks list -- folder- path "Shared/Finance" -- limit 20
uip tasks list --folder-path "Shared/Finance" --limit 20
Format des données (--sortie 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
Nom Requis Objectif <id>oui Task ID. Use tasks list to find one.
Options
Long Valeur (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.
Exemple
assignment uip tasks get 123 -- task- type FormTask -- folder- id 42
uip tasks get 123 --task-type FormTask --folder-id 42
Format des données (--sortie 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
Nom Requis Objectif <task-id>oui Task ID.
Options
Long Valeur (Value) Requis 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.
Exemple
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
Format des données (--sortie 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
Nom Requis Objectif <task-id>oui Task ID.
Exemple
assignment uip tasks unassign 123
uip tasks unassign 123
Format des données (--sortie json)
assignment { "Code" : "TaskUnassigned" , "Data" : { "id" : 123 } }
{ "Code": "TaskUnassigned", "Data": { "id": 123 } }
Complete a task with an action and optional data payload.
Arguments
Nom Requis Objectif <task-id>oui Task ID.
Options
Long Valeur (Value) Requis Description --type <type>one of the 7 task types oui Task type — validated client-side against the enum. --data <json>JSON non 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 non A folder is resolved (interactively if omitted, on a TTY) before completing.
Exemple
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"}'
Format des données (--sortie 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
Nom Requis Objectif [folder-id]non Folder ID as a positional argument. Mutually exclusive with --folder-path/--folder-key — passing both fails explicitly.
Options
Long Valeur (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.
Exemple
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
Format des données (--sortie 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 Valeur (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.
Exemple
assignment uip tasks catalogs list -- folder- id 42
uip tasks catalogs list --folder-id 42
Format des données (--sortie 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
Nom Requis Objectif <id>oui Task catalog ID.
Exemple
assignment uip tasks catalogs get 5 -- folder- id 42
uip tasks catalogs get 5 --folder-id 42
Format des données (--sortie 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 Valeur (Value) Requis Description --name <name>string oui Catalog name. --description <text>string non Catalog description. --encryptedDrapeau non Encrypt task data in this catalog. Immutable — cannot be changed by catalogs update later. --retention-action <action>Delete | Archivenon What happens at the retention limit. Any other value fails client-side. --retention-period <days>Integer non Retention period in days. --retention-bucket-id <id>Integer non Storage bucket ID, used when --retention-action Archive.
Exemple
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
Format des données (--sortie 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
Nom Requis Objectif <id>oui Task catalog ID.
Options
Same set as create minus --encrypted.
Exemple
assignment uip tasks catalogs update 5 -- name "Invoices v2" -- folder- id 42
uip tasks catalogs update 5 --name "Invoices v2" --folder-id 42
Format des données (--sortie json)
assignment { "Code" : "TaskCatalogUpdated" , "Data" : { "id" : 5 , "name" : "Invoices v2" } }
{ "Code": "TaskCatalogUpdated", "Data": { "id": 5, "name": "Invoices v2" } }
Arguments
Nom Requis Objectif <task-id>oui Task ID.
Options
Long Valeur (Value) Description -l, --limit <number>Integer Maximum items to return. Folder options Folder the task lives in.
Exemple
assignment uip tasks comments list 123 -- folder- id 42
uip tasks comments list 123 --folder-id 42
Format des données (--sortie json)
assignment { "Code" : "TaskCommentList" , "Data" : [ { "id" : 1 , "text" : "Looks good" , "createdBy" : "alice" } ] }
{ "Code": "TaskCommentList", "Data": [ { "id": 1, "text": "Looks good", "createdBy": "alice" } ] }
Arguments
Nom Requis Objectif <task-id>oui Task ID.
Options
Long Valeur (Value) Requis Description --text <text>string oui Comment text. Empty string is rejected. Folder options non Folder the task lives in.
Exemple
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
Format des données (--sortie 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
Nom Requis Objectif <task-id>oui Task ID.
Options
Long Valeur (Value) Requis Description --labels <json>JSON array oui 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 non Folder the task lives in.
Exemple
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
Format des données (--sortie 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
Nom Requis Objectif <task-id>oui Task ID.
Options
Long Valeur (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-catalogDrapeau Remove the task's catalog association. Mutually exclusive with --catalog-id. --note <text>string Comment recorded alongside the edit.
Exemple
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
Format des données (--sortie 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
Nom Requis Objectif <task-id>oui Task ID.
Exemple
assignment uip tasks data get 123 -- folder- id 42
uip tasks data get 123 --folder-id 42
Format des données (--sortie 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
Nom Requis Objectif <task-id>oui Task ID.
Options
Long Valeur (Value) Requis Description --data <json>Object JSON oui Task data to save. Must be a JSON object (not an array or scalar) — anything else fails client-side.
Exemple
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
Format des données (--sortie json)
assignment { "Code" : "TaskDataSaved" , "Data" : { "taskId" : 123 } }
{ "Code": "TaskDataSaved", "Data": { "taskId": 123 } }