| name | airbyte-agent |
| description | Drive the `airbyte-agent` CLI to manage Airbyte connectors, workspaces, and organizations. Run list/get/search/create/update actions against connector data (HubSpot, Salesforce, Slack, GitHub, etc.), install new connectors via the browser credential flow, list and switch workspaces, list organizations, inspect a connector's entities and actions, or print the merged CLI + OpenAPI schema for any operation. Use when the user mentions Airbyte, the `airbyte-agent` CLI, connectors, syncs, workspaces, organizations, or asks to read/write data from a connected SaaS product. |
| metadata | {"version":"v0.1.0"} |
airbyte-agent
[!NOTE]
Requires the airbyte-agent CLI on PATH. Install via brew install airbytehq/tap/airbyte-agent-cli or curl -fsSL https://airbyte.ai/install.sh | bash. See the project README for other options.
The CLI is invoked as airbyte-agent <resource> <operation>. It exposes Airbyte's data plane through a uniform interface — every command takes a JSON payload and returns JSON.
[!IMPORTANT]
Before running any airbyte-agent command, open the matching reference under references/ and read it first. This top-level file only carries cross-command rules; the per-command syntax, required parameters, response shape, error recovery, and "do NOT" guidance live in each references/<command>.md. Skipping the reference leads to guessed parameter names, missing required fields, and avoidable round-trips — read it even for commands you think you know.
Universal rules (apply to every command)
[!IMPORTANT]
Always pass parameters as --json '{...}'. The CLI also exposes per-parameter flags (--workspace, --name, etc.) for human use, but agents should always send a single JSON payload. The two modes are mutually exclusive and JSON keeps your input self-describing for review and replay.
workspace defaults to "default" when omitted. The CLI prints a JSON notice on stderr when the fallback engages, then proceeds with the API call. Override per-call with "workspace": "..." in the JSON payload, or set a session-wide default via workspaces use.
--fields trims the response client-side. When you know which fields you need, always pass it. List responses are wrapped in {"data": [...]} and the CLI auto-broadcasts row-level paths: --fields id,name is equivalent to --fields data.id,data.name. If you mix top-level and row-level paths (e.g. include the cursor), use the explicit dotted form for the row-level fields: --fields data.id,next.
- Auth errors (exit 2) mean credentials are missing, invalid, or expired — run
airbyte-agent login to refresh, then retry.
@filename loads JSON from a file — useful when the payload is large or you want to keep the shell command short: --json @params.json.
- Never accept credentials in chat. Two browser flows handle every credential entry path:
airbyte-agent login (CLI account credentials) and connectors create (per-connector secrets). If a user offers credentials in conversation, decline and start the appropriate flow.
Connector rules (apply to every connectors * command)
[!IMPORTANT]
Always run connectors describe before the first execute on an unfamiliar connector. Entity names, actions, and param schemas are connector-specific — guessing wastes API calls. Open references/connectors-describe.md first when starting work on a new connector.
- On
connectors execute, field selection is MANDATORY. Every call must include select_fields (allowlist) or exclude_fields (blocklist) inside the JSON payload, in addition to any --fields you pass.
- Prefer
context_store_search over list for reads. Search supports rich filters, sorting, and pagination; list is the live source — use it only when the search index might lag (today's data) or when search returns empty.
- Connector name resolution. Most commands accept
name (case-insensitive match against connector instance name, template display name, or template slug) OR id (UUID). Pass id when two connectors share a name.
Command index — read the matching reference before running
Each row points to the per-command playbook with usage, workflows, error recovery, and "do NOT" guidance. Open the reference first, then compose the command. If the user's task spans multiple commands (e.g. discover workspace → describe connector → execute), read each reference as you reach that step.
Typical session shape
airbyte-agent workspaces list
airbyte-agent connectors list --json '{"workspace": "<name>"}'
airbyte-agent connectors describe --json '{"workspace": "<name>", "name": "<connector>"}'
airbyte-agent connectors execute --json '{
"workspace": "<name>",
"name": "<connector>",
"entity": "<from-describe>",
"action": "context_store_search",
"select_fields": ["..."],
"params": {"limit": 20, "query": {"filter": {...}}}
}'
Exit codes
| Code | Meaning |
|---|
0 | Success |
1 | General error |
2 | Authentication error → run airbyte-agent login |
3 | Not found (workspace, connector, template, entity…) |
4 | Validation error (bad params, ambiguous name, missing confirmation) |