workflow-cli is the Config Manager command-line client for invoking Temporal workflows through the workflow API gateway. It is registered by the platform package as the workflow-cli project script and should be run with uv from the nv-config-manager checkout.
The CLI discovers registered workflows from the codebase and generates one Click command per workflow. It also handles device-name-to-device-ID lookup for workflows that accept device_id.
From the platform repository:
The examples in this guide use uv run.
The CLI auto-detects whether SSO is enabled for the target deployment:
https://svc-workflow.<hostname>/v1/workflow with a bearer token.https://workflow.<hostname>/v1/workflow.Cached OIDC tokens are stored in ~/.nv-config-manager/token.json.
If gateway OIDC discovery is not available, pass the issuer and client ID directly:
Every generated workflow command accepts the same target and authentication options.
Use either --hostname directly:
Or target an environment under a shared domain:
Use the generated help output as the authoritative command list for the version you are running.
The current CLI includes utility commands such as login, logout, auth-status, list-workflows, and examples. Workflow commands are generated from registered workflow metadata, for example backup, deploy, multi-deploy, reprovision, site-cable-validation, validate-hardware, switch-os-upgrade, and the InfiniBand, NVLink, Redfish, VPC, and password-rotation workflows.
For workflows with a device_id input, the CLI also adds --device-name. When provided, the CLI calls the parameter API to resolve the device name to a UUID before invoking the workflow.
Do not pass both --device-name and --device-id. The CLI requires exactly one for workflows that need a device UUID.
List parameters are passed as comma-separated strings. Boolean parameters take explicit values such as true or false.
Use --verbose to see device-name resolution, the target URL, request parameters, and the response body.
Example output shape:
Either --hostname or --environment is required.
Pass -H <base-hostname> or use -e <environment> -d <domain>.
Device lookup fails.
Verify the device exists in Nautobot and that the authenticated user can access the workflow parameter API. Re-run with --verbose to see the device lookup URL and response details.
Gateway redirects to login during a workflow call.
The gateway did not accept the CLI bearer token. Re-run uv run workflow-cli login -H <hostname> --force, then retry. If the issue persists, verify the deployment’s OIDC issuer, JWKS URI, audiences, and client ID.
Local TLS verification fails.
Use -k only for local development or other environments using self-signed certificates.
For API details, see the Temporal API Reference and Workflow Documentation.