Command reference
137 commands across 14 groups. Each row shows the command name and a one-line description; full per-command argument detail (every flag, every named param) lives in the source registry and is rolling out into per-command pages over time.
Inline SQL on JSON output
Most commands return JSON. The CLI ships a compact SQL engine that operates directly on that JSON. Use it on any read command to filter, project, sort, paginate, and transform.
| Clause | Form | Notes |
SELECT | select id, name, upper(name) as upper_name | Aliases (with or without as), DISTINCT, scalar functions, JSON paths. |
FROM | from executions · from node1.node2 | Flatten nested arrays. parent.* pulls all parent fields after flattening. |
WHERE | where status != "success" and started > ts("now - 10d") | Full expression engine: =, !=, >, >=, <, <=, AND, OR, NOT, IS [NOT] NULL, LIKE (case-insensitive), IN, BETWEEN. |
ORDER BY | order by created desc, name asc | Multi-field, asc/desc. Supports SELECT aliases. |
LIMIT | limit 10 | Standard. |
Functions
| Group | Functions |
| String | upper(s) · lower(s) · startswith(s, prefix) · endswith(s, suffix) |
| Time arithmetic (epoch ms) | addSeconds(ts, n) · addMinutes(ts, n) · addHours(ts, n) · addDays(ts, n) |
| Parsing | parseDate(text) · parseDate(text, pattern) · age(ts) — "5m ago" |
| Timestamps | ts(value) · now() · date(ts) · date_only(ts) · time_only(ts) · unix(value) |
| Relative ts | ts("now - 1d") · ts("now + 12h") · ts("now - 15m") · ts("now + 20s") · ts("now - 50ms") |
Full grammar + complete function list: Built-in SQL in CLI.
Modifiers
| Modifier | Effect |
--force | Allow destructive operations without an interactive prompt. |
--silent | Suppress normal output. Errors still surface. |
--silent-if-empty | Suppress output if stdout is null or an empty array. |
--stop-on-error | Halt the script (or loop) on the first failure. |
Confirmation
Roughly 50 commands — every delete-*, every edit-*, every flow run/stop, every agent lifecycle action — are flagged as destructive and require --force in scripted runs (or a y at the prompt interactively). Tagged below as (confirms).
Help & info 8 commands
| Command | Description |
help | List commands or get usage for one. Discoverable via the in-UI Command Palette too. |
version | CLI version + build info. |
whoami | Current user, role, tenant. |
health | Node-level status, memory, thread pools, service availability. |
update | Self-update the CLI engine (where supported). |
get-license-info | License tier, seats, usage caps. |
list-app-releases | Available platform releases. |
print | Print a literal value (useful in scripts with capture vars). |
Flows: define & inspect 10 commands
| Command | Description |
add-flow | Create a flow from a JSON definition. |
edit-flow | Update an existing flow from a JSON definition. (confirms) |
delete-flow | Delete a flow by id. Optional deleteConnections, deleteSchedules flags. (confirms) |
get-flow | Return the flow JSON by id. |
list-flows | List flows. Apply where + SQL clauses for filtering & projection. |
flow-search | Search a flow hierarchy (including nested flows) for a string. Returns matching flow IDs and per-flow match counts. |
find-flow-schedules | List schedules associated with a specific flow. |
flow-usage | Where this flow is referenced — other flows, schedules, agents. |
inspect-flow | Static inspection. Returns severity-ranked issues with suggestions. |
flow-documentation | Generate Markdown documentation for a flow. |
Flows: run & monitor 14 commands
| Command | Description |
run-flow | Run a flow by id. Optional sync, debug, retry/email/timeout flags + arbitrary name=value flow parameters. (confirms) |
run-flow-by-name | Run a flow by name. Optional tenant=<name>. (confirms) |
run-agent-flow | Run a flow on a specific on-prem agent. (confirms) |
stop-flow | Graceful stop of a running flow. (confirms) |
stop-agent-flow | Stop a running flow on a specific agent. (confirms) |
kill-flow | Hard stop of a running flow when graceful stop fails. |
get-flow-status | Latest run status for a flow. |
list-running-flows | Currently in-flight flows. SQL-friendly — filter by start time, tenant, etc. |
tail-flow-log | Stream the run log for an in-flight execution. |
flow-executions | Executions for a date or offset, current tenant. |
flow-executions-aggregated | Executions across multiple tenants. tenants=all for everything. |
flows-suspend | Suspend new executions (scheduler + manual). Running flows continue. (confirms) |
flows-suspend-force | Suspend AND attempt to stop running flows. Emergency stop. (confirms) |
flows-resume | Re-enable scheduler and manual executions. (confirms) |
Connections 9 commands
Payloads are metadata-driven — connectionType values like connection.db.postgres and the properties keys come from the platform's connector library. Easiest discovery: build one in the UI, then get-connection <id> to see the exact shape.
| Command | Description |
add-connection | Create from a JSON payload (single-quoted). |
edit-connection | Update from a JSON payload. (confirms) |
delete-connection | Delete by id. (confirms) |
get-connection | Return the connection JSON by id (credentials redacted). |
get-connection-raw-data | The unsanitized connection record (admin-only). |
list-connections | List connections. SQL clauses supported. |
build-default-connection | Build a connection template from a connectorType descriptor. Accelerates IaC provisioning. |
test-connection | Verify the connection (engine or specific agent). |
find-connection-usage | List flows that reference this connection. |
| Command | Description |
add-format | Create a format from a JSON payload. |
edit-format | Update a format. (confirms) |
delete-format | Delete by id. (confirms) |
get-format | Return the format JSON. |
list-formats | List formats. SQL-friendly. |
build-default-format | Build a format from descriptor defaults for the given format type. |
find-format-usage | List flows that use this format. |
Schedules 8 commands
| Command | Description |
add-schedule | Create from a JSON payload. (confirms) |
edit-schedule | Update from a JSON payload. (confirms) |
delete-schedule | Delete by id. (confirms) |
get-schedule | Return the schedule JSON. |
list-schedules | List schedules. SQL-friendly — filter by enabled, etc. |
enable-schedule | Enable a schedule. (confirms) |
disable-schedule | Disable a schedule. (confirms) |
is-schedule-enabled | Boolean check. |
Macros 5 commands
| Command | Description |
add-macro | Create a macro. |
edit-macro | Update. (confirms) |
delete-macro | Delete by id. (confirms) |
get-macro | Return the macro JSON. |
list-macros | List macros. |
Webhooks 7 commands
Webhooks are outbound — Etlworks POSTs to your URL when listed flow events fire.
| Command | Description |
add-webhook | Subscribe to flow events. (confirms) |
edit-webhook | Update a subscription. (confirms) |
delete-webhook | Unsubscribe. (confirms) |
get-webhook | Return the webhook JSON. |
list-webhooks | List subscriptions. |
get-webhook-event | One outbound delivery attempt + its HTTP response. |
get-webhook-events | List recent delivery attempts. |
| Command | Description |
list-tags | All tags in the current account. global=true for all tenants. |
update-tags | Rename / delete tags in the current account. (confirms) |
update-all-tags | Same operation across all tenants (super admin). (confirms) |
update-tenant-tags | Tag operations scoped to a specific tenant. (confirms) |
search | Plain-English search across flows, connections, formats, schedules, and other objects. |
Users & tenants 8 commands
| Command | Description |
add-user | Create a user from a JSON definition. |
edit-user | Update. (confirms) |
get-user | Return the user record. |
list-users | Users in the current tenant. |
add-tenant | Create a tenant (super admin). |
edit-tenant | Update tenant settings. (confirms) |
get-tenant | Return the tenant record. |
list-tenants | Tenants visible to the calling user. |
History & diff 12 commands
Every CRUD-ed resource keeps version history. Pair *-history with *-history-diff to inspect changes between specific versions or against the current.
| Command | Description |
flow-history | Past versions of a flow. |
flow-history-diff | Diff two flow versions: flow-history-diff <flowId> from=current to=last. |
connection-history | Past versions of a connection. |
connection-history-diff | Diff two connection versions. |
format-history | Past versions of a format. |
format-history-diff | Diff two format versions. |
schedule-history | Past versions of a schedule. |
schedule-history-diff | Diff two schedule versions. |
macro-history | Past versions of a macro. |
macro-history-diff | Diff two macro versions. |
agent-history | Past versions of an agent definition. |
agent-history-diff | Diff two agent versions. |
Data & SQL 7 commands
Inline SQL operations on the data behind any connection, plus JavaScript for arbitrary computation.
| Command | Description |
data-run-sql | Execute SQL on a connection. data-run-sql connectionId=<id> [object=<name>] [formatId=<id>] [sql="<statement>"] [script=true|false] [agent=<agentId>]. Works against SQL databases, files, APIs, queue connections. |
data-list-objects | List objects (tables, views, files, endpoints) exposed by a connection. |
data-list-fields | List the fields/columns of one object on a connection. |
data-get-raw | Return raw, untransformed data from a connection + format. connectionId, formatId, object required. |
get-sql-history | Past SQL executed against a given connection. |
execute-code | Execute JavaScript inline. execute-code code="<js>" [params='{"k":"v"}'] [java=true]. Calculations, data transforms, custom logic. |
list-functions | The platform's built-in transformation function catalog — signatures + descriptions. |
Agents (on-prem workers) 16 commands
Manage on-prem CLI workers that execute flows on customer infrastructure. Not the AI agent — that's documented separately at /dev/ai/.
| Command | Description |
add-agent | Create an agent from a JSON definition. |
edit-agent | Update an agent. (confirms) |
delete-agent | Delete by id. (confirms) |
get-agent | Return the agent record. extended=true includes properties, ping, flows. |
get-agent-status | Status & metrics for an agent. |
list-agents | List agents. SQL-friendly — filter by enabled, by ping age, etc. |
list-agent-releases | Available agent build versions. |
enable-agent | Enable. (confirms) |
disable-agent | Disable. (confirms) |
start-agent | Start a stopped agent. (confirms) |
stop-agent | Stop a running agent. (confirms) |
restart-agent | Restart. (confirms) |
update-agent | Roll the agent to the latest build. (confirms) |
set-agent-max-ram | Adjust max heap. (confirms) |
add-agent-action | Queue an action against an agent and return the receipt. (confirms) |
cancel-agent-action | Cancel a queued action. (confirms) |
Observability & system 22 commands
| Command | Description |
metrics | Time-series metrics (current tenant). |
metrics-aggregated | Time-series across multiple tenants. |
etl-threads | ETL execution threads across all nodes — parent & child threads. |
running-tasks | Tasks in-flight on this node. |
running-tasks-aggregated | Tasks across the cluster. (confirms) |
resource-config | Resource configuration snapshot. |
resource-summary | Resource utilization summary. |
resource-executions | Executions broken out by resource. |
resource-bottlenecks | Detected bottlenecks ranked by impact. |
resource-threads | Thread-pool utilization. |
resource-timeline | Resource usage over time. |
resource-top-flows | Flows consuming the most resources. |
get-audit-records | Audit log entries with optional filters (resourceType, userId, action, since). |
list-errors | Recent error events. |
disk-usage-summary | Total / free / used space for app.data with breakdown by tenant / directory. |
find-files | Find files under app.data by name, extension, size, modification date. (confirms) |
list-large-files | Files exceeding a size threshold. |
list-listeners | Listener connections (HTTP / Kafka / SQS / MQTT) currently registered. |
list-messages | Inbound listener messages. |
list-messages-filtered | Filter messages by message body, format, status. |
get-message | Pull the full body of a single message. |
send-mail | Send an email through the platform's mailer. |
Per-command pages are rolling out
The reference above gives you discovery + a one-line description for every command. Full per-command argument reference (every flag, every named param, return shapes) is being extracted into dedicated pages over time. In the meantime, in-CLI: help <command-name> always returns the canonical usage string from the registry.