CLI

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.

ClauseFormNotes
SELECTselect id, name, upper(name) as upper_nameAliases (with or without as), DISTINCT, scalar functions, JSON paths.
FROMfrom executions · from node1.node2Flatten nested arrays. parent.* pulls all parent fields after flattening.
WHEREwhere status != "success" and started > ts("now - 10d")Full expression engine: =, !=, >, >=, <, <=, AND, OR, NOT, IS [NOT] NULL, LIKE (case-insensitive), IN, BETWEEN.
ORDER BYorder by created desc, name ascMulti-field, asc/desc. Supports SELECT aliases.
LIMITlimit 10Standard.

Functions

GroupFunctions
Stringupper(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)
ParsingparseDate(text) · parseDate(text, pattern) · age(ts) — "5m ago"
Timestampsts(value) · now() · date(ts) · date_only(ts) · time_only(ts) · unix(value)
Relative tsts("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

ModifierEffect
--forceAllow destructive operations without an interactive prompt.
--silentSuppress normal output. Errors still surface.
--silent-if-emptySuppress output if stdout is null or an empty array.
--stop-on-errorHalt 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

CommandDescription
helpList commands or get usage for one. Discoverable via the in-UI Command Palette too.
versionCLI version + build info.
whoamiCurrent user, role, tenant.
healthNode-level status, memory, thread pools, service availability.
updateSelf-update the CLI engine (where supported).
get-license-infoLicense tier, seats, usage caps.
list-app-releasesAvailable platform releases.
printPrint a literal value (useful in scripts with capture vars).

Flows: define & inspect 10 commands

CommandDescription
add-flowCreate a flow from a JSON definition.
edit-flowUpdate an existing flow from a JSON definition. (confirms)
delete-flowDelete a flow by id. Optional deleteConnections, deleteSchedules flags. (confirms)
get-flowReturn the flow JSON by id.
list-flowsList flows. Apply where + SQL clauses for filtering & projection.
flow-searchSearch a flow hierarchy (including nested flows) for a string. Returns matching flow IDs and per-flow match counts.
find-flow-schedulesList schedules associated with a specific flow.
flow-usageWhere this flow is referenced — other flows, schedules, agents.
inspect-flowStatic inspection. Returns severity-ranked issues with suggestions.
flow-documentationGenerate Markdown documentation for a flow.

Flows: run & monitor 14 commands

CommandDescription
run-flowRun a flow by id. Optional sync, debug, retry/email/timeout flags + arbitrary name=value flow parameters. (confirms)
run-flow-by-nameRun a flow by name. Optional tenant=<name>. (confirms)
run-agent-flowRun a flow on a specific on-prem agent. (confirms)
stop-flowGraceful stop of a running flow. (confirms)
stop-agent-flowStop a running flow on a specific agent. (confirms)
kill-flowHard stop of a running flow when graceful stop fails.
get-flow-statusLatest run status for a flow.
list-running-flowsCurrently in-flight flows. SQL-friendly — filter by start time, tenant, etc.
tail-flow-logStream the run log for an in-flight execution.
flow-executionsExecutions for a date or offset, current tenant.
flow-executions-aggregatedExecutions across multiple tenants. tenants=all for everything.
flows-suspendSuspend new executions (scheduler + manual). Running flows continue. (confirms)
flows-suspend-forceSuspend AND attempt to stop running flows. Emergency stop. (confirms)
flows-resumeRe-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.

CommandDescription
add-connectionCreate from a JSON payload (single-quoted).
edit-connectionUpdate from a JSON payload. (confirms)
delete-connectionDelete by id. (confirms)
get-connectionReturn the connection JSON by id (credentials redacted).
get-connection-raw-dataThe unsanitized connection record (admin-only).
list-connectionsList connections. SQL clauses supported.
build-default-connectionBuild a connection template from a connectorType descriptor. Accelerates IaC provisioning.
test-connectionVerify the connection (engine or specific agent).
find-connection-usageList flows that reference this connection.

Formats 7 commands

CommandDescription
add-formatCreate a format from a JSON payload.
edit-formatUpdate a format. (confirms)
delete-formatDelete by id. (confirms)
get-formatReturn the format JSON.
list-formatsList formats. SQL-friendly.
build-default-formatBuild a format from descriptor defaults for the given format type.
find-format-usageList flows that use this format.

Schedules 8 commands

CommandDescription
add-scheduleCreate from a JSON payload. (confirms)
edit-scheduleUpdate from a JSON payload. (confirms)
delete-scheduleDelete by id. (confirms)
get-scheduleReturn the schedule JSON.
list-schedulesList schedules. SQL-friendly — filter by enabled, etc.
enable-scheduleEnable a schedule. (confirms)
disable-scheduleDisable a schedule. (confirms)
is-schedule-enabledBoolean check.

Macros 5 commands

CommandDescription
add-macroCreate a macro.
edit-macroUpdate. (confirms)
delete-macroDelete by id. (confirms)
get-macroReturn the macro JSON.
list-macrosList macros.

Webhooks 7 commands

Webhooks are outbound — Etlworks POSTs to your URL when listed flow events fire.

CommandDescription
add-webhookSubscribe to flow events. (confirms)
edit-webhookUpdate a subscription. (confirms)
delete-webhookUnsubscribe. (confirms)
get-webhookReturn the webhook JSON.
list-webhooksList subscriptions.
get-webhook-eventOne outbound delivery attempt + its HTTP response.
get-webhook-eventsList recent delivery attempts.

Tags & search 5 commands

CommandDescription
list-tagsAll tags in the current account. global=true for all tenants.
update-tagsRename / delete tags in the current account. (confirms)
update-all-tagsSame operation across all tenants (super admin). (confirms)
update-tenant-tagsTag operations scoped to a specific tenant. (confirms)
searchPlain-English search across flows, connections, formats, schedules, and other objects.

Users & tenants 8 commands

CommandDescription
add-userCreate a user from a JSON definition.
edit-userUpdate. (confirms)
get-userReturn the user record.
list-usersUsers in the current tenant.
add-tenantCreate a tenant (super admin).
edit-tenantUpdate tenant settings. (confirms)
get-tenantReturn the tenant record.
list-tenantsTenants 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.

CommandDescription
flow-historyPast versions of a flow.
flow-history-diffDiff two flow versions: flow-history-diff <flowId> from=current to=last.
connection-historyPast versions of a connection.
connection-history-diffDiff two connection versions.
format-historyPast versions of a format.
format-history-diffDiff two format versions.
schedule-historyPast versions of a schedule.
schedule-history-diffDiff two schedule versions.
macro-historyPast versions of a macro.
macro-history-diffDiff two macro versions.
agent-historyPast versions of an agent definition.
agent-history-diffDiff two agent versions.

Data & SQL 7 commands

Inline SQL operations on the data behind any connection, plus JavaScript for arbitrary computation.

CommandDescription
data-run-sqlExecute 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-objectsList objects (tables, views, files, endpoints) exposed by a connection.
data-list-fieldsList the fields/columns of one object on a connection.
data-get-rawReturn raw, untransformed data from a connection + format. connectionId, formatId, object required.
get-sql-historyPast SQL executed against a given connection.
execute-codeExecute JavaScript inline. execute-code code="<js>" [params='{"k":"v"}'] [java=true]. Calculations, data transforms, custom logic.
list-functionsThe 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/.

CommandDescription
add-agentCreate an agent from a JSON definition.
edit-agentUpdate an agent. (confirms)
delete-agentDelete by id. (confirms)
get-agentReturn the agent record. extended=true includes properties, ping, flows.
get-agent-statusStatus & metrics for an agent.
list-agentsList agents. SQL-friendly — filter by enabled, by ping age, etc.
list-agent-releasesAvailable agent build versions.
enable-agentEnable. (confirms)
disable-agentDisable. (confirms)
start-agentStart a stopped agent. (confirms)
stop-agentStop a running agent. (confirms)
restart-agentRestart. (confirms)
update-agentRoll the agent to the latest build. (confirms)
set-agent-max-ramAdjust max heap. (confirms)
add-agent-actionQueue an action against an agent and return the receipt. (confirms)
cancel-agent-actionCancel a queued action. (confirms)

Observability & system 22 commands

CommandDescription
metricsTime-series metrics (current tenant).
metrics-aggregatedTime-series across multiple tenants.
etl-threadsETL execution threads across all nodes — parent & child threads.
running-tasksTasks in-flight on this node.
running-tasks-aggregatedTasks across the cluster. (confirms)
resource-configResource configuration snapshot.
resource-summaryResource utilization summary.
resource-executionsExecutions broken out by resource.
resource-bottlenecksDetected bottlenecks ranked by impact.
resource-threadsThread-pool utilization.
resource-timelineResource usage over time.
resource-top-flowsFlows consuming the most resources.
get-audit-recordsAudit log entries with optional filters (resourceType, userId, action, since).
list-errorsRecent error events.
disk-usage-summaryTotal / free / used space for app.data with breakdown by tenant / directory.
find-filesFind files under app.data by name, extension, size, modification date. (confirms)
list-large-filesFiles exceeding a size threshold.
list-listenersListener connections (HTTP / Kafka / SQS / MQTT) currently registered.
list-messagesInbound listener messages.
list-messages-filteredFilter messages by message body, format, status.
get-messagePull the full body of a single message.
send-mailSend 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.