UiPath Documentation
uipath-cli
latest
false
UiPath CLI user guide

uip maestro flow registry

Syntax and options for `uip maestro flow registry`, which browses the catalog of built-in activities and connector nodes available in Flow.

uip maestro flow registry browses the Flow node registry — the catalog of building blocks usable inside a .flow file. The registry contains OOTB activities (uipath.agent, uipath.http, …) and connector nodes that call third-party APIs (Slack, Salesforce, Jira, …). When logged in, the registry additionally includes connector nodes installed in your tenant.

The registry also includes document-extraction nodes for published UiPath IXP models (uipath.ixp.*).

The registry is shared across UiPath workflow surfaces; the same implementation backs BPMN (see maestro registry, exposed via uip maestro bpmn registry).

All subcommands honor global options. Exit codes follow the standard contract.

Synopsis​

uip maestro flow registry pull   [-f, --force]
uip maestro flow registry list   [-l, --limit <n>] [--local]
uip maestro flow registry search [<keyword>] [-f, --filter <expr>] [--local]
uip maestro flow registry get    <nodeType> [--connection-id <id>] [--local]
uip maestro flow registry pull   [-f, --force]
uip maestro flow registry list   [-l, --limit <n>] [--local]
uip maestro flow registry search [<keyword>] [-f, --filter <expr>] [--local]
uip maestro flow registry get    <nodeType> [--connection-id <id>] [--local]

Typical workflow​

# 0. (Optional) Login for the full, tenant-enriched registry
uip login

# 1. Sync the registry (once per session — cache expires after 30 minutes)
uip maestro flow registry pull

# 2. Search for a candidate node
uip maestro flow registry search slack --filter "displayname:contains=send"

# 3. Inspect the full schema
uip maestro flow registry get uipath.connector.slack.send-message

# 4. Extract just the input field definitions (useful for building requests)
uip maestro flow registry get uipath.connector.slack.send-message \
  --output-filter "Node.inputDefinition.fields"
# 0. (Optional) Login for the full, tenant-enriched registry
uip login

# 1. Sync the registry (once per session — cache expires after 30 minutes)
uip maestro flow registry pull

# 2. Search for a candidate node
uip maestro flow registry search slack --filter "displayname:contains=send"

# 3. Inspect the full schema
uip maestro flow registry get uipath.connector.slack.send-message

# 4. Extract just the input field definitions (useful for building requests)
uip maestro flow registry get uipath.connector.slack.send-message \
  --output-filter "Node.inputDefinition.fields"

Without login, only built-in (OOTB) nodes are returned.


uip maestro flow registry pull​

Fetches the node registry and writes it to a local cache. Subsequent list, search, and get calls read from this cache.

Options​

  • -f, --force — force refresh, ignoring the cache.

Cache behavior​

  • Cache expires after 30 minutes. An expired or missing cache triggers a live fetch.
  • When not logged in, OOTB nodes are returned without updating the cache.
  • On an authenticated-fetch failure, the command falls back to OOTB nodes without updating the cache.

Data shape (--output json)​

{
  "Code": "NodePullSuccess",
  "Data": {
    "NodesCount":   184,
    "FromCache":    false,
    "AgeMinutes":   null,
    "Source":       "authenticated",
    "CacheWritten": true,
    "Message":      "Synced fresh nodes",
    "Info":         null
  }
}
{
  "Code": "NodePullSuccess",
  "Data": {
    "NodesCount":   184,
    "FromCache":    false,
    "AgeMinutes":   null,
    "Source":       "authenticated",
    "CacheWritten": true,
    "Message":      "Synced fresh nodes",
    "Info":         null
  }
}

Source is "ootb" (unauthenticated) or "authenticated" (tenant-specific). AgeMinutes is populated when FromCache: true.


uip maestro flow registry list​

Sample cached nodes. Defaults to the first 20 entries.

Options​

OptionDefaultDescription
-l, --limit <n>20Number of nodes to return. Pass -1 for all. Must be a positive integer or -1.
--localoffShow only in-solution project nodes. Requires a .uipx in the CWD, parent, or grandparent.

If list is called without a prior pull, the service fetches live data first.

Data shape​

{
  "Code": "NodeListSuccess",
  "Data": [
    {
      "NodeType":    "uipath.slack.connector.send-message",
      "Category":    "connector",
      "DisplayName": "Send Message",
      "Description": "Post a message to a Slack channel",
      "Version":     "1.0.0",
      "Tags":        "slack, messaging"
    }
  ]
}
{
  "Code": "NodeListSuccess",
  "Data": [
    {
      "NodeType":    "uipath.slack.connector.send-message",
      "Category":    "connector",
      "DisplayName": "Send Message",
      "Description": "Post a message to a Slack channel",
      "Version":     "1.0.0",
      "Tags":        "slack, messaging"
    }
  ]
}

If the result is truncated, a log line is emitted on stderr showing total vs shown.


Find nodes by keyword, by structured filter, or both.

Arguments​

  • [keyword] — substring matched against nodeType, category, tags, display.label, description.

Options​

OptionDescription
-f, --filter <expr>Structured field filter (see syntax below).
--localSearch only in-solution nodes (requires .uipx nearby).

At least one of <keyword> or --filter is required.

Filter syntax​

field=value                     # equality (default operator)
field:operator=value            # operator variant
field1=v1,field2=v2             # multiple conditions (AND)
field=value                     # equality (default operator)
field:operator=value            # operator variant
field1=v1,field2=v2             # multiple conditions (AND)

Operators: equals (default), contains, startsWith, endsWith, in.

Filterable fields (aliases shown in brackets):

  • category [cat] — e.g. connector, agent, trigger
  • type [nodetype] — node type identifier
  • tags [tag] — node tags
  • displayname [display_name, name, label] — human-readable name
Examples​
uip maestro flow registry search slack
uip maestro flow registry search --filter "category=connector"
uip maestro flow registry search --filter "displayname:contains=send message"
uip maestro flow registry search slack --filter "category=connector"
uip maestro flow registry search --filter "tags:in=ai,automation"
uip maestro flow registry search --filter "category=connector,displayname:contains=slack"
uip maestro flow registry search uipath.ixp
uip maestro flow registry search slack
uip maestro flow registry search --filter "category=connector"
uip maestro flow registry search --filter "displayname:contains=send message"
uip maestro flow registry search slack --filter "category=connector"
uip maestro flow registry search --filter "tags:in=ai,automation"
uip maestro flow registry search --filter "category=connector,displayname:contains=slack"
uip maestro flow registry search uipath.ixp

Data shape: same shape as list — Code: "NodeSearchSuccess", Data: [flattened nodes…].


uip maestro flow registry get​

Return full details for a single node.

Arguments​

  • <nodeType> (required) — node type identifier (case-insensitive).

Options​

OptionDescription
--connection-id <id>Connection ID for Integration Service enrichment. Required for connector trigger nodes; optional for connector activity nodes.
--localGet node from in-solution projects only.

Integration Service enrichment​

For nodes tagged "connector", get automatically calls Integration Service and merges live metadata:

Connector activity nodes (uipath.connector.*, not trigger):

  • inputDefinition.fields[] — fields to configure. Each has name, displayName, type, required, and optionally reference (lookup: objectName, path, lookupValue, lookupNames, childPath) or enum.
  • outputResponseDefinition — fields produced after the node runs.
  • connectorMethodInfo — HTTP method, path, operationId.
  • --connection-id is optional; passing one adds custom fields specific to that account.

Connector trigger nodes (uipath.connector.trigger.*):

  • eventParameters — fields that configure the trigger (e.g. which folder to watch).
  • filterFields — fields used to filter which events fire the trigger.
  • outputResponseDefinition — fields produced by the event payload.
  • eventMode — "webhooks" or "polling".
  • Login and --connection-id are required — without both, no enrichment is returned.

Per-input-field metadata​

Each entry under inputDefinition.fields:

PropertyDescription
nameJSON key for the request/response.
displayNameHuman-readable label.
typeData type (string, boolean, integer, …).
requiredtrue if mandatory (input fields only).
descriptionWhat the field does.
enumAllowed values (if restricted).
referenceObject-reference metadata — field expects an ID, not a plain name.
responseOnlytrue on output fields.
Data shape​
{
  "Code": "NodeGetSuccess",
  "Data": {
    "Node": {
      "nodeType":        "uipath.slack.connector.send-message",
      "category":        "connector",
      "display":         { "label": "Send Message" },
      "inputDefinition": {
        "fields": [
          { "name": "channel", "required": true, "type": "string" }
        ]
      }
    }
  }
}
{
  "Code": "NodeGetSuccess",
  "Data": {
    "Node": {
      "nodeType":        "uipath.slack.connector.send-message",
      "category":        "connector",
      "display":         { "label": "Send Message" },
      "inputDefinition": {
        "fields": [
          { "name": "channel", "required": true, "type": "string" }
        ]
      }
    }
  }
}

Examples​

# Basic activity lookup (anonymous, OOTB)
uip maestro flow registry get uipath.agent

# Connector activity with optional account-specific enrichment
uip maestro flow registry get uipath.connector.uipath-salesforce-slack.send-message \
  --connection-id <connection-id>

# Connector trigger — requires login + connection-id
uip maestro flow registry get uipath.connector.trigger.uipath-microsoft-outlook365.email-received \
  --connection-id <connection-id>

# Just the input fields, for building a request body
uip maestro flow registry get uipath.connector.slack.send-message \
  --output-filter "Node.inputDefinition.fields" --output json
# Basic activity lookup (anonymous, OOTB)
uip maestro flow registry get uipath.agent

# Connector activity with optional account-specific enrichment
uip maestro flow registry get uipath.connector.uipath-salesforce-slack.send-message \
  --connection-id <connection-id>

# Connector trigger — requires login + connection-id
uip maestro flow registry get uipath.connector.trigger.uipath-microsoft-outlook365.email-received \
  --connection-id <connection-id>

# Just the input fields, for building a request body
uip maestro flow registry get uipath.connector.slack.send-message \
  --output-filter "Node.inputDefinition.fields" --output json

IXP model nodes​

Published UiPath IXP extraction models appear in the registry as node types under the uipath.ixp.* namespace. The identifier encodes the model — for example:

  • uipath.ixp.invoice-model.shared-invoice-model
  • uipath.ixp.birth-certificates-oob.shared-birth-certificates-oob

A namespace search returns them:

uip maestro flow registry search uipath.ixp
uip maestro flow registry search uipath.ixp

uip maestro flow registry get <nodeType> returns the deployment coordinates under inputDefaults (inputDefaults.modelName and inputDefaults.folderKey), which populate the node's inputs.model block when the node is added to a flow.

Instance shape​

An uipath.ixp.* node added to a .flow file must follow this shape:

FieldRequirement
inputs.modelObject with non-empty string modelName and folderKey.
inputs.fileRefA =js:$vars.… expression referencing an upstream output, in the form =js:$vars.<upstream>.output.<field>.
outputs.outputPresent on the instance. Downstream nodes read $vars.<nodeId>.output.
outputs.errorPresent on the instance. Downstream nodes read $vars.<nodeId>.error.

To wire discovered nodes into a flow, see uip maestro flow node add and uip maestro flow node configure.

See also​

Was this page helpful?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated