Prerequisites
- A Kadoa account
- The Kadoa CLI installed (see Installation)
Authentication
The CLI authenticates with OAuth — there is no API key.kadoa login opens your browser, signs you in via Kadoa SSO, and stores the access + refresh tokens in ~/.kadoa/config.json (mode 0600). Tokens refresh automatically; you stay logged in until you kadoa logout.
Quick Start
Commands
Global Options
| Option | Description |
|---|---|
--json | Force JSON output |
-V, --version | Show version |
-h, --help | Show help |
Auth & Team
| Command | Description |
|---|---|
kadoa login | OAuth login (saves credentials to ~/.kadoa/config.json) |
kadoa logout | Remove stored credentials |
kadoa whoami | Show current user, team, and role |
kadoa team list | List your teams and see which is active |
kadoa team switch [team] | Switch active team by name or ID |
Workflows
| Command | Description |
|---|---|
kadoa create <prompt> --url <url> | Create a prompt-driven workflow. Repeat --url for multi-URL workflows on the same domain. |
kadoa list | List workflows. Flags: --state <ACTIVE|FAILED|PAUSED|PREVIEW|VALIDATING>, --limit <n>, --format <table|json|csv> |
kadoa get <id> | Get workflow details |
kadoa run <id> | Run a workflow. --limit <n> caps records. |
kadoa pause <id> | Pause an ACTIVE workflow so it stops running on its schedule |
kadoa approve <id> | Approve and activate a workflow (also resumes a paused one) |
kadoa update <id> | Update workflow config. Flags: --name, --url, --prompt, --schedule, --limit |
kadoa delete <id> | Delete a workflow. Use --force to skip the confirmation. |
kadoa create accepts the full flag set: --name, --entity, --description, --tag, --limit, --schedule, --cron, plus --notify-email/--notify-webhook/--notify-slack-channel/--notify-websocket to wire notifications at creation time.
The list and get status field shows the computed workflow state (Complete, Running, Failed, Paused, Scheduled, etc.) — the same display the dashboard uses.
Data
| Command | Description |
|---|---|
kadoa data <id> | Paginated read. Flags: --limit <n>, --page <n>, --format <table|json|csv> |
kadoa export <id> | Export the full dataset via signed URL. Flags: --format <csv|json>, --out <path>, --run-id <id>, --filters <json>, --sort-by <field>, --order <asc|desc> |
export is the right choice for large workflows — it streams the full dataset rather than paginating.
Real-time Monitors
Real-time monitors watch a page and alert on changes. Each detected change is captured in thechanges log.
| Command | Description |
|---|---|
kadoa monitor create [prompt] --url <url> | Create a real-time monitor. At least one --notify-* channel is required. |
kadoa changes | List detected changes. Flags: --workflow <id>, --start-date <date>, --end-date <date>, --skip <n>, --limit <n>, --format |
kadoa change <changeId> | Show full snapshot and diff for a single detected change |
Notifications
Notifications are split into channels (where alerts are delivered: email, webhook, Slack, WebSocket) and settings (which events route to which channels).| Command | Description |
|---|---|
kadoa notifications channels list | List channels. --workflow <id> filters to a workflow. |
kadoa notifications channels get <id> | Show details for a single channel |
kadoa notifications channels create --type <EMAIL|WEBHOOK|SLACK|WEBSOCKET> | Create a channel (see flags below) |
kadoa notifications channels delete <id> | Delete a channel. --force skips the prompt. |
kadoa notifications settings list | List event-to-channel mappings. --workflow <id>, --event <type> filter. |
kadoa notifications settings delete <id> | Delete a setting (channels are kept) |
kadoa notifications configure --event <type> | One-step setup: create/reuse a channel and wire it to an event |
notifications is aliased as notify. channels create flags depend on --type:
EMAIL→--recipient <addr>(repeatable; omit for account default),--name <name>WEBHOOK→--url <url>,--method <method>,--auth-bearer <token>or--auth-basic <user:pass>SLACK→--slack-channel-id <id>or--slack-channel-name <name>(OAuth) or--slack-webhook <url>(legacy)WEBSOCKET→ no extra flags
configure mirrors the MCP configure_notifications tool — accepts --workflow, repeatable --event (or --event all), and the same --notify-* flags as kadoa create.
Variables
Variables are key/value pairs you reference in workflow prompts as@key.
| Command | Description |
|---|---|
kadoa vars list | List variables in the active team |
kadoa vars get <id> | Show a single variable |
kadoa vars create --key <k> --value <v> | Create a variable. --type <STRING|SECRET|OBJECT|ARRAY> |
kadoa vars update <id> | Update key, value, or type |
kadoa vars delete <id> | Delete a variable. --force skips the prompt. |
vars is aliased as variables.
Templates
Templates are reusable, versioned workflow configurations (prompt + schema + notifications).| Command | Description |
|---|---|
kadoa templates list | List templates in the active team |
kadoa templates get <id> | Show a template with all published versions |
kadoa templates create --name <name> | Create an empty template. --description <text> |
kadoa templates update <id> | Update name or description |
kadoa templates delete <id> | Archive a template (existing workflows are unaffected). --force skips the prompt. |
kadoa templates version <id> | Publish a new version. --prompt <text>, --schema-id <id> or --schema-entity <name> |
kadoa templates save <workflowId> | Save a workflow as a new template (--name, --description) or as a new version of an existing one (--template-id) |
kadoa templates schemas <id> | List schemas associated with a template |
Shell Completion
Tab-complete subcommands, flags, and workflow IDs:kadoa get <TAB> displays abc123 -- My Workflow.
Output Formatting
The CLI auto-detects the right format: tables in interactive terminals, JSON when piping or redirecting. Override with--json or --format.