workflows

Manage CARTO Workflows — list, inspect, create, update, copy, validate, verify-remote, run, share, schedule, publish as MCP tools, and install extensions.

carto workflows list [options]                       # List workflows
carto workflows get <id>                             # Pretty details; --json = round-trippable bundle
carto workflows create [--file <bundle.json>]        # Create from a bundle
carto workflows update <id> [--file <bundle.json>]   # Update (partial bundles OK)
carto workflows delete <id>                          # Delete workflow
carto workflows copy <id> --dest-profile <name>      # Duplicate (cross-tenant or same-tenant)
carto workflows schema [section]                     # JSON Schema reference for agents
carto workflows validate [--file <bundle.json>]      # Tier-0 offline (Zod-only) bundle check
carto workflows verify-remote <id|--file> --connection <c>  # Tier-0 + Tier-2 deep validation against a warehouse
carto workflows to-sql [--file <bundle.json>]        # Compile bundle → SQL preview (what `run` would submit)
carto workflows components list                      # Agent-facing component catalog
carto workflows components get <names>               # Full input/output signature for components
carto workflows run <id>                             # Execute workflow; returns per-node outputs
carto workflows run output <id> <node-id>            # Fetch a node's output rows
carto workflows run status <job-id>                  # Poll an async-submitted run
carto workflows share <id> [--org | --with <email>]  # Share workflow
carto workflows unshare <id>                         # Revert to private
carto workflows mcp publish|unpublish|describe|list  # MCP tool lifecycle
carto workflows schedule add|update|remove <id>      # Warehouse cron lifecycle
carto workflows extensions install --file <ext.zip> --connection <name>  # Install an extension zip

The bundle model

workflows get <id> --json returns a round-trippable bundle (title and description lifted, server fields stripped, privacy synthesised). Pipe straight back into workflows create --file or workflows update --file:

Structural validation runs on Zod schemas under src/schemas/workflows/. For the full bundle recipe, see the carto-create-workflow skill.

GeoJSON inputs: native.tablefromgeojson and native.drawcustomgeographies accept both a stringified FeatureCollection and a FeatureCollection object on the input value field, so workflows that ingest GeoJSON can be authored from the CLI.

carto workflows list

Option
Description

--page <n> / --page-size <n>

Pagination.

--order-by <field>

updated_at (default), created_at, title. Aliases updated / created accepted.

--order-direction <dir>

ASC or DESC.

--search <term>

Search filter.

--privacy <level>

Filter by privacy: public or shared.

--tags <json>

Filter by tags (JSON array).

--all

Fetch all pages automatically.

carto workflows create / carto workflows update

Option
Description

--file <path>

Read bundle JSON from a file (or stdin via -).

--verify

Run Tier-2 checks (sources region + SQL dry-run + engine compile) post-write.

--verify sources,sql,compile

Subset — each can also be used alone.

carto workflows validate / carto workflows verify-remote

  • validateZod-only, offline, no network. Use it to iterate on a bundle locally before writing. The --connection and --no-engine flags are removed; for warehouse-aware validation use verify-remote.

  • verify-remote — Standalone command, hard-errors without a connection. Runs the full Tier-0/1/2 stack (structural + engine compile + schema trace + sources + customsql) without writing the workflow. Useful before opening a PR that ships a new bundle. Advisory warnings appear in the output but no longer fail the exit code; pass --strict to restore the previous behaviour, where any warning fails the run.

Option
Description

--file <path>

Bundle JSON path (or pipe via stdin).

--connection <name|uuid>

(Required for verify-remote) Override bundle.connectionId.

--mode <create|update>

(validate only) Validation mode (default: update).

--strict

(verify-remote only) Fail the exit code on any advisory warning, not just on errors.

carto workflows to-sql

Compile a bundle to the SQL that run would submit, without executing:

carto workflows components

Agent-facing component catalog. Use list to discover components, get to fetch their full input/output signatures.

Option
Description

--connection <name|uuid>

(Required) Catalog is fetched per-connection so extensions and stored procedures appear alongside native components. Provider is inferred.

--group <name>

Filter list to a specific group (e.g. Joins).

--search <term>

Substring match across name / title / description.

--starred

Only starred components.

--include-deprecated

Include deprecated components (hidden by default).

--input-formats

(get only) Include deduped format reference entries for all input/output types.

For Selection-typed inputs (e.g. native.isolines.mode) the JSON output includes both options (the wire values the engine accepts, e.g. "walk") and optionsText (the matching human-readable labels, e.g. "Walk"). Use options when populating the bundle.

carto workflows run

Execute a workflow and fetch results:

carto workflows share / carto workflows unshare

carto workflows mcp

Publish a workflow as an MCP tool so it shows up in the CARTO MCP Server:

See the Workflows as MCP Tools guide for the publishing flow end-to-end.

carto workflows schedule

Warehouse-side cron lifecycle for the workflow's run schedule:

carto workflows copy

Duplicate a workflow between profiles. Connection mapping behaves like maps copy.

Option
Description

--dest-profile <name>

(Required) Destination profile name.

--source-profile <name>

Source profile (default: current).

--connection <name>

Destination connection name (auto-maps by name if omitted).

--connection-mapping <map>

Per-source map: "src1=dst1,src2=dst2".

--title <title>

Override workflow title in the destination.

--skip-source-validation

Skip validating source table accessibility.

For the full walkthrough including connection-mapping scenarios, see Examples → Copying maps and workflows between organizations.

carto workflows extensions install

Install a CARTO Workflows extension zip (bundles metadata.json + provider-specific SQL) into a warehouse connection.

Option
Description

--file <path>

(Required) Path to the extension .zip.

--connection <name>

(Required) Connection to install into. Provider must match the extension.

Examples

Last updated

Was this helpful?