OXYGENOxygen/ Docs
Surfaces

CLI command reference

Every public oxygen command, generated from the CLI's own command tree.

Every public command the oxygen CLI registers — over 900 commands across 90 groups — generated from the CLI's own self-index (oxygen commands --json, which returns the exact total for the version you have installed). Hidden compatibility commands stay executable but are omitted from this discovery surface. Run oxygen commands get "<command>" --json for one public command's full description, arguments, and flags.

Markers in Notes:

MarkerMeaning
paidSome invocation mode spends credits or performs an approval-gated external write.
writesMutates workspace, provider, or account state.
staffOXYGEN staff only; a customer identity is refused.
deprecatedRetired, removed, or superseded — kept listed so the replacement is discoverable.
aliasA second spelling of another command.

A blank Notes cell means the command is read-only and free.

action-column

CommandWhat it doesNotes
oxygen action-column add-providerAdd a catalog-backed provider action picker column to a workspace table.writes

admin

CommandWhat it doesNotes
oxygen admin automation-usage divergencesList every automation-usage window whose counter and event ledger disagree, including windows that have outlived the detector's lookback and can only be cleared by a repair.staff
oxygen admin automation-usage reconcileWrite the one audited adjustment that closes a window's counter/ledger divergence.writes staff
oxygen admin costsShow provider costs (COGS) per workspace. Staff only.staff
oxygen admin directory delistRemove an organization's listing from the public directory (kill switch).writes staff
oxygen admin directory enableInvite an organization to the directory, optionally prefilling its profile.writes staff
oxygen admin directory listList every agency directory listing across all organizations.staff
oxygen admin egressRead-only Fly email-egress overview: shared IP, dedicated workspace apps and IPs, liveness, image drift, billing, and stuck orders. OXYGEN staff only.staff
oxygen admin kpisShow company acquisition with self-reported signup-channel attribution, signup-to-CLI/MCP activation, matured seven-day trial conversion, positive-paid MRR/ARR, and paid churn separated from trial…staff
oxygen admin primary-providersBoard of the PRIMARY managed external data providers (enrichment, people/company search, web search, scraping, signals, AI-column web grounding, LLM inference): per provider health probe, 7d…staff
oxygen admin spendGlobal managed-provider spend limiter: burn, ceilings, breakers. Staff only.staff
oxygen admin spend haltForce a breaker OPEN — the platform kill switch for managed provider spend. --scope managed_credit --key <provider> benches Oxygen's managed account for one provider (the same bench a vendor 402…staff
oxygen admin spend resumeClose a breaker and clear its backoff, resuming managed provider spend.writes staff
oxygen admin spend set-limitSet a ceiling for one scope + window. action=warn meters only; block arms it.writes staff

agent

CommandWhat it doesNotes
oxygen agent approval-decideApprove or reject one pending Workspace or custom Agent tool call, then resume its durable run.
oxygen agent cancelRequest cancellation of an active Workspace or custom Agent run.writes
oxygen agent createCreate a custom Agent and publish its first immutable version. This internal configuration write starts no chat/run and spends no credits.writes
oxygen agent customList the org's user-defined custom agents (distinct from agent list, which shows the built-in roster).
oxygen agent deleteArchive a custom agent (soft delete): its triggers stop firing and it leaves the roster; versions/runs are preserved.writes
oxygen agent disableDisable a workspace or specialist agent so it stops new runs on the next worker tick.writes
oxygen agent enableEnable a workspace or specialist agent so it resumes its governed runs.writes
oxygen agent file-createStore a tenant-owned text file for Agent context and sandbox input.writes
oxygen agent filesList tenant-owned Agent context files.
oxygen agent getShow one agent — the Workspace Agent, a specialist, or a custom agent — with its active version and recent runs.
oxygen agent listList the Workspace Agent and built-in specialists with state and recent run history.
oxygen agent runStart a durable chat/run for the Workspace Agent or a custom Agent on the Fly worker.paid writes
oxygen agent run-getInspect one Workspace or custom Agent run and its append-only event ledger.writes
oxygen agent runsList recent runs across all agents (or one via <slug>), newest first.
oxygen agent setPublish an immutable version (reconfigure) for a runtime agent: the Workspace Agent or a custom agent.writes
oxygen agent trigger-createCreate a cron, internal event, or signed-webhook trigger for the Workspace Agent.paid
oxygen agent trigger-setActivate, pause, or archive one Workspace Agent trigger.
oxygen agent triggersList Workspace Agent cron, internal event, and webhook triggers. A legacy cron held to the plan minimum includes slowed_to_plan_minimum and its next run time.

api-keys

CommandWhat it doesNotes
oxygen api-keys createCreate a CLI API key. The token is shown once.writes
oxygen api-keys listList active CLI API keys for the current user and organization.
oxygen api-keys revokeRevoke a CLI API key for the current user and organization.writes

approvals

CommandWhat it doesNotes
oxygen approvals cancelWithdraw a pending request you filed (or, as an admin, clear a stale one).writes
oxygen approvals client grantRestrict a member to the client role.writes
oxygen approvals client listEvery member of this workspace and what they may do — the workspace role plus the Oxygen client overlay — followed by anyone invited who has not joined yet, and what they will land as.
oxygen approvals client revokeClear the client role and restore full workspace access. Works on a pending invitation too, clearing what that address would land as.writes
oxygen approvals decideAnswer a pending request.writes
oxygen approvals gate listWhich gates this workspace requires.
oxygen approvals gate setRequire (or stop requiring) an approval before the live action.writes
oxygen approvals inboxWhat is waiting on YOU: pending approvals assigned to you plus open threads that name you, each with the command that answers it. This is the surface a client logs in to.
oxygen approvals listApproval requests in this workspace, newest first. Use --mine for the ones assigned to you, or approvals inbox for the daily view.
oxygen approvals requestAsk a named second party to decide.writes
oxygen approvals showOne approval request by its own id: what is being asked, on what, by whom, who must decide, and whether it can still be decided at all.

auth

CommandWhat it doesNotes
oxygen auth doctorDiagnose the active Oxygen CLI credentials without printing token material.
oxygen auth use-tokenStore a CLI API token non-interactively.writes

billing

CommandWhat it doesNotes
oxygen billing allowanceShow this billing cycle's credit pool as one breakdown: fixed spend, flexible spend, credits committed to the next renewal, and what is free to spend — the numbers behind the bar on the…
oxygen billing auditSummarize where managed credits were granted, reserved, captured, released, or spent.
oxygen billing balanceShow the current plan, whether yearly billing is offered (annual_billing_available), subscription entitlement, and managed credit balance: available and reserved credits, FIXED credits committed…
oxygen billing cancelSchedule the plan subscription to cancel at period end.writes
oxygen billing changeCreate a Stripe approval link to start a first plan or change an existing plan, and return that link (approval_url), with the target plan's monthly credits (target_plan).
oxygen billing commitmentsList the fixed monthly credit commitments blocked at your subscription renewal — per connected sending mailbox, OXYGEN-sold mailbox, warm-up, deliverability, connected LinkedIn, WhatsApp and X…
oxygen billing estimateEstimate what a month of outreach costs before you build it: leads × enrichment × sequence steps × senders.
oxygen billing grantGrant managed credits to the current organization (staff only).writes staff
oxygen billing invoicesList every invoice Stripe has issued for this workspace, newest first, each with a direct PDF link.
oxygen billing reconcile-paid-periodFind active subscriptions whose current billing period was paid in Stripe but never had its plan credits minted, and restore them (staff only).writes staff
oxygen billing resumeRemove a scheduled cancellation so the subscription renews (or the trial converts) normally. Free (no fee, no credits). Prints the next charge date and amount.writes
oxygen billing seatsShow sending capacity per channel: how many seats are purchased, how many are grandfathered, how many senders are connected, and how many are left.
oxygen billing seats setSet how many sending seats of one channel this workspace holds.writes
oxygen billing set-planCreate or update an off-Stripe custom plan for an organization (staff only).writes staff
oxygen billing topupBuy a custom amount of on-demand credits.
oxygen billing usageShow credit ledger events (each tagged with its FIXED/FLEXIBLE spend_class), workflow step usage (automation_actions: credits per step, credits billed; writing rows is free), calls with your own…

blueprints

CommandWhat it doesNotes
oxygen blueprints applyApply a blueprint: 0 credits and no provider calls or external writes, but creates workspace tables, columns, prompts, and a disabled workflow.writes
oxygen blueprints archiveArchive a saved blueprint (seed blueprints cannot be archived).writes
oxygen blueprints describeDescribe one blueprint (seed or saved) by slug.
oxygen blueprints exportBuild a portable blueprint JSON from an existing workflow.
oxygen blueprints listList Oxygen blueprints visible in this workspace (seeds + saved).
oxygen blueprints marketplaceBrowse the public Oxygen blueprint marketplace.
oxygen blueprints preflightPreflight a blueprint (slug, local file, or shared URL) against this workspace.
oxygen blueprints publishList a blueprint on the public Oxygen marketplace. Auto-creates a share URL if none exists.paid writes
oxygen blueprints savePersist a blueprint envelope into this workspace's gallery.writes
oxygen blueprints shareCreate a public share URL for a saved blueprint (oxygen-agent.com/b/<code>).writes
oxygen blueprints sharesList existing share URLs for this workspace.
oxygen blueprints tagReplace a saved blueprint's workspace tags (whole set; --tags "" clears). Works on already-saved blueprints — no re-export needed. See oxygen tags list for the vocabulary.writes
oxygen blueprints unpublishRemove a blueprint from the public marketplace. The share URL stays valid for direct visitors.writes
oxygen blueprints unshareRevoke a public share URL by short code.writes

budget

CommandWhat it doesNotes
oxygen budget deleteDelete a standing budget policy by id.writes
oxygen budget listRead-only, 0 credits.
oxygen budget setSet, raise, or lower a standing credit cap (idempotent per scope+window). Daily/monthly windows start at 00:00 UTC and count reservations minus releases; inspect current use with oxygen budget list.paid writes

callables

CommandWhat it doesNotes
oxygen callables bindAdd a callable-function column to a source table with explicit input and callback mappings.paid writes
oxygen callables describeDescribe a callable's typed input/output contract and pinned backing columns.
oxygen callables disableDisable new invocations without changing existing tables or in-flight runs.writes
oxygen callables enableEnable a callable table.writes
oxygen callables listList published callable tables and their current credit posture.
oxygen callables publishPublish an existing table as a versioned callable function.paid writes

capabilities

CommandWhat it doesNotes
oxygen capabilities getHydrate one exact capability card by id.
oxygen capabilities searchFind the owning capability, boundary, gateways, and next hydration step.

cells

CommandWhat it doesNotes
oxygen cells historyShow cell change history.writes
oxygen cells inspectInspect one cell's value, row context, and recent history.
oxygen cells resolveRecord what a human verified about a cell whose external write was dispatched but never confirmed.writes

columns

CommandWhat it doesNotes
oxygen columns addAdd a nullable column to a workspace table.writes
oxygen columns archiveArchive a workspace column without dropping physical data. Hides it indefinitely with no purge timer; for cleanup with a restorable deadline use columns delete.writes
oxygen columns catalogList the column templates you can add with columns add <table> --prompt-key <key>: the extract templates (pricing-page, job-posting, event, 10-K, website-fact, market and text extractors) and…
oxygen columns convertConvert a column between an AI column and a Web Research Agent column (--to agent or --to ai), or switch an agent to Keyword search and back.writes
oxygen columns deleteDelete workspace columns: archives now, frees the key for reuse, and schedules the physical purge (default 14 days; restorable via columns restore until then). --now purges immediately and…writes
oxygen columns depsShow the column dependency graph: which columns feed which (formulas, input mappings, run conditions, waterfall targets), transitive up/downstream, and cycles. Read-only.
oxygen columns fieldsList what a column's output exposes: every field you can reference as {{column.field}}, filter on, sort by, or promote to its own column with columns materialize.
oxygen columns materializeCopy JSON paths from a result column into existing or new target columns.writes
oxygen columns renameRename a workspace column key and optionally label. Warns when another column reads the old key — a rename does not rewrite the references pointing at it.writes
oxygen columns reorderMove a workspace column to a new position, by absolute index or relative to another column.writes
oxygen columns rerunRe-run a single AI column cell, optionally threading a prior message review's feedback into the prompt.paid writes
oxygen columns restoreRestore an archived or delete-scheduled column: cancels the purge timer and reclaims its key.writes
oxygen columns retypeConvert a manual text column to a stronger data type, migrating stored values.writes
oxygen columns runRun an executable AI, tool, formula, enrichment, bind, lookup, or custom HTTP column for one row or a bounded batch.paid writes
oxygen columns updateUpdate a workspace column: label and visibility, and for AI/research columns the prompt, named inputs, model, reasoning level, run condition, output schema, and web-research settings.writes

commands

CommandWhat it doesNotes
oxygen commandsDiscover CLI commands. With no subcommand, print the backwards-compatible full manifest.
oxygen commands getHydrate one exact CLI command with its arguments, flags, and safety markers.
oxygen commands searchFind a bounded set of CLI commands from a natural-language outcome.

comments

CommandWhat it doesNotes
oxygen comments addComment on a workspace object.writes
oxygen comments deleteRetract one of your own comments. AUTHOR ONLY, idempotent. The row stays so the thread remains a complete audit trail; the text is redacted on every read path.writes
oxygen comments editRewrite one of your own comments. AUTHOR ONLY. The edit stamps edited_at — a thread that decided a launch is evidence, and evidence that changes without a trace is not evidence.writes
oxygen comments listEvery comment thread on one object, newest first, with its comments inline. Defaults to open threads only.
oxygen comments resolveMark a thread settled, or reopen it with --reopen. Idempotent both ways: re-resolving keeps the original resolver and timestamp. This is conversation state only — it never unblocks an approval gate.writes
oxygen comments showOne thread by its own id, with every comment.

companies

CommandWhat it doesNotes
oxygen companies enrich previewInspect missing company fields, provider routing, and credit estimates without provider calls.
oxygen companies enrich runQueue a live company enrichment waterfall after explicit approval, or return a dry-run plan.paid writes
oxygen companies search filtersList Company Search filter fields and options without a provider call, including every enum field's full accepted-value list. --source hiring lists the Job postings filters instead (job.* and…
oxygen companies search planCompile a company-search prompt into ordered provider routes without provider calls.
oxygen companies search previewPreview up to 50 rows free, using native filters from companies search filters. --source google_maps previews 20 businesses with a q business-and-area filter; total_results is unavailable when the…
oxygen companies search runReturn a dry-run request or queue a live company-search ingestion run.paid writes

connections

CommandWhat it doesNotes
oxygen connections importStart (or re-arm) a connections import.writes
oxygen connections statusShow connections-import progress (per-sender drip status, connections ingested, last error) plus a preview of the connections table and a deep-link to open it.

context

CommandWhat it doesNotes
oxygen context assets archiveArchive a context asset.writes
oxygen context assets getRead one context asset.
oxygen context assets listList workspace context assets.
oxygen context assets searchFull-text 'second brain' search across context assets, ranked by relevance.
oxygen context assets set-defaultPin a context asset as the canonical default for its type. The canonical brand/voice/positioning docs are auto-applied to AI copy generation.writes
oxygen context assets upsertCreate or update a context asset.writes
oxygen context profile getRead the current workspace company profile.
oxygen context profile updateMerge one or more profile sections into workspace GTM memory.writes
oxygen context resolveResolve task-scoped workspace GTM context with readiness and revision provenance.writes

copilot

CommandWhat it doesNotes
oxygen copilot approveApprove (or, with --reject, reject) an action a Workspace Copilot session is waiting on; approving re-queues the paused turn.paid writes
oxygen copilot attachAttach a file to a Workspace Copilot session without sending a message yet.writes
oxygen copilot attachmentsList the files attached to a Workspace Copilot session, sent and unsent.
oxygen copilot cancelEnd a Workspace Copilot session for good, stopping any in-flight turn. The session cannot take new messages afterwards — to stop only the current turn, use copilot interrupt.writes
oxygen copilot followTurn screen-follow ON (or, with --off, OFF) for an open Workspace Copilot session: while it is open in the browser, your screen opens onto whatever the copilot creates or changes, with the live…
oxygen copilot getShow one Workspace Copilot session: its state, turns, and event log. Use --after-seq to page through the event stream.
oxygen copilot interruptStop the turn a Workspace Copilot session is currently working on, leaving the session open for your next message.writes
oxygen copilot listList your Workspace Copilot sessions and their current status.
oxygen copilot planShow how far along a Workspace Copilot session is: its plan's major steps, the substeps under each, what is done, and how much longer the rest is expected to take.
oxygen copilot sendSend a message to a Workspace Copilot session and stream the reply to stderr.paid writes
oxygen copilot startStart an attended Workspace Copilot session on Oxygen Auto — Oxygen picks the model, keeps one conversation on one model, and runs its own errands on a cheaper one.writes

crm

CommandWhat it doesNotes
oxygen crm activity logLog a timeline activity on a CRM record. Defaults to dry-run.writes
oxygen crm activity noteLog a free-text note on a CRM record. Defaults to dry-run.writes
oxygen crm activity timelineShow a CRM record's activity timeline, newest first. Address the record by row id OR by any of the object's identities — a company domain, a person's email or LinkedIn URL.
oxygen crm assertCreate or update one CRM record by object identity.
oxygen crm automation auditShow recent CRM automation rule changes, newest first.
oxygen crm automation rulesList the standing CRM automation templates and their armed state.
oxygen crm automation setArm or disarm a standing CRM automation template.paid writes
oxygen crm connectionsShow the conversations and sequence enrollments connected to one CRM record, resolved through its people and identities — never by fuzzy name or domain.
oxygen crm describeDescribe one configured CRM object: its fields, identities and relationships. Pass --field <key> to read just one field (its name, type, choices, flags) instead of the whole object.
oxygen crm duplicatesList ranked duplicate-candidate record pairs for one CRM object (identity-overlap + fuzzy-label). Read-only.
oxygen crm enrichment backfillEnrich the records you ALREADY have.paid writes
oxygen crm enrichment disableDisarm one enrichment on a CRM object and leave every other choice untouched. New records stop running its columns; already-written values stay.writes
oxygen crm enrichment enableArm one enrichment on a CRM object and leave every other choice untouched.writes
oxygen crm enrichment listShow the enrichments available per CRM object: which are armed, what each costs per record, the per-record total, the per-batch credit ceiling, how much of the column allowance is spent, and how…
oxygen crm enrichment offTurn automatic enrichment off for a CRM object: revokes the standing permission and clears the WHOLE configuration — every named preset plus any columns you added to it yourself, so nothing keeps…writes
oxygen crm enrichment setReplace the armed enrichment set for a CRM object outright — any preset not listed is disarmed, while columns you added to the config yourself are kept.paid writes
oxygen crm fieldsFill the stored CRM fields (Industry, Employees, HQ, and their siblings) from enrichment data this workspace already holds.
oxygen crm files attachUpload a local file and attach it to a CRM record. Attaching the same file twice is a no-op, not a duplicate.writes
oxygen crm files detachRemove a file from a record. Removes the LINK only — the stored file is kept, so anywhere else it is attached still has it.
oxygen crm files listList one record's attachments, newest first.
oxygen crm getGet one CRM record aggregate with row values, identities, and relationships.
oxygen crm mergeMerge two CRM records: survivor-wins-with-loser-fill field write + relink/tombstone. Defaults to dry-run; --live requires --confirm.writes
oxygen crm notes addWrite a note on a CRM record.writes
oxygen crm notes deleteDelete a note. Soft: the note stops showing its text while its place in the timeline stays, so the record still shows that a note was written and removed.writes
oxygen crm notes listList one record's notes, pinned first then newest. Address the record by row id OR by any of the object's identities.
oxygen crm notes updateEdit a note's body, title or pin. Addressed by note id because one note can be filed on several records.writes
oxygen crm objectsList configured CRM objects, or create/extend custom objects.
oxygen crm objects add-attrAdd one field to an existing CRM object, optionally as an identity. Works on custom objects and on companies/people/deals — a field you add is yours and survives crm setup. Defaults to dry-run.writes
oxygen crm objects createCreate or repair a custom CRM object. Defaults to dry-run.writes
oxygen crm objects deleteDelete a CUSTOM CRM object: removes the object and schedules its backing table for deletion (restorable for 14 days).writes
oxygen crm objects remove-attrRemove a field you added to a CRM object.writes
oxygen crm objects update-attrChange one field on a CRM object: rename it, make it required or optional, or replace the choices of a select/status field.writes
oxygen crm photosFill CRM people photos from LinkedIn data this workspace already holds — inbox conversations, connections, followers, and post engagers.
oxygen crm pipelineShow the deals pipeline grouped by stage, with per-stage counts and amount totals.
oxygen crm relatedShow the records linked to one CRM record, grouped by relationship with a true count per group.
oxygen crm relationships defineDefine a relationship (and its relation column) from a custom object to any object. Defaults to dry-run.
oxygen crm relationships upsertCreate or replace a CRM relationship edge. Defaults to dry-run.writes
oxygen crm rollupRecompute the Open Deal column on companies (and the copy stamped on their people) from this workspace's deals.
oxygen crm searchSearch CRM records by identity or record label. Takes ONE query; narrow the objects with --object, not a second argument.
oxygen crm setupCreate or repair standard CRM object-backed tables. Defaults to dry-run.writes
oxygen crm signals leads-todayList people to contact today, ranked by their most recent GTM intent signal.
oxygen crm signals recordRecord one inbound GTM signal (website_visit, profile_view, post_engager, new_follower) into the CRM. Internal write — free, no approval. Idempotent on --external-event-id.writes
oxygen crm sync configureConfigure a standing bidirectional sync for one CRM object pair.paid writes
oxygen crm sync disableDisable the scheduled sync for one CRM object pair: stops the cron trigger and revokes the standing write permission.writes
oxygen crm sync enableEnable continuous (scheduled) bidirectional sync for one CRM object pair: arms the cron trigger + the standing write permission, and runs an immediate first cycle.paid writes
oxygen crm sync importImport provider records into an Oxygen CRM object (canonical CRM truth) as a durable workflow run.paid writes
oxygen crm sync linksShow provider record links (HubSpot/Attio ids) mapped to one Oxygen CRM record.
oxygen crm sync runRun one bidirectional reconciliation cycle for a configured CRM object pair as a durable workflow run. Defaults to dry-run.paid writes
oxygen crm sync statusShow a CRM sync status: pass --run-id for one workflow run, or --provider/--object for the standing sync config (cadence, watermarks, last-cycle counts).
oxygen crm tagAdd/remove workspace tags on one CRM record (Tags primitive — the same vocabulary as sequences, tables, conversations; see oxygen tags list).writes
oxygen crm tasks addCreate a task on a CRM record.writes
oxygen crm tasks completeMark a task done. Completing an already-completed task keeps the original completion time and adds no second timeline entry.
oxygen crm tasks listList open reminders across the whole workspace, or one record's with <object> <record>.
oxygen crm tasks reopenReopen a completed task, clearing its completion stamp.
oxygen crm tasks updateChange a task's title, body, status, priority, deadline or assignee. Addressed by task id because one task can be filed on several records.writes

custom-integrations

CommandWhat it doesNotes
oxygen custom-integrations applyCreate or update a custom HTTP integration manifest. Attach credentials with custom-integrations connect. Manifest schema + worked examples: https://oxygen-agent.com/docs/providers/custom-httpwrites
oxygen custom-integrations connectAttach the credential (bearer token, API key, or basic password) for an applied custom HTTP integration.writes
oxygen custom-integrations listList custom HTTP integrations for the active organization.

dashboards

CommandWhat it doesNotes
oxygen dashboards createCreate a saved dashboard. It starts with one empty tab; add widgets to it with dashboards widgets add.writes
oxygen dashboards deleteArchive a dashboard. Its slug becomes free to reuse; the definition is kept, not destroyed.writes
oxygen dashboards getRead one dashboard with its tabs and widgets.
oxygen dashboards listList the dashboards saved in this workspace.
oxygen dashboards summaryShow the GTM funnel summary: touches → replies → positive → meetings → deals → won, with this-period revenue, channel split, and needs-action triage counts.
oxygen dashboards tabs addAdd a tab to a dashboard.writes
oxygen dashboards tabs removeRemove a tab and every widget on it. A dashboard always keeps at least one tab.writes
oxygen dashboards updateRename a dashboard, change its description or icon, or make it the default.writes
oxygen dashboards widgets addAdd a widget. Kinds: chart, view, iframe, rich_text, code, live_source. The configuration shape depends on the kind — run oxygen dashboards widgets kinds to see each one with an example.writes
oxygen dashboards widgets dataRead the data behind one widget — the same numbers the web page draws.
oxygen dashboards widgets kindsList the widget kinds, what each one shows, whether it can cost credits, and an example configuration.
oxygen dashboards widgets refreshRefresh a live-source widget now. This is the only dashboard command that can cost credits, bounded by the ceiling saved on the widget. Opening a dashboard never spends.writes
oxygen dashboards widgets removeRemove a widget from a dashboard.writes
oxygen dashboards widgets updateChange a widget's title, configuration or placement, or pause/resume a live source.writes

db

CommandWhat it doesNotes
oxygen db attachAttach an existing Postgres database as the current organization's tenant database.writes
oxygen db backfill-table-order-indexesConverge stable row-order indexes on existing customer tables. Staff only; the default dry-run uses 0 credits and makes no database changes.writes staff
oxygen db backfill-upsert-indexesCreate missing upsert-key secondary indexes on customer tables. Staff only; defaults to dry-run.writes staff
oxygen db cost-policyShow the historical Neon cost-policy record. PostgreSQL hosting has no Neon endpoint controls.
oxygen db migrateApply pending tenant database migrations for the current organization.writes
oxygen db migrate-allApply pending tenant database migrations across all ready tenants (staff only).writes staff
oxygen db provisionProvision the current organization on a registered PostgreSQL shard. Staff can pass global --org to repair another org.writes
oxygen db queryRun one read-only SQL statement against the current tenant database.
oxygen db reconcileInspect tenant database registry drift. Staff only; defaults to dry-run.writes staff
oxygen db reconcile-cost-policyRetired compatibility command: report that Neon endpoint controls no longer apply.writes deprecated
oxygen db repair-previewPreview tenant database repair issues without mutating production state (staff only).staff
oxygen db statusShow the current database provider and status. Hosting is included in your plan; Neon IDs on a PostgreSQL row are historical lineage. Staff can pass global --org to inspect another org.

deliverability

CommandWhat it doesNotes
oxygen deliverability placement-test getInspect one saved directional inbox-placement test by id: status, seed counts, per-provider results, and a web result link.
oxygen deliverability placement-test listInspect recent directional inbox-placement tests, their status, results, and credits used, plus pricing: the EmailGuard monitoring credits per inbox-month and the managed test price in force (0…
oxygen deliverability placement-test runCreate a placement test for one sending mailbox.paid writes
oxygen deliverability placement-test sendPreview or send the exact EmailGuard seed message for a provider-created test.paid writes

directory

CommandWhat it doesNotes
oxygen directory applyApply to be listed in the public agency directory (reviewed by the OXYGEN team).writes
oxygen directory getRead-only, 0 credits. Read the listing, publish state, and public/settings deep-links.
oxygen directory publishPublish at https://oxygen-agent.com/agencies. Requires a tagline, description, and at least one contact method (website, booking link, email, or LinkedIn).writes
oxygen directory unpublishRemove the listing from the public directory (keeps the draft editable).writes
oxygen directory updateUpdate listing fields. Changes to a published listing are public immediately. Only invited organizations can edit.writes

domains

CommandWhat it doesNotes
oxygen domains addBYOK CLOUDFLARE: onboard a domain registered elsewhere by creating a zone in your connected Cloudflare account. For managed domain + inbox provisioning use managed-inboxes subscribe.writes
oxygen domains adoptSTAFF LEGACY RECOVERY: attach domains that already exist in the shared Oxygen-managed Cloudflare account to their workspace.writes staff
oxygen domains archiveHide a domain from the default list — an Oxygen-side declutter flag only.writes
oxygen domains buyBuy sending domains.paid writes
oxygen domains checkCheck availability and price for up to 20 exact domains.
oxygen domains deleteDelete domains and every inbox on them: cancels OXYGEN inbox orders; a domain bought through Oxygen on its own (domains buy) stops renewing and leaves the workspace, staying registered until…writes
oxygen domains dnsRun a live read-only DNS health check (SPF, DKIM, DMARC, MX) against the domain's Cloudflare zone and persist the result.
oxygen domains dns applyWrite the planned cold-email DNS records into the domain's Cloudflare zone.paid writes
oxygen domains dns planPreview the cold-email DNS records a domain should hold for its mailbox provider (SPF, per-provider DKIM, DMARC, MX, optional tracking) as a create/update/keep/conflict diff plus a plan_hash.
oxygen domains forwarding getShow the domain's current web-root forwarding destination. Read-only, 0 credits.
oxygen domains forwarding setPoint the domain's web root at a URL. WITHOUT --approved this previews current -> new and writes nothing. Free (0 credits), but it changes what every visitor to the domain sees.paid writes
oxygen domains getGet one domain's infrastructure/readiness detail: zone state, age with provenance, mailboxes, cached sending volume, and the last DNS health check.
oxygen domains listList the org's cached Cloudflare domains with cold-email metadata (age, mailboxes, warmup, sending volume, DNS health).
oxygen domains registration-statusGet one domain registration's ledger state (the server performs a gated live poll when due — safe to call repeatedly). Pass --wait to poll until it settles.
oxygen domains registrationsList the org's domain purchase ledger: every registration attempt with status and price snapshot.
oxygen domains renewalTurn the yearly renewal of a domain bought through Oxygen on or off. No charge. On: the registrar's renewal cost is charged in credits 30 days before expiry. Off: the domain lapses when it expires.writes
oxygen domains searchSearch available domains with their price.
oxygen domains syncRefresh Cloudflare-backed domains only: zone pages, registrar metadata, RDAP age backfill, and DNS health.writes
oxygen domains tagReplace a domain's workspace tags (whole set; --tags "" clears) — e.g. pool the domains behind one campaign tag.writes
oxygen domains tracking setupProvision the open/click tracking CNAME (<track-host> CNAME <tracking target>) on the domain's Cloudflare zone.writes
oxygen domains tracking statusShow the open/click tracking status for a domain (configured host, verification status, CNAME target, whether the tracking secret is set). Reads the cache — 0 Oxygen credits.
oxygen domains unarchiveRestore an archived domain to the default list.writes

egress

CommandWhat it doesNotes
oxygen egress assignConverge mailbox policy assignments: managed/shared by default, or the workspace's dedicated IP for every current and future inbox once that add-on is active.writes
oxygen egress dedicated cancelCancel the dedicated sending-IP add-on.writes
oxygen egress dedicated requestPreview the dedicated native egress add-on (2,500 credits per 30-day period, $25 face value).paid writes
oxygen egress dedicated statusShow this org's dedicated sending-IP add-on state (status, quantity, activation, price). Read-only, 0 credits.
oxygen egress ipsList the shared native worker IP (it carries the sends, reply reads and token refreshes of every workspace without a dedicated IP) and this workspace's dedicated IP history. Read-only, 0 credits.
oxygen egress registerSTAFF RECOVERY: register legacy/manual logical policy inventory for this environment.writes staff
oxygen egress rotateRETIRED compatibility command.writes deprecated
oxygen egress statusShow this workspace's actual native egress mode, active IP, health counts, dedicated add-on, and one bounded page of the inspectable mailbox policy ledger.

email

CommandWhat it doesNotes
oxygen email sendSend ONE email right now. Without --approved, returns a preview naming the exact mailbox + transport. --from pins a mailbox; otherwise the pool's LRU rotation picks one.paid writes

engagement

CommandWhat it doesNotes
oxygen engagement commentComment on a LinkedIn post (or reply to a comment with --comment-id).paid writes
oxygen engagement engagersRead one post's reactors and commenters right now as a de-duplicated people list ready to enroll.
oxygen engagement harvestStart (or re-arm) a harvest of a post's engagers into a workspace table you can enroll into a sequence.paid writes
oxygen engagement reactReact to a LinkedIn post (or to a comment with --comment-id).paid writes
oxygen engagement statusShow an engagement harvest's progress (drip status, engagers ingested, last error) plus the workspace table it fills and a preview of harvested engagers.

enrich-column

CommandWhat it doesNotes
oxygen enrich-column previewPreflight an enrichment column without provider calls or credit usage.
oxygen enrich-column runCreate or reuse an enrichment column and queue a background run.paid writes

enrichment

CommandWhat it doesNotes
oxygen enrichment apply-default-cascadePatch an existing enrichment column to the server-side default provider cascade for its intent.writes
oxygen enrichment catalogName the DATA, not the provider: list every data type you can ask a table to fill (person profile, work email, phone, headcount, funding, tech stack, hiring, competitors, news, decision makers…

feedback

CommandWhat it doesNotes
oxygen feedbackSend feedback or a bug report to the OXYGEN team.

feeds

CommandWhat it doesNotes
oxygen feeds bindBind a feed to a table: a scheduled provider harvest (pull), with --schema-json a typed-or-rejected push feed, or with --source rb2b the web-intent feed landing RB2B website-visit reveals as rows.paid writes
oxygen feeds deliveriesList the shared table delivery ledger: pull-feed sync cycles and inbound webhook deliveries land in the same place.
oxygen feeds getGet one table feed: cadence and next run, per-cycle caps, cursor counters, last cycle, and last error. Read-only.
oxygen feeds listList table feeds for the workspace, newest first. Read-only.
oxygen feeds pausePause a feed: the cron stays armed but every cycle it fires is refused, so nothing is fetched and nothing is billed until you resume. Free.writes
oxygen feeds resumeResume a feed: re-activates it AND clears an error/exhausted stop, so the next cron tick can claim it again. Re-uses the cadence and spend cap already approved at bind time. Free.writes
oxygen feeds runRun one sync cycle now through the feed's own cron workflow (one harvest path, one cursor). --mode dry_run (default) renders the exact next-cycle provider request with the cursor or watermark…paid writes
oxygen feeds unbindDelete a feed: removes its cron FIRST, then the feed row. The table and every row it already wrote are kept.writes

find

CommandWhat it doesNotes
oxygen find companyEnrich a company via a waterfall: identity, firmographics, structured funding, competitors, corporate structure, acquisitions, news, job openings, tech stack, web-presence URLs.paid
oxygen find emailFind a person's work email via an input-aware multi-provider waterfall: a LinkedIn URL, name+domain, or first/last+domain each select the best provider profile, with an email-pattern pre-step and…paid
oxygen find linkedinResolve a person's LinkedIn URL from name + company (or email), with identity validation.paid
oxygen find personEnrich one person from a LinkedIn URL, a LinkedIn public id, a Sales Navigator link, or an email / name + company: one managed profile lookup returns the profile block — first, last and full name…paid
oxygen find personal-emailFind a person's personal (non-work) email — for ad-audience uploads, recruiting, or founder outreach — via a cost-ordered multi-provider waterfall that bills only on a hit and grades the address…paid
oxygen find phoneFind a person's mobile phone via a multi-provider waterfall.paid

followers

CommandWhat it doesNotes
oxygen followers importStart (or re-arm) a followers import.writes
oxygen followers statusShow followers-import progress (per-sender drip status, followers ingested, last error) plus a preview of the followers table and a deep-link to open it.

formulas

CommandWhat it doesNotes
oxygen formulas functionsList every formula function (name, signature, examples), the operator grammar, and the expression_notes that a signature cannot teach (bare column keys, string escapes, no regex flags, read-time…
oxygen formulas validateValidate a formula against a table and preview its output on sample rows — free, no writes. Draft → validate → attach with oxygen columns add --kind formula.

functions

CommandWhat it doesNotes
oxygen functions bindAdd a Function column with explicit input/output mappings and a caller credit cap.writes
oxygen functions deletePreview removal from the Function library, then remove it with --yes; preserves backing tables, rows and run history.writes
oxygen functions describeInspect a Function's inputs, outputs, steps, per-row credit estimate, caps, and draft or published version.
oxygen functions disableDisable future Function invocations; captured runs are unchanged.writes
oxygen functions draftCreate a Function draft, or save an existing Function's draft; executes nothing.writes
oxygen functions duplicateCopy a Function's steps into a new editable draft (same inputs and outputs, no rows).writes
oxygen functions enableEnable future Function invocations; captured runs are unchanged.writes
oxygen functions favoriteFavourite a Function so it appears under functions list --favorites and the Favorites tab; per user, per workspace.
oxygen functions listList your workspace's drafts and published Functions with per-row credit estimates (up to 500).
oxygen functions publishPublish the inspected draft for every caller's future invocations; preserves captured runs and caller caps.writes
oxygen functions renameRename a Function while preserving its identity, callers and published execution.writes
oxygen functions restoreRetired: OXYGEN-provided Functions can no longer be restored. Create a workspace Function instead.writes deprecated
oxygen functions runsInspect a Function's latest 100 invocations, the table that called each one, and their captured versions.
oxygen functions unfavoriteRemove a Function from your favourites.

home

CommandWhat it doesNotes
oxygen homeYour workspace standup: what happened since you last looked, what needs you, and a year of workspace activity.

inbox

CommandWhat it doesNotes
oxygen inbox analyzeRun analysis on a conversation now: status + a drafted reply (Oxygen's default model). The worker also does this automatically on inbound conversations.
oxygen inbox archiveArchive a conversation (triage it out of the inbox). --unarchive restores it. --channel linkedin/whatsapp archives a DM.writes
oxygen inbox auto-tagger getShow the auto-tagger config (enabled, tag allowlist, channels).
oxygen inbox auto-tagger setUpdate the auto-tagger. --tags replaces the whole allowlist (max 50; --tags "" clears, which pauses tagging while keeping the agent enabled).writes
oxygen inbox backfillOpt-in, LinkedIn only: pull a LinkedIn account's OLDER message history into the unibox.writes
oxygen inbox bulkBulk-apply one triage action — set-status / archive / unarchive — across up to 100 hand-picked conversations (the ids inbox list returns) in one call.
oxygen inbox delete-messageDelete your sent LinkedIn message for everyone within 60 minutes. This cannot be undone. Omit --approved for a preview; show it before approving. Other channels and inbound messages are unsupported.writes
oxygen inbox drafts editEdit an open draft's body before approval. Does not send.writes
oxygen inbox drafts listList drafts awaiting review (queued + edited by default), across email + LinkedIn.
oxygen inbox drafts rejectReject an open draft so it leaves the queue. Does not send.writes
oxygen inbox getGet one conversation with its full message thread. <conversation> accepts a conversation id, Unipile chat id, or (email) Zapbox thread id, and is resolved on any channel by default (email first…
oxygen inbox labels createCreate a custom status label.writes
oxygen inbox labels deleteArchive a custom status label (system labels and in-use labels are rejected).writes
oxygen inbox labels listList status labels.
oxygen inbox labels restoreRestore an archived custom status label under its original key.writes
oxygen inbox labels updateUpdate a status label's name, color, bucket, description, or (custom labels only) ai-settable flag.writes
oxygen inbox listList conversations newest first across email, LinkedIn, and WhatsApp — the merged stream is the default, --channels narrows it, and --channel email/linkedin/whatsapp lists a single channel.
oxygen inbox mark-all-readMark EVERY conversation matching the filters as read — the whole filtered set across email + LinkedIn + WhatsApp, not just the conversations on the page you can see.writes
oxygen inbox mark-readMark a conversation and all its messages as read.writes
oxygen inbox reply-agent getShow the reply-agent config.
oxygen inbox reply-agent setConfigure the reply agent (enable, persona/tone, targets).writes
oxygen inbox rescanRe-queue conversations for AI re-classification (status + drafted reply).writes
oxygen inbox sendReply into a conversation on its own channel, resolved from the conversation when --channel is omitted: an email thread replies from its own mailbox (Zapbox/native Gmail/Graph, threaded); a…paid writes
oxygen inbox start-whatsappStart a one-to-one WhatsApp chat from the Unibox.paid writes
oxygen inbox statusSet a conversation's status (the Instantly-style tier). A manual override that locks out AI re-classification. --channel linkedin/whatsapp sets a DM's status.
oxygen inbox syncForce a backstop inbox sync from Unipile for the active LinkedIn and WhatsApp sender accounts (pulls recent chats + messages into the unibox).writes
oxygen inbox tagAdd/remove workspace tags on a conversation (Tags primitive — the same vocabulary as sequences, tables, posts; see oxygen tags list).writes

integrations

CommandWhat it doesNotes
oxygen integrations actionsList actions available for a connected integration — Composio toolkits and native providers (e.g. Instantly) alike.
oxygen integrations connectConnect an integration.writes
oxygen integrations destinationsList where a connected integration can send — for Microsoft Teams, your teams and your chats, plus one team's channels with --team-id.
oxygen integrations disconnectDisconnect an integration. LinkedIn and WhatsApp remove the Unipile connected account; pass --connection-id when more than one is connected.writes
oxygen integrations events deliveriesList recent provider webhook deliveries (Composio triggers, HubSpot webhooks, etc.) and the workflow runs they kicked off.
oxygen integrations events disableDisable a provider event for a connected integration account.writes
oxygen integrations events enableEnable a provider event for a connected integration account.writes
oxygen integrations events listList raw provider event definitions and this org's enabled subscriptions. To choose a workflow trigger, use oxygen workflows events list.
oxygen integrations github branches
oxygen integrations github repositories
oxygen integrations listList supported integrations and this org's connections.
oxygen integrations runRun an action for a connected integration — Composio toolkits and native providers alike.paid writes
oxygen integrations testRe-validate a stored integration API key against the provider and heal the connection when it passes (recovers benched or scope-degraded connections without re-pasting the key).

knowledge

CommandWhat it doesNotes
oxygen knowledge agent getShow the synthesis-agent config (enabled, cadence, per-day credit cap).
oxygen knowledge agent setConfigure the synthesis agent. Enabling lets the background worker distill new sources on the cadence; it only writes working learnings pages.paid writes
oxygen knowledge bootstrapResearch this workspace's company through direct LinkedIn company enrichment and website reads.paid writes
oxygen knowledge bootstrap statusReport the once-ever bootstrap marker for this workspace: status (queued, running, completed, partial, skipped, failed, or never attempted), when it ran, its system run id, the credits it actually…
oxygen knowledge files archiveArchive a file with revision checking. A connected two-way repository publishes the deletion; history remains.writes
oxygen knowledge files downloadDownload exact original bytes with digest verification; refuses to overwrite an existing local file.
oxygen knowledge files getRead original file content, properties and download link at an optional immutable revision.
oxygen knowledge files list
oxygen knowledge files upsertCreate or replace an original file, or update frontmatter properties. Canonical copy still requires a proposal.writes
oxygen knowledge folders createCreate a persistent knowledge folder, optionally inside another folder.writes
oxygen knowledge folders listList workspace folders and page locations, including empty folders. Read-only, 0 credits.
oxygen knowledge folders moveMove a folder and its contents to another folder or the workspace root.writes
oxygen knowledge graphKnowledge graph of pages and their [[wikilink]] edges. Pass --center to render one page's local neighborhood instead of the whole graph. Read-only, 0 credits.
oxygen knowledge indexCompact wiki index: each page's slug, one-liner, tags, link degree, plus type/status counts over the whole wiki.
oxygen knowledge lintRead-only structural wiki health report, 0 credits: orphans (unfilled seed stubs excluded), dead-ends, unresolved links, contradictions (disputed pages, conflicting trust tags, competing live-copy…
oxygen knowledge lint relinkRecompute [[wikilink]] edges (and gap-fill unlinked mentions) across wiki pages.writes
oxygen knowledge log appendAppend an entry to the knowledge log.
oxygen knowledge log listList knowledge log entries, newest first. Read-only, 0 credits.
oxygen knowledge page archiveArchive a knowledge wiki page.writes
oxygen knowledge page getRead one knowledge wiki page by slug or UUID. Read-only, 0 credits.
oxygen knowledge page listList knowledge wiki pages. Read-only, 0 credits.
oxygen knowledge page pinPin a knowledge wiki page as the canonical default for its type. Canonical voice/brand/positioning pages are auto-applied to AI copy generation.paid writes
oxygen knowledge page revisionRead one full revision snapshot of a knowledge wiki page. Read-only, 0 credits.
oxygen knowledge page revisionsList the revision history of a knowledge wiki page, newest first. Read-only, 0 credits.
oxygen knowledge page upsertCreate or update a knowledge wiki page.paid writes
oxygen knowledge profileCompany profile and ICP memory.
oxygen knowledge profile updateMerge one or more profile sections into workspace GTM memory.writes
oxygen knowledge proposalsDraft change proposals against wiki pages, awaiting human review. Read-only, 0 credits.
oxygen knowledge proposals approveApprove a knowledge proposal and apply it to the target page.writes
oxygen knowledge proposals rejectReject a knowledge proposal without changing the target page.writes
oxygen knowledge purgeDelete the whole local knowledge mirror for the active API host and organization.writes
oxygen knowledge pushPush locally edited or newly created mirror pages back to the workspace wiki. Edits to canonical voice/brand/positioning pages become approval proposals instead of writing live.writes
oxygen knowledge repositories conflictsRead conflicts; add --path to inspect preserved base, Oxygen, and GitHub versions.
oxygen knowledge repositories connectApprove the exact preview and start importing. two_way authorizes future automatic GitHub writes to the selected branch. 0 Oxygen credits.writes
oxygen knowledge repositories disconnectDisconnect this repository; keep its files and history in Knowledge.writes
oxygen knowledge repositories listRead connected repositories, import progress, sync freshness, pending changes, and errors. 0 credits.
oxygen knowledge repositories pausePause automatic sync; keep all imported files and history.writes
oxygen knowledge repositories previewPreview branch/folder contents, exclusions and the future sync policy. Does not activate sync. 0 credits.
oxygen knowledge repositories resolveApply a reviewed conflict decision. Canonical copy remains proposal-gated; GitHub publishes under the saved sync policy.writes
oxygen knowledge repositories resumeResume the previously approved sync policy.writes
oxygen knowledge repositories syncRequest an immediate sync attempt. Saved changes remain safe if GitHub is unavailable.writes
oxygen knowledge resolveResolve task-scoped workspace GTM context with readiness and revision provenance.writes
oxygen knowledge searchSearch wiki pages by meaning and keywords.
oxygen knowledge seedSeed or upgrade the knowledge wiki scaffold: on first run creates the starter page set — a start-here guide, a conventions schema page, and 19 draft stub hubs (icp, positioning, offers…writes
oxygen knowledge statusReport the local knowledge mirror: path, page count, last sync, quarantined conflicts. Pass --all to report every locally mirrored workspace for the active API host.
oxygen knowledge syncClone or refresh the local knowledge mirror: server-rendered page markdown under the CLI config dir. Pass --all to mirror every workspace the credential can access.writes
oxygen knowledge synthesizeSynthesize knowledge from workspace evidence (one low-cost AI call): campaign learnings from auto-filed outreach outcomes, or a voice guide from sent messages.paid writes

lead-sourcing

CommandWhat it doesNotes
oxygen lead-sourcing auditAudit a sourced lead table against a lead-sourcing spec.
oxygen lead-sourcing planCompile a natural-language ICP into an account-first lead sourcing plan.

limits

CommandWhat it doesNotes
oxygen limits provider deleteRemove a per-provider override (falls back to the plan-tier default).writes
oxygen limits provider listList enforced provider overrides and the plan-tier BYOK daily threshold with its enforcement mode.
oxygen limits provider setSet an enforced per-provider call ceiling. Use --window-seconds 86400 for an explicit daily policy.writes
oxygen limits showCompare every plan size: price, monthly credits, volume bonus and price per 100 credits (plan_bands).

linkedin

CommandWhat it doesNotes
oxygen linkedin connections inviteSend a LinkedIn connection invitation.paid writes
oxygen linkedin ingestion statusUnified status of every LinkedIn ingestion drip (connections import, engagement harvest, message-history backfill) plus each account's remaining ingest read budget for the day.
oxygen linkedin intent autoenrollAuthorize the captures armed by linkedin intent setup to enroll the people they capture into a sequence — the step that turns captured rows into outreach.paid writes
oxygen linkedin intent setupCreate/reuse the canonical OXYGEN Tables, link them, and arm capture-only worker-backed engagement workflows for profile viewers, followers, and connections.writes
oxygen linkedin intent statusShow the canonical intent tables, their linked-table deep-links, and the capture feeds filling them.
oxygen linkedin invitations listList the account's pending sent LinkedIn invitations with their invitation ids — the ids linkedin invitations withdraw --ids cancels.
oxygen linkedin invitations pauseStop checking open connection requests for one account (--account) or every account. The table and its rows stay; linkedin invitations setup switches it back on. Free.writes
oxygen linkedin invitations setupSwitch on the open connection requests table.writes
oxygen linkedin invitations statusShow the open connection requests table: accounts[] lists every connected LinkedIn account with on, its state (off|collecting|waiting|paused|attention), and when it was last and will next be…
oxygen linkedin invitations withdrawWithdraw pending sent LinkedIn invitations.paid writes
oxygen linkedin network pauseSwitch network capture off: the worker stops reading that account's connections and followers until you run linkedin network setup again.writes
oxygen linkedin network setupArm (or re-arm) network capture.writes
oxygen linkedin network statusShow network capture progress: accounts[] lists every connected LinkedIn account with its headline, on (switched on or not), and state (off|collecting|waiting|paused|attention); which accounts…

login

CommandWhat it doesNotes
oxygen loginConnect this terminal to Oxygen. Opens the browser to approve this terminal (matching confirmation code shown in both); paste a token with --token instead if you prefer.writes

logout

CommandWhat it doesNotes
oxygen logoutRemove the active stored CLI API token.writes

mailboxes

CommandWhat it doesNotes
oxygen mailboxes cap setSet one sending mailbox's daily send cap (sends per day; new mailboxes get 25). --daily-cap must be a positive whole number; oxygen limits show reports the maximum in force.writes
oxygen mailboxes compatibilityRead-only compatibility report per mailbox — select with --mailboxes <address,…> (omit for the whole pool; filter here, not in a script): generic origin class, real infrastructure tier (including…
oxygen mailboxes connect-oauthConnect Google/Microsoft mailboxes to OXYGEN native send.paid writes
oxygen mailboxes delegationGoogle sending-domain delegation only — not Microsoft OAuth and not a credential-file handoff to OXYGEN Warm-up or EmailGuard.
oxygen mailboxes deletePreview or approve removal of exact mailboxes from Oxygen at 0 credits.writes
oxygen mailboxes emailguard auto-enrollStanding permission to connect NEW eligible mailboxes to EmailGuard automatically, so monitoring keeps up with the fleet instead of needing a manual connect per inbox.paid writes
oxygen mailboxes emailguard connectPreview or connect selected mailboxes to EmailGuard.paid writes
oxygen mailboxes emailguard disconnectPreview or remove selected mailboxes from EmailGuard and cancel their recurring monitoring subscription. Remote absence is confirmed before billing stops.paid writes
oxygen mailboxes getGet one sending mailbox's configuration/readiness detail (provider, status, daily cap, warmup state, auth mode, and source — managed vs bring-your-own) plus a one-row pool summary.
oxygen mailboxes healthFleet email-health: the sending pool rolled up by external deliverability reputation (healthy/degraded/critical/unknown), per-mailbox scores, connected health providers, and DIRECTIONAL…
oxygen mailboxes importRegister (or refresh) sending mailboxes in bulk.writes
oxygen mailboxes listList the org's sending mailboxes with provider, status, warmup state, source (managed = bought through Oxygen, byok = bring-your-own), worker-owned connectionRepair and warmupRepair state, and a…
oxygen mailboxes oauth-healthShow every Google/Microsoft inbox with neither a usable per-mailbox OAuth token nor verified delegation/application access. automatic_repair marks Zapmail-linked rows whose safe retries OXYGEN…
oxygen mailboxes orderRETIRED — managed mailboxes are now purchased as monthly subscriptions via oxygen managed-inboxes subscribe (InboxKit-backed).writes deprecated
oxygen mailboxes ramp setSet one mailbox's campaign sending-day ramp: --start-per-day (initial ceiling), --increase-every-days (completed UTC days with accepted campaign sends), --step, --cap.writes
oxygen mailboxes statusSet a sending mailbox's status. Pausing/disabling takes the inbox out of the rotation pool without losing its warmup state.
oxygen mailboxes tagReplace a sending mailbox's workspace tags (whole set; --tags "" clears) — e.g. pool the mailboxes behind one campaign tag. See oxygen tags list for the vocabulary.writes
oxygen mailboxes updateUpdate a sending mailbox's rich-content profile: the From display name and/or the HTML signature appended to its sends.writes
oxygen mailboxes warmup configRead or override optional provider warm-up traffic, separate from the campaign ramp.
oxygen mailboxes warmup disableDisable warmup and unenroll each mailbox from the rail that actually enrolled it.writes
oxygen mailboxes warmup enableOptional provider warm-up defaults to 1/day, +1/day, max 10/day (dedicated-tenant profiles stay stricter); see mailboxes warmup config for the effective plan and unsupported OXYGEN Warm-up…paid writes
oxygen mailboxes warmup microsoftNON-INBOXKIT FALLBACK ONLY: authorize eligible Microsoft/Outlook mailboxes for OXYGEN Warm-up with ONE browser consent PER MAILBOX, never a password or app password.paid
oxygen mailboxes warmup pausePause warmup at the rail that actually enrolled each mailbox — OXYGEN Warm-up for current enrollments, TrulyInbox for inboxes still warming there.writes
oxygen mailboxes warmup profilePin the SENDING ARCHITECTURE a domain is run as, which every inbox on it inherits: standard (a few mailboxes on a real business tenant, each climbing to a real number), dedicated_tenant…paid
oxygen mailboxes warmup reactivateManual reactivation of an existing live paid seat: ask the warm-up provider to re-run the connection check on an inbox it has DISABLED, without touching the credential, subscription, or ramp day.writes
oxygen mailboxes warmup reconnectManual repair for an existing live paid seat when worker recovery is shadow/off, exhausted, or needs a new credential: push the mailbox's CURRENT credential to its warmup provider.writes
oxygen mailboxes warmup resumeResume paused warmup at each mailbox's recorded rail (OXYGEN Warm-up, or TrulyInbox for inboxes still warming there). 0 Oxygen credits; the existing subscription is unchanged.writes
oxygen mailboxes warmup statusRead warmup analytics back from the rail each mailbox is enrolled on and refresh each mailbox's warmupTruth (state, last send, pause reason, dispatch counters, next_action).writes

managed-inboxes

CommandWhat it doesNotes
oxygen managed-inboxes add-inboxesAdd mailboxes to a managed domain you ALREADY own — no new domain is registered and there is NO domain registration charge, only the extra inboxes' monthly rate (plus their add-ons).paid writes
oxygen managed-inboxes cancelCancel a managed inbox order by domain: the inboxes AND every recurring add-on on them (warm-up, inbox placement).paid writes
oxygen managed-inboxes exitTransfer ONE managed domain out of OXYGEN: stop every OXYGEN renewal for this domain after the paid period; keep the domain, mailboxes, DNS, warm-up state and data exactly as they are.paid
oxygen managed-inboxes getGet one managed inbox subscription by domain (vendor, platform, mailbox count, monthly USD price, vendor order id, lifecycle status, auto-renew, period end, internal billing status).
oxygen managed-inboxes listList the org's managed inbox orders: vendor, platform, live inbox count, lifecycle status, internal billing posture, and each order's FULL monthly cost — the inbox line, each inbox's mailbox…
oxygen managed-inboxes registrantShow the registrant (WHOIS) contact this workspace files domain registrations under, or null if it has never bought one.
oxygen managed-inboxes subscribeSubscribe a NEW domain + mailboxes as a managed monthly inbox subscription.paid writes
oxygen managed-inboxes upload-avatarHost a one-off mailbox profile picture and print the URL to pass as profile_picture_url in --mailboxes JSON.writes
oxygen managed-inboxes verifyCheck that OXYGEN, STRIPE, and the VENDOR agree about what this org is buying.

messages

CommandWhat it doesNotes
oxygen messages queryQuery messages across channels newest first, or relevance-ranked when -q is set. --channel all merges email + LinkedIn + WhatsApp (narrow with --channels); a campaign filter (--sequence-id)…
oxygen messages statsINBOX-WIDE message-ledger analytics over the WHOLE corpus, not your campaigns: outbound/inbound totals, a conversation-level reply rate (has-inbound over has-outbound) by channel, status…

notetaker

CommandWhat it doesNotes
oxygen notetaker scheduleSchedule an invited meeting bot. Defaults to dry-run.paid writes
oxygen notetaker setupConfigure the Recall-backed Oxygen Notetaker. Defaults to dry-run.writes
oxygen notetaker statusGet one notetaker session with artifacts and credit state.

observability

CommandWhat it doesNotes
oxygen observability approvalsList everything waiting for a human decision across workflows, publishing, message reviews, inbox reply drafts, and collaboration approval requests — the cross-primitive approvals inbox.
oxygen observability eventsList recent redacted OXYGEN operation events and failures. Customer support triage and support-event history live in Plain Inbox.
oxygen observability runsList active and failed runs across workflows and table action/ingestion runs — the cross-primitive runs lens. Read-only; each failed item carries the command that resolves it.

orgs

CommandWhat it doesNotes
oxygen orgs billing-linkCover a workspace with a plan you already pay for in another organization (one plan, many workspaces) instead of buying a second subscription.writes
oxygen orgs billing-ownersList the organizations that could pay for this workspace: which of the organizations you belong to can cover another workspace's credits, and for each of the rest, why it cannot.
oxygen orgs billing-unlinkReturn a workspace to owning its own billing: it stops being covered by another organization's plan and needs a subscription of its own again.writes
oxygen orgs listList organizations available to the current CLI identity.
oxygen orgs member-roleMove a member between the admin and member workspace roles.
oxygen orgs selectAlias for orgs use.writes alias
oxygen orgs useSelect the active organization for this CLI profile.writes

people

CommandWhat it doesNotes
oxygen people search filtersList Find people filter fields and options without a provider call: people.* (title, level, function, location, education) and company.* (industry, headcount, location, funding, up to 50 company…
oxygen people search planCompile a people-search prompt and optional typed persona filters into ordered provider routes without provider calls.
oxygen people search previewPreview up to 50 people free, using native filters from people search filters.
oxygen people search runReturn a dry-run request or queue a live people-search ingestion run. Upsert dedup is on linkedin_url.paid writes

posts

CommandWhat it doesNotes
oxygen posts commentsRead one post's comments live from LinkedIn (or one comment's replies with --comment-id).
oxygen posts createPublish a LinkedIn post from the connected account.paid writes
oxygen posts deleteDelete a LinkedIn post the connected account authored — a REAL, irreversible public write.paid writes
oxygen posts getLIVE provider read of one LinkedIn post.
oxygen posts reactionsList a post's reactions (or a comment's reactions with --comment-id). --post MUST be the composite social_id from posts get. Metered as an account read.

profiles

CommandWhat it doesNotes
oxygen profiles currentShow the profile the next command will use, and where it came from.
oxygen profiles envPrint shell export lines that pin this terminal to a stored CLI profile.
oxygen profiles listList stored CLI credential profiles.
oxygen profiles removeRemove one stored CLI credential profile.writes
oxygen profiles useSwitch the active CLI credential profile.writes

projects

CommandWhat it doesNotes
oxygen projects colorSet a project's colour in the Tables rail. --color auto restores the automatic colour.writes
oxygen projects createCreate a schema-backed table project (folder). Free. Group tables into it with oxygen tables move <tables...> --project <folder>.writes
oxygen projects deleteDelete a non-General folder and its tables.writes
oxygen projects listList table projects (folders) with each one's active table count (tableCount), so empty and oversized folders show without listing every folder's tables. Free.
oxygen projects renameRename a table project's display name and slug without changing its tables.writes
oxygen projects tagReplace a project's workspace tags (whole set; --tags "" clears). See oxygen tags list for the vocabulary.writes

prompts

CommandWhat it doesNotes
oxygen prompts archiveArchive a prompt template. Seeded templates cannot be archived.writes
oxygen prompts getRead one prompt template by id or slug.
oxygen prompts listList prompt templates in the workspace.
oxygen prompts upsertCreate or update a prompt template.writes

publishing

CommandWhat it doesNotes
oxygen publishing amplification actionsThe policy's action ledger: what each participant account did (or is about to do) on which post, with status and cost.
oxygen publishing amplification createCreate an amplification policy.paid writes
oxygen publishing amplification deleteDelete a policy.writes
oxygen publishing amplification disableDisarm a policy and skip every action it had already planned. Always allowed — the off switch is never gated.writes
oxygen publishing amplification enableArm a policy.paid writes
oxygen publishing amplification getGet one policy: scope, participants, caps, pacing, enabled state, and standing approval.
oxygen publishing amplification listList amplification policies with their scope, caps, and enabled state.
oxygen publishing amplification updateUpdate a policy's participants, actions, caps, or pacing. Tightening a cap takes effect on the next cycle.paid writes
oxygen publishing analytics accountStored per-account metric series (followers) for connected LinkedIn and X publishing accounts, read once a day in the background. Read-only: no provider call, 0 credits.
oxygen publishing analytics emvSet the workspace CPM used for earned-media value, per channel. EMV stays null on any channel whose provider does not expose impressions.
oxygen publishing analytics postOne post's stored daily metric series, totals, growth curve, 24h/7d benchmarks against the workspace median, and earned-media value.
oxygen publishing analytics summaryWorkspace LinkedIn or X analytics.
oxygen publishing analytics timeseriesImpressions and engagements EARNED per day across all tracked posts (not only posts published in the range), with reactions, comments and reposts also reported on their own, whether each is…
oxygen publishing comments approvePost one exact previewed reply publicly. A REAL LinkedIn write; refused without --approved and the preview's content hash.paid writes
oxygen publishing comments getGet one stored public comment with its provider thread and immutable reply-action history. Read-only: no provider call, 0 credits.
oxygen publishing comments listList the Publishing Community work queue, oldest first, with polling freshness/backoff even when empty.
oxygen publishing comments replyPreview an exact public reply and return its action_id + content_hash. Makes no provider call, posts nothing, and uses 0 credits.writes
oxygen publishing comments resolveResolve, ignore, mark spam, or reopen one local public-comment work item. No provider write, 0 credits.writes
oxygen publishing comments updateSave local draft, notes, assignment, or triage state. Nothing is posted publicly and no credits are used.writes
oxygen publishing drafts acceptAccept a draft variant into the publish queue. The post is created needs-approval — approve it separately before it can publish.writes
oxygen publishing drafts editRewrite one variant's text. The first edit snapshots the AI's original copy, so accepting it teaches the Knowledge Graph what you changed.writes
oxygen publishing drafts listList post drafts. Defaults to the open queue (queued + edited).
oxygen publishing drafts rejectReject a draft. The reason is filed to the Knowledge Graph so the next drafts learn from it.writes
oxygen publishing ideas addFile an idea into the backlog. Free — no AI call, nothing scheduled. Turn one into a post later with publishing drafts accept --publish-at.writes
oxygen publishing ideas listList the idea backlog.
oxygen publishing importBulk-load scheduled posts from a .csv or .json file.paid writes
oxygen publishing media uploadUpload a local image, video, or PDF in one step and print its media id.writes
oxygen publishing media upload-urlCreate a Publishing media asset and presigned upload URL with required upload headers.writes
oxygen publishing media uploadedVerify an uploaded Publishing media object and mark the media asset uploaded.
oxygen publishing mentions resolveResolve @handles, LinkedIn profile/company links, provider ids, and URNs — through a connected sender (notify=false, free) or the managed scraper (--source scraper, paid, no sender/window needed).paid writes
oxygen publishing posts approveApprove a scheduled post so the worker can publish it when due. LinkedIn approval resolves every inline @<public-identifier> and blocks with inspectable details if any mention cannot be verified.writes
oxygen publishing posts boostBoost ONE post: your teammates' connected accounts react to and comment on it, once.paid
oxygen publishing posts cancelCancel a draft, scheduled, queued, or failed post.writes
oxygen publishing posts createCreate a personal Publishing post. Use --ugc-participation-id to save it into one program as an unapproved draft; otherwise it defaults to scheduled and publishes only after approval.paid writes
oxygen publishing posts deletePermanently delete the OXYGEN copy and its settled history, keeping the live platform post intact.writes
oxygen publishing posts draftDraft posts with AI, grounded in the workspace Knowledge Graph.paid writes
oxygen publishing posts getGet one scheduled post with resolved media previews, its LinkedIn video cover, and attempt history.
oxygen publishing posts listList scheduled posts by publish time, oldest first; pass --order newest for the latest first. Follow next_cursor for more than one page.
oxygen publishing posts noteLeave an internal review note on a post, or reply to one with --parent. Never published.writes
oxygen publishing posts notesList the internal review notes on a post. Notes are workspace-only — they are never published.
oxygen publishing posts resolve-noteMark a review note handled.writes
oxygen publishing posts restoreRoll a post's TEXT back to an earlier revision (see publishing posts revisions).writes
oxygen publishing posts retryMove a failed post back to scheduled for another worker attempt. A post that failed with publishing_effect_outcome_uncertain stays locked until you check the account and pass --confirm-not-published.writes
oxygen publishing posts reviewPre-publish review of a post: deterministic channel lint (free, and blocking at approve) plus an AI voice/claims check against the Knowledge Graph.paid
oxygen publishing posts revisionsList a post's content history: every revision with its number, title, text, author, and time.
oxygen publishing posts uncancelReopen a canceled post as an unapproved draft, keeping its publish time and its attempt history.
oxygen publishing posts updateUpdate an editable draft, scheduled, or failed post.writes
oxygen publishing tags setAdd and/or remove workspace tags on a post.writes

recipes

CommandWhat it doesNotes
oxygen recipes applyInstall a recipe's kit: every Blueprint stage in order under ONE approval — 0 credits, no provider calls, no external writes, every installed Workflow disabled until you arm it with its own credit…writes
oxygen recipes installInstall a recipe into the workspace wiki as a playbook page (revisioned, retrieval-grounded, with per-version provenance).
oxygen recipes listList recipes, optionally filtered by text, business-case category, journey stage, or audience.
oxygen recipes showShow one recipe: its kit, the install status of each stage here, prerequisites, credits, approval gates, and the playbook body. Alias: get.

reviews

CommandWhat it doesNotes
oxygen reviews acceptAccept a pending message review.writes
oxygen reviews listList message reviews.
oxygen reviews nextRead the oldest pending review.
oxygen reviews rejectReject a pending message review with optional highlights and auto-rerun.writes

rows

CommandWhat it doesNotes
oxygen rows historyShow row change history.writes

runs

CommandWhat it doesNotes
oxygen runs getGet one run with events.
oxygen runs listList recent tenant runs.
CommandWhat it doesNotes
oxygen search planPlan an Oxygen search or scrape route before running provider jobs.
oxygen search runPreview or enqueue a durable table-backed search/scrape job from a search plan.paid writes
oxygen search runs cancelRequest cancellation for a queued or running search/scrape run.writes
oxygen search runs getGet one durable search/scrape run.
oxygen search runs itemsList search/scrape run items.
oxygen search runs retry-failedRequeue failed search/scrape run items.writes
oxygen search runs waitPoll a durable search/scrape run until it finishes.

senders

CommandWhat it doesNotes
oxygen senders checkpoint resendAsk LinkedIn to resend the checkpoint code so you can read a fresh one, then submit it with senders checkpoint solve. <id> accepts a sender account id, connection id, or Unipile account id.writes
oxygen senders checkpoint solveSubmit the LinkedIn checkpoint code Unipile is waiting on to finish authentication. <id> accepts a sender account id, connection id, or Unipile account id; <code> is the verification code LinkedIn…writes
oxygen senders checkpointsList LinkedIn senders stuck on a security checkpoint (2FA / OTP / in-app validation), each with status, warm-up day, today's usage vs. caps, and the latest error — plus a fleet tally of every…
oxygen senders connectGet a Unipile hosted-auth URL to connect a new LinkedIn account (or reconnect with --reconnect).writes
oxygen senders disconnectDisconnect a LinkedIn sender account so it stops sending and frees its sending seat for another account.writes
oxygen senders getGet one LinkedIn sender account with status, limits, daily-reset timezone, and usage. <id> accepts a sender account id, connection id, or Unipile account id.
oxygen senders healthShow a one-call health snapshot for a LinkedIn sender: status, the latest error reason, any open security checkpoint, today's usage, the warm-up ramp, and when the daily quota resets.
oxygen senders inbox-scope getShow whether a sender syncs only OXYGEN-started conversations or its entire LinkedIn inbox.
oxygen senders inbox-scope setSet LinkedIn inbox privacy. oxygen_initiated hides and stops ingesting unrelated chats; all opts into the full inbox.writes
oxygen senders inmail-balanceShow remaining LinkedIn InMail credits for a sender (Premium / Sales Navigator / Recruiter each hold a separate pool).
oxygen senders limits getShow current limits, overrides, working hours (timezone, days, start, end), defaults, and safe maximums for an account. <id> accepts a sender account id, connection id, or Unipile account id.
oxygen senders limits setAdjust per-account action limits and working hours.writes
oxygen senders listList connected LinkedIn sender accounts with health status, rate limits, and today's usage. Disconnected accounts are hidden unless you pass --status disconnected.
oxygen senders profiles attachAttach senders and/or inboxes to a profile.writes
oxygen senders profiles createCreate a sender profile: one person's sending identity — their LinkedIn/WhatsApp senders and email inboxes under one name and photo. --from-linkedin seeds the name + avatar from a LinkedIn account…writes
oxygen senders profiles deleteDelete a sender profile. Refused while the profile still owns inboxes — move them to another profile first; LinkedIn/WhatsApp accounts detach (return to the pool) and are never deleted.writes
oxygen senders profiles detachDetach LinkedIn/WhatsApp senders from a profile, returning them to the unassigned pool. --mailboxes is refused: an email inbox always belongs to a sender, so there is no unassigned pool for it —…
oxygen senders profiles getGet one sender profile with the LinkedIn/WhatsApp senders and inboxes attached to it.
oxygen senders profiles listList sender profiles with their per-channel account counts (LinkedIn / WhatsApp / inboxes).
oxygen senders profiles set-photoSet the reusable sender identity's profile picture for FUTURE managed-inbox orders made with --sender <id>.writes
oxygen senders profiles tagReplace a sender profile's workspace tags (whole set; --tags "" clears) — one edit pools the whole sending identity behind a campaign tag.writes
oxygen senders profiles updateUpdate a sender profile's own fields (display name, first/last name, avatar, status).writes
oxygen senders syncRefresh LinkedIn account state (status, profile) from Unipile. Pass --connection-id to sync one account, or omit it to sync all.writes
oxygen senders tagReplace a sender account's workspace tags (whole set; --tags "" clears) — e.g. pool the senders behind one campaign tag. See oxygen tags list for the vocabulary.writes

sequences

CommandWhat it doesNotes
oxygen sequences analyticsShow selected-window sequencer analytics with persisted status kept separate from operational state, fleet marked-active versus operationally-live counts, current open work…
oxygen sequences contactsList a launched campaign's table-backed contacts with full source variables, durable engagement stage, and factual or assigned sender.
oxygen sequences contacts-removeRemove selected source-table rows from this campaign only.paid
oxygen sequences createCreate a draft multichannel sequence from a steps JSON file.paid writes
oxygen sequences deletePermanently delete a sequence and everything it owns (enrollments, actions, sender links, schedules).paid writes
oxygen sequences draftDraft an email outreach sequence with AI, grounded in the workspace Knowledge Graph (voice, positioning, campaign learnings) — Instantly's AI sequence generator, with provenance.paid writes
oxygen sequences duplicateDuplicate a sequence as a new DRAFT: copies the step definition, settings, channels, source table, and sender pool.writes
oxygen sequences enrollEnroll leads into a sequence.writes
oxygen sequences enrollmentsList per-lead enrollment state plus the latest action status, error, attempts, and retry time.
oxygen sequences espESP breakdown of this sequence's email sending scope: which provider each enrolled lead's mail routes through (google/microsoft, plus named gateways like Proofpoint/Mimecast and non-matchable…
oxygen sequences eventsChronological activity feed for a sequence (like Instantly's Sending Activities): sends, failures, deferrals, opens, clicks, replies, bounces, unsubscribes, and positive reply-status transitions…
oxygen sequences getGet a sequence's definition, senders, status, and credit usage. --readiness adds the launch check — whether it CAN go live, why not, and which mailboxes it would send from — without touching it.
oxygen sequences hubspot-list-import configurePreview or start a scheduled HubSpot-list import. Preview first; then pass its reviewed fingerprint with --live --approved. The complete DNC list is applied before leads are read or enrolled.paid writes
oxygen sequences hubspot-list-import listsList saved HubSpot contact/company segments and readable identity fields available for a Sequence import.
oxygen sequences hubspot-sync configurePreview or save the workspace-wide HubSpot projection. Existing fields need no new grant; creating missing properties requires --approved and HubSpot property-creation access.paid writes
oxygen sequences hubspot-sync showShow the connected portal, live contact schema, activity/status configuration, component health, and enabled state.
oxygen sequences listList sequences with persisted launch status kept separate from current operational state.
oxygen sequences pausePause an active sequence (stops new dispatches; enrollments resume on un-pause).writes
oxygen sequences pause-companyPause messaging to a company in your campaigns — e.g. after a meeting is booked — and resume it later.writes
oxygen sequences paused-companiesList the companies paused in your campaigns — by a reply (waiting for its classification, or classified into a paused status) or by hand/automation — with the leads each one holds.
oxygen sequences push-externalPush table rows into a campaign you ALREADY run in an external sequencer (Smartlead, Instantly, lemlist, HeyReach), through your own connected API key.paid writes
oxygen sequences reconcileSafely reconcile one ambiguous LinkedIn invite/message from provider reads. Preview-only unless --approved; never resends.paid writes
oxygen sequences recover-capacityPreview definitive no-effect terminal failures that Oxygen can replay safely: provider-capacity denials and exact allowlisted request-format defects.writes
oxygen sequences resumeResume a paused sequence.writes
oxygen sequences resume-companyResume messaging to a paused company: its held leads continue where they stopped (due steps are spread over the next hour, waits keep their remaining time).writes
oxygen sequences retry-deferredPreview or re-ready pending actions deferred by LinkedIn working hours or an email send window on a PAUSED sequence.paid writes
oxygen sequences sendInitiate one net-new LinkedIn message through a one-recipient, one-step hosted Sequence.paid writes
oxygen sequences signalRecord an external GTM signal (e.g. linkedin_connected, email_replied, company_raised_funds, job_change, web_visit, intent) onto a running sequence's enrollment(s) to drive signal-triggered…
oxygen sequences startPreview or start a sequence.paid writes
oxygen sequences statsShow one sequence's persisted launch status and current operational state separately, including reasons, open work, lifetime sent/terminal-failed/deferral counts, and the funnel. daily_budget…
oxygen sequences updateUpdate a sequence.paid writes
oxygen sequences variantsGeneric per-step action/base-variant scoreboard for one sequence, plus native email by_mailbox, by_domain, reply types, rates, and explicit unattributed facts.
oxygen sequences workflows configurePreview or maintain an existing legacy preset.paid writes
oxygen sequences workflows listList the two legacy sequencer presets with armed state, editable config, and ordinary workflow deep-links.

session

CommandWhat it doesNotes
oxygen session outputRegister a local session output file or table.
oxygen session startStart a local Oxygen agent session or update a step.writes
oxygen session statusAttach a live status message to the current local session.
oxygen session usageSummarize the current local session. Org credit usage is available through billing usage.

signals

CommandWhat it doesNotes
oxygen signals leads-todayList people to contact today, ranked by their most recent GTM intent signal.
oxygen signals listList the raw GTM signal-event feed newest-first (website_visit / profile_view / post_reaction / new_follower), each resolved onto the person it attached to. Read-only.
oxygen signals recordRecord one inbound GTM signal (website_visit, profile_view, post_engager, new_follower). Internal write — free, no approval. Idempotent on --external-event-id.writes
oxygen signals registryShow the signal-type registry: each registered type with its intent weight and capture status (all four registered types are live end-to-end — website_visit via the RB2B webhook, the engagement…
oxygen signals search planCompile a signal-sourcing request into ordered provider routes without provider calls: the chain, per-route applied/dropped filters, credit estimate, table blueprint, and whether the route can be…
oxygen signals search previewPreview public LinkedIn posts for free (family linkedin_posts): up to 25 per keyword, with author, engagement and the --ai-filter applied.
oxygen signals search runReturn a dry-run request or queue a live signal-search ingestion run.paid writes

signup-leads

CommandWhat it doesNotes
oxygen signup-leads deliveries getGet one signup lead webhook delivery by delivery id or event id.
oxygen signup-leads deliveries listList signup lead webhook deliveries for the current organization.
oxygen signup-leads deliveries retryRetry one failed signup lead webhook delivery.writes

skills

CommandWhat it doesNotes
oxygen skills doctorCheck Oxygen skill index reachability and local installer prerequisites.
oxygen skills getHydrate one exact Oxygen skill entrypoint and its document index.
oxygen skills installInstall Oxygen agent skills into local agent skill directories only; uses 0 credits and does not change the Oxygen workspace or call a provider.
oxygen skills listList Oxygen agent skills available from the hosted skill index.
oxygen skills searchFind a bounded set of Oxygen skills and matching documents from an outcome.

sourcing

CommandWhat it doesNotes
oxygen sourcing planClassify a sourcing request and recommend provider routes without executing paid tools.

status

CommandWhat it doesNotes
oxygen statusCompare the local Oxygen CLI version against the active profile's deployed Oxygen API.

supabase

CommandWhat it doesNotes
oxygen supabase cancelRequest cancellation of every still-active child table run in an import.writes
oxygen supabase catalogInspect readable base tables, columns, PostgreSQL types, primary keys, and estimated rows through the saved read-only connection.
oxygen supabase connectValidate and encrypt a managed Supabase PostgreSQL URL.writes
oxygen supabase getGet aggregate and per-table status, row counts, failures, and deep-links for a Supabase import.
oxygen supabase importStart the previously previewed snapshot/refresh as durable Postgres-backed work.writes
oxygen supabase planPreview exact Oxygen Table creates/refreshes, row-limit posture, deletion semantics, and the schema fingerprint required to start. No writes and 0 credits.
oxygen supabase retryRetry failed child table items without duplicating already-upserted source rows.writes

support

CommandWhat it doesNotes
oxygen support admin assignHand a live Thread to a named human, for escalation past an agent's authority or judgment boundary (staff only).writes staff
oxygen support admin claimClaim a live Plain Thread and move it to In progress without overwriting another assignee (staff only).writes staff
oxygen support admin donePreview or mark a Plain Thread Done after the exact verified agent reply; new customer activity reopens it to Todo (staff only). CLI completion is agent-only.writes staff
oxygen support admin draftStage a reply as a team-only Plain note; this never sends to the customer (staff and agents).writes
oxygen support admin field-setRecord OXYGEN workflow state on a live Thread as structured, filterable Plain data — which version and commit carry a fix, and the PR that shipped it (staff only).writes staff
oxygen support admin getShow one live Plain Thread, its routing metadata, and customer-visible messages (staff only).staff
oxygen support admin label-addAdd an active Plain label by external ID (staff only).writes staff
oxygen support admin label-removeRemove a Plain label by external ID (staff only).writes staff
oxygen support admin listList live Plain Threads across customer Tenants (staff only).staff
oxygen support admin noteAdd a team-only internal note to a live Plain Thread (staff only).writes staff
oxygen support admin openReturn the exact Plain Inbox URL for one live Thread (staff only).staff
oxygen support admin prioritySet the native Plain priority for a live Thread (staff only).writes staff
oxygen support admin replyPreview or send a guarded public reply on the Thread's native Plain channel as Oxygen Support (staff only). CLI delivery is agent-only; named humans use Plain Inbox or Plain MCP.writes staff
oxygen support admin setupReconcile the shared Plain workspace against the taxonomy OXYGEN declares in code: request-type labels and intake fields, plus the workflow-state labels and release fields the support loop writes.writes staff
oxygen support admin snoozePark a live Thread until a named time, so work blocked on a release, a provider, or a scheduled retry stops reading as unanswered (staff only).writes staff
oxygen support admin startSet a live Plain Thread to Plain TODO with the In progress detail when OXYGEN work remains after a reply, preserving its assignee (staff only).writes staff
oxygen support admin todoReturn a snoozed Thread to the queue when its blocker clears (staff only). Never reopens a Done Thread: Plain does that on real customer activity.writes staff
oxygen support chatStart a Plain Chat conversation from one message, or pass an existing Thread ID to continue it.writes
oxygen support fileCreate a structured Plain support conversation with a subject and required message.writes
oxygen support getShow one Plain support Thread and its customer-visible timeline.
oxygen support listList Plain support Threads for the active organization.
oxygen support replyReply to a Plain Chat thread; migrated or native-channel history continues in one linked Chat thread.writes

suppressions

CommandWhat it doesNotes
oxygen suppressions addAdd (or refresh) a lead provider id on the org do-not-contact list so the sequencer never enrolls them again. Idempotent. --reason defaults to manual.writes
oxygen suppressions addressesList the org's blocked email ADDRESSES, newest first (bounces, unsubscribes, and suppressions import land here).
oxygen suppressions companiesList explicit company-domain and LinkedIn-company suppressions. These stop every Sequence channel.
oxygen suppressions crm-backfillCreate a CRM person record for everyone already on the do-not-contact list, so you can see who they are.writes
oxygen suppressions domainsList the org's whole-domain email blocks, newest first. Filter by --reason (manual | complaint | policy) or --search (case-insensitive substring of the domain).
oxygen suppressions hubspot listsList contact/company saved lists and readable identity properties. Reads definitions only; no memberships or writes.
oxygen suppressions hubspot syncPreview or arm additive HubSpot → DNC sync. Requires at least one contact/company list. Live requires the exact dry-run fingerprint and approval; never enrolls or sends.paid writes
oxygen suppressions importBulk-import a do-not-contact blocklist from a file (newline / comma / whitespace separated, max 5000).writes
oxygen suppressions import-identitiesImport a source-neutral typed JSON array into DNC.writes
oxygen suppressions import-personImport one person as one DNC subject with any combination of email, LinkedIn, E.164 phone, and an explicitly supplied company domain. The domain is company-wide and is never inferred from --email.writes
oxygen suppressions listList the org's do-not-contact suppressions, newest first. Filter by --reason or by --search (case-insensitive substring of the lead provider id).
oxygen suppressions phonesList phone suppressions (strict E.164) used by call, WhatsApp, and Sequence safety gates.
oxygen suppressions policy resetReturn one rule (--rule) or every rule (--all) to the shipped default.writes
oxygen suppressions policy setChange one rule. Example: oxygen suppressions policy set --rule linkedin_reply --effect stop_only stops a LinkedIn replier's current campaign without blocking them from every future one.writes
oxygen suppressions policy showShow every do-not-contact rule with its current setting, whether that is your change or the shipped default, and the values it accepts.
oxygen suppressions removeRemove one lead provider id (--lead), or every identity of one merged person (--subject-id), from the org do-not-contact list (re-enable contact).writes
oxygen suppressions remove-addressRemove one blocked email ADDRESS from the do-not-contact ledger (re-enables sending to it).writes
oxygen suppressions remove-companyDeliberately remove one explicit company suppression.writes
oxygen suppressions remove-domainRemove a whole-domain email block (re-enable sending to the domain).writes
oxygen suppressions remove-phoneDeliberately remove one strict E.164 phone suppression.writes

table-ingestions

CommandWhat it doesNotes
oxygen table-ingestions cancelRequest cancellation for a durable table ingestion run.writes
oxygen table-ingestions create-tool-pageCreate a paged tool-source ingestion run for a workspace table.paid writes
oxygen table-ingestions getGet one durable table ingestion run.
oxygen table-ingestions itemsList items for a durable table ingestion run.
oxygen table-ingestions retry-failedRequeue failed items for a durable table ingestion run.writes
oxygen table-ingestions waitWait for a table ingestion run (read-only, no credits). Retries transient network failures, including deploy disconnects, at the polling interval within the same timeout.

table-runs

CommandWhat it doesNotes
oxygen table-runs cancelRequest cancellation for a durable table action run.writes
oxygen table-runs createCreate a durable background run for table tool-column actions.paid writes
oxygen table-runs effect-unknownList the items of a run whose external write was dispatched but never confirmed. Oxygen will not retry them on its own: verify each destination, then record what you found with oxygen cells resolve.
oxygen table-runs getGet one durable table action run.
oxygen table-runs itemsList row items for a durable table action run.
oxygen table-runs listList durable table action runs for one table.
oxygen table-runs pausePause a durable table action run before it starts more row jobs.writes
oxygen table-runs provider-summarySummarize provider attempts, upstream request events, and credit capture/release for a table action run.
oxygen table-runs resumeResume a paused durable table action run.writes
oxygen table-runs retry-failedRequeue failed items for a durable table action run. Items with an unconfirmed external effect stay blocked until their destination is verified and explicitly approved.paid writes
oxygen table-runs waitPoll a durable table action run until it finishes.

tables

CommandWhat it doesNotes
oxygen tables activityShow background runs active on a workspace table right now, with a worker-queue health rollup.
oxygen tables archiveArchive a workspace table without dropping physical data. Hides it indefinitely with no purge timer; for cleanup with a restorable deadline use tables delete.writes
oxygen tables auto-dedupe disableDisable (clear) a table's standing auto-dedupe configuration.writes
oxygen tables auto-dedupe getShow a table's standing auto-dedupe configuration.
oxygen tables auto-dedupe setEnable a standing auto-dedupe: after every write (insert, upsert, import, send, webhook), duplicate groups containing a just-written row are collapsed by the keep policy — losers are DELETED…writes
oxygen tables auto-run disableDisable (clear) a table's standing auto-run configuration.writes
oxygen tables auto-run getShow a table's standing auto-run configuration (columns queued automatically when new rows are written).
oxygen tables auto-run setEnable a standing auto-run: automatically queue the given columns for rows written to this table (imports, inserts, upserts).paid writes
oxygen tables createCreate a real Postgres-backed workspace table. Free — 0 Oxygen credits. To create a table and import a file in one step, use tables import --create <name>.writes
oxygen tables dedupeCollapse duplicate rows by normalized (email/domain/linkedin) or fuzzy-label keys, or cross-check a column against another table.paid
oxygen tables deleteDelete workspace tables: archives now and schedules the physical purge (default 14 days; restorable via tables restore until then). --now purges immediately and permanently — it previews and…writes
oxygen tables delete-rowDelete one workspace table row.writes
oxygen tables delete-rowsDelete multiple workspace table rows.writes
oxygen tables describeDescribe a workspace table and its columns.
oxygen tables duplicateDuplicate a workspace table. Copies row values unless --schema-only is set.writes
oxygen tables exportExport workspace table rows as JSON, JSONL, CSV, or a human-readable table. Rows only, capped at 1000; to copy a whole table including its columns and every row, use tables export-bundle.
oxygen tables export-bundleExport a workspace table as a portable bundle (schema + every row) for cross-environment / cross-org copies.
oxygen tables followers checkFree: read the page's follower count and quote the exact credits an order would reserve. No spend, no table; orderable: false means no order can be placed yet.
oxygen tables followers orderPlace the follower order after checking it.paid writes
oxygen tables hubspot importPreview or import HubSpot contacts/companies into a new table or Records.paid writes
oxygen tables hubspot listsList the connected portal's saved contact/company segments and readable identity properties.
oxygen tables importImport JSON, JSONL, CSV, or XLSX rows into a workspace table.writes
oxygen tables import-bundleRecreate a workspace table from an export-bundle file in this org.writes
oxygen tables insertInsert rows into a workspace table. Table writes cost 0 Oxygen credits; paid column runs are separate.writes
oxygen tables linkLink two tables: Oxygen finds the column that joins them, works out the direction, shows you how many rows will match, and on approval links every row.paid
oxygen tables listList workspace tables in the current tenant database.
oxygen tables moveMove one or more workspace tables into a project (folder) in one call. Rows, columns, runs, and provenance are preserved. Free; reverse it by moving the table back.writes
oxygen tables pipedrive filtersList the connected Pipedrive account's saved people/organization filters and its person/organization fields (custom-field keys included).
oxygen tables pipedrive importPreview or run a Pipedrive saved people filter into a NEW table.paid writes
oxygen tables previewPreview a workspace table with projected rows and summary stats.
oxygen tables promoteWrite bound rows' columns onto their matched CRM records (Records<->Tables).paid
oxygen tables queryQuery a workspace table by id or slug. Output is a JSON envelope; for a typed, human-readable rendering of the same rows use tables export <table> --format table.
oxygen tables recover-pendingRe-poll BetterContact async enrichments that timed out mid-poll and write any newly-found phones back to the table.writes
oxygen tables relateRelate two tables: define empty Tables-owned relation columns on the source and target.
oxygen tables relations archiveArchive a native relation, its active links, and both relation columns while preserving history. Previews by default.paid writes
oxygen tables relations listList the native relations visible from one table, including cardinality, target, and active link count.
oxygen tables relations updateRename either side of a relation or change its cardinality. Endpoints and slugs stay immutable. Previews by default.paid writes
oxygen tables renameRename a workspace table display name and slug.writes
oxygen tables restoreRestore an archived or delete-scheduled table: cancels the purge timer and reclaims its slug.writes
oxygen tables schedule listList a table's scheduled column refreshes.
oxygen tables schedule removeRemove a column's scheduled refresh (deletes the backing cron workflow; future scheduled runs stop).writes
oxygen tables schedule setCreate or replace a column's scheduled refresh (a cron-triggered hosted workflow; visible via oxygen workflows list).paid writes
oxygen tables sendCopy rows from one table into another as a durable background run (free, resumable).writes
oxygen tables sourcesList every way a table can start — imports, company/people/signal sources, webhooks, functions — with the provider count and per-row credit estimate behind each.
oxygen tables tagReplace a table's workspace tags (Tags primitive; "" clears). Tags link the table to sequences, wiki pages, and workflows carrying the same tag — browse with oxygen tags get <tag>.writes
oxygen tables tidy-suggestRead-only tidy analysis for a workspace table: duplicate columns, formatting issues, hide candidates, and value-sanity findings.
oxygen tables unlinkUnlink one exact pair of rows by archiving their relation edge. The relation definition and both rows remain. Previews by default.paid
oxygen tables updateUpdate one workspace table row.writes
oxygen tables upsertInsert or update rows in a workspace table by a column key.writes
oxygen tables views createCreate a saved view.writes
oxygen tables views deleteDelete a saved view by id.writes
oxygen tables views getGet one saved view by id.
oxygen tables views listList a table's saved views.
oxygen tables views updateUpdate a saved view.writes
oxygen tables watcher createCreate and activate a Professional Network Post Engagers table after approval of its exact preview. Starts collection now and daily at 07:00 UTC under the approved per-cycle cap.paid writes
oxygen tables watcher getRead a table's Professional Network Post Engagers configuration and status. Free.
oxygen tables watcher pausePause daily monitoring while retaining the table and collected rows.writes
oxygen tables watcher previewFree configuration and credit preview: no provider calls, writes, or scheduling. Omit --max-credits for a recommendation and preview hash. Ask for real profile URLs; never invent them.
oxygen tables watcher resumeResume paid daily monitoring after reviewing a fresh preview and approving its per-cycle credit cap.paid writes
oxygen tables watcher updateEdit watched profiles or the per-cycle cap from the table. Preview the changes first; approval binds the exact new configuration.paid writes
oxygen tables webhook createCreate a direct webhook endpoint that writes inbound JSON into a table (600–12,000 requests a minute by plan size, per endpoint and sender IP; 429 returns Retry-After; oxygen limits show lists…writes
oxygen tables webhook deliveriesList direct table webhook deliveries and auto-run enqueue status.
oxygen tables webhook getGet one direct table webhook by endpoint id.
oxygen tables webhook listList direct table webhooks.
oxygen tables webhook updateUpdate a direct table webhook endpoint.writes

tags

CommandWhat it doesNotes
oxygen tags createDeclare a tag before anything carries it, with an optional description, color, and pin. Idempotent: run it on a tag already in use to annotate it — carriers are never touched.writes
oxygen tags deleteDelete one or more tags: strips them from EVERY carrier (archived and finished items included) and removes their declaration.writes
oxygen tags getEverything carrying one tag — publishing posts, knowledge pages, sequences, tables, workflows, recipes, inbox conversations, CRM records, mailboxes, sender accounts, sending domains, projects…
oxygen tags listList every workspace tag with per-primitive counts, most-used first.
oxygen tags mergeMerge one or more tags into a single target, EVERYWHERE they appear (archived rows included).writes
oxygen tags renameRename one tag EVERYWHERE it appears (every primitive, archived rows included).writes
oxygen tags updateChange a tag's description, color, or pin. Only the flags you pass change; use the --clear-* flags to remove a value. To change the LABEL use tags rename.writes

tools

CommandWhat it doesNotes
oxygen tools enums getFetch the accepted values for one provider enum catalog. Use this before drafting payloads with enumRef fields.
oxygen tools enums listList enum catalogs for a provider (or all providers).
oxygen tools favoriteFavourite one column-catalog entry for this workspace: a native column (find_email, preset:person_enrich, prompt:icp_fit_score_v1) or a vendor tool (tool:<tool_id>).
oxygen tools favoritesList your favourite column-catalog entries for this workspace, with each native entry's per-row price.
oxygen tools getGet a tool descriptor.
oxygen tools runRun an executable Oxygen tool through the HTTPS API.paid writes
oxygen tools searchSearch the priced catalog (0 credits): provider operations in tools, and OXYGEN's own columns in native_columns (enrichment bundles, waterfalls, templates, Functions), each with price_label…
oxygen tools unfavoriteRemove one column-catalog entry from your favourites for this workspace.

ugc

CommandWhat it doesNotes
oxygen ugc amplification getRead this program's current amplification authority and immutable action history. Master workspace only; 0 credits, no provider call.
oxygen ugc amplification reconcilePreview recording a provider observation for an uncertain program action. Confirmation needs a signed-in operator and --approved; it never contacts the provider or authorizes a retry.writes
oxygen ugc amplification saveSave exact opted-in sender scope and bounded post-specific amplification. Enabling needs explicit approval.paid writes
oxygen ugc analytics getRead UGC analytics in the active workspace. Read-only. The brand workspace sees every creator; a creator workspace only ever gets its own row, with or without --participation-id.
oxygen ugc applications listApplications to public programs. Without --program-id: the ones this creator workspace sent, with status. With --program-id: the ones your program received (brand), pending first. Read-only.
oxygen ugc calendar listRead the program's enrolled post calendar in a bounded UTC date range (up to 42 days). Stored data only, 0 credits.
oxygen ugc creators acceptAccept an exact invitation in the creator workspace. Check it first with creators invitation --token; a refusal names its reason (wrong account, the program's own workspace, withdrawn or expired).writes
oxygen ugc creators approveApprove a pending application to your program (from applications list --program-id). The applicant becomes a creator at once and is emailed. Free: 0 credits.writes
oxygen ugc creators declineDecline a pending application to your program. No email is sent. Free: 0 credits.writes
oxygen ugc creators invitationRead what an invitation link points at before accepting it: the program, the invited email (masked), the posting deal, and can_accept with the reason when this account or workspace cannot accept it.
oxygen ugc creators invitePreview an invitation email (0 credits) for one creator (--email) or up to 50 at once (--emails); send with --approved --preview-token from that preview and the same recipients.writes
oxygen ugc creators listRead creators (name, picture, LinkedIn URL and posting_target, their own deal; null follows the program standard) and invitations, including persisted email delivery status. Read-only.
oxygen ugc creators revoke-inviteRevoke an unaccepted invitation.writes
oxygen ugc creators send-invitePreview email for an existing pending invitation; send or resend with --approved --preview-token. Replaces the old link, keeps its expiry. Sent means provider accepted, not inbox delivery.writes
oxygen ugc creators set-targetSet one creator's own posting deal, e.g. 1/month while the program asks for 2/month, on a joined creator (--participation-id) or a pending invitation (--invitation-id). none returns them to the…writes
oxygen ugc creators updateConnect an existing LinkedIn sender, change approval authority, or leave the entire program.writes
oxygen ugc knowledge listRead UGC knowledge in the active workspace. Read-only.
oxygen ugc memberships listRead active program memberships for the creator workspace. Free, stored and provider-free.
oxygen ugc peer-amplification getRead this creator's own peer-engagement policy, host gate, readiness and immutable receipts. Creator workspace only; free and provider-free.
oxygen ugc peer-amplification reconcilePreview recording observed evidence for this creator's effect_unknown peer action. Approval records the outcome without a provider call or retry.writes
oxygen ugc peer-amplification savePreview or save this creator workspace's own peer-engagement consent, sender, voice and caps. The creator wallet pays; the host gate must also be enabled.paid writes
oxygen ugc posts approveRecord creator or explicitly delegated operator approval of the current post.paid writes
oxygen ugc posts brand-approveRecord separate master brand approval of the current post.paid writes
oxygen ugc posts comment cancelCancel a scheduled comment before it runs, including one still waiting for its post. Organizer workspace only; a comment that is already posting or posted cannot be cancelled.writes
oxygen ugc posts comment scheduleSchedule one exact comment on a creator's program post from one of this workspace's LinkedIn accounts; on a post not live yet it waits.paid writes
oxygen ugc posts draftDraft a post from your topic in your voice, grounded in the program's shared pages. A bare call is a free preview; the creator repeats it with --request-id --approved --max-credits to run it.paid writes
oxygen ugc posts draft-statusRead the original paid draft request and saved result without generating again. Creator workspace only, 0 credits.
oxygen ugc posts enrollEnroll one existing creator-owned post in this participation.writes
oxygen ugc posts historyRead retained public comments, metrics, and publication receipts for one enrolled post. Stored data only, 0 credits.
oxygen ugc posts listRead UGC posts in the active workspace. Read-only.
oxygen ugc posts removeRemove one creator-owned post from a program before publication while retaining immutable enrollment history. The personal draft remains in Publishing.writes
oxygen ugc posts updateEdit or schedule an enrolled post with creator or delegated authority; publishing gates still apply.writes
oxygen ugc profile getRead your creator profile (topics, audience and LinkedIn profile URL). Free, read-only.
oxygen ugc profile updateSave your creator profile, which brands whose programs you joined can read. --topics replaces the list; --audience "" clears it. Free: 0 credits.writes
oxygen ugc programs applyApply to a public program from programs discover, with a short note to the brand. The brand approves or declines; approval makes you a creator in the program and emails you. Free: 0 credits.writes
oxygen ugc programs archiveArchive a program: stop future access, publishing, tracking and amplification, revoke pending invitations and request cancellation of sponsorship renewals.writes
oxygen ugc programs createCreate a master UGC program from its product link. The name defaults to the site's name and its icon is fetched from the site. Free: 0 credits, no provider call.writes
oxygen ugc programs deletePermanently delete a program and its pending invitations.writes
oxygen ugc programs discoverPublic programs from every brand on Oxygen that you can apply to, with each brand's deal and brief excerpt, and whether you already joined or applied. Free, read-only.
oxygen ugc programs duplicateCopy a program's settings, shared knowledge, brand review and posting target into a new active program. Free: 0 credits. Never copies creators, invitations, posts or sponsorship.writes
oxygen ugc programs getRead UGC program in the active workspace. Read-only.
oxygen ugc programs listRead UGC programs in the active workspace, archived ones included unless --status filters. Read-only.
oxygen ugc programs restoreRestore an archived program. Creators removed earlier stay removed, revoked invitations stay revoked, and cancelled sponsorships need a new preview and confirmation.writes
oxygen ugc programs updateUpdate program settings and selected shared knowledge.writes
oxygen ugc sponsorship cancelPreview stopping renewal for one program sponsorship. Confirm with --approved and a signed-in master admin. The paid period stays; a credit sponsorship stops without a card provider call.writes
oxygen ugc sponsorship confirmConfirm the exact sponsorship quote as the same signed-in master admin. Card quotes return checkouts; credit quotes start the reservations or fail with insufficient_credits.paid writes
oxygen ugc sponsorship getRead sponsorship in the active workspace. Creators see their remaining credits and exact organizer access; masters see program payment status. Read-only.
oxygen ugc sponsorship previewPreview sponsoring creators as a signed-in master admin: funding is card (seat plus 10,000-credit grant) or credits (one LinkedIn reservation per creator). Org API keys cannot quote.
oxygen ugc voice getRead UGC voice in the active workspace. Read-only.
oxygen ugc voice importPreview all retrievable LinkedIn history and voice inference; approve a total credit ceiling to start. Use --import-id to resume a safely interrupted import with its saved progress and spend.paid writes
oxygen ugc voice saveSave your own writing preferences and examples as a private provisional Knowledge voice.writes

update

CommandWhat it doesNotes
oxygen updateUpdate the Oxygen CLI from npm, then refresh the Oxygen agent skills in the global skill folders of Codex, Claude Code and Cursor (OXYGEN_SKIP_SKILLS=1 skips that).writes

verify

CommandWhat it doesNotes
oxygen verify emailVerify one or more email addresses.paid

viewers

CommandWhat it doesNotes
oxygen viewers enrichmentTurn automatic full-profile enrichment of NEW profile viewers on or off for the viewers table (Up2Data profile: about, current role and company, experience, education, location).writes
oxygen viewers importStart (or re-arm, or resume a paused account) a durable profile-viewers (WVMP) import.writes
oxygen viewers pauseSwitch the profile-viewers import off for one account or all: rows and the table stay exactly as they are, and viewers import --account <ref> switches it back on.writes
oxygen viewers statusShow durable profile-viewers (WVMP) import progress: accounts[] lists every connected LinkedIn account with its display_name, headline, picture_url, per-account on (true when switched on…

visuals

CommandWhat it doesNotes
oxygen visuals downloadDownload a file with SHA-256 verification; refuses to overwrite existing local files.
oxygen visuals file-getRead source, file metadata, provenance and web/download links.writes
oxygen visuals render-cancelRequest cancellation; read state to verify it stopped.
oxygen visuals render-getRead render state and output downloads; optionally wait for a terminal state.
oxygen visuals render-previewPreview rendering without starting paid compute.
oxygen visuals render-startApprove an exact preview and enqueue one idempotent render job.paid
oxygen visuals source-createSave an immutable HTML/CSS/SVG source revision; no code executes.

voice

CommandWhat it doesNotes
oxygen voice numbers buyBuy phone numbers for the dialer.paid writes
oxygen voice numbers cap setSet one phone number's daily dial cap (dials per day, 1-300; new numbers get 100).writes
oxygen voice numbers listList the org's phone numbers with warm-up state, daily cap, and what each one costs per month. Optional --tag narrows to one campaign's numbers.
oxygen voice numbers releaseGive a number back to the carrier and stop its monthly charge.writes
oxygen voice numbers requirementsWhat a country demands before it sells a number (business details, documents). Free, and read live from the carrier.
oxygen voice numbers searchFind numbers you could buy, by area code or region. Free: searching buys nothing and reserves nothing, so a listed number can be gone by the time you buy it.
oxygen voice numbers tagReplace a phone number's workspace tags (whole set; --tags "" clears) — e.g. pool the numbers dialing one campaign behind its tag. See oxygen tags list for the vocabulary.writes
oxygen voice tasks claimTake the next due call task, or a specific one with --task.writes
oxygen voice tasks completeRecord the outcome of a claimed call. Lease-guarded: a lease reclaimed mid-call fails with 409 rather than overwriting the new holder's outcome.
oxygen voice tasks extendRenew a claimed task's 15-minute lease. Completing needs a live lease, so a longer call must heartbeat or its outcome and notes are rejected as stale.
oxygen voice tasks listList the call queue, best-first (highest priority, then earliest due). Defaults to every status; filter with --status.
oxygen voice tasks overrideWaive a guardrail for ONE lead — the exception path for a prospect who asked to be called outside their window, or one whose timezone you know you do not have.
oxygen voice tasks queuePut a lead INTO the call queue.
oxygen voice tasks skipDrop a task out of the queue without dialing (bad data, a rep pass, a guardrail block). Needs no lease — the guardrail gate skips tasks it never claimed.

whatsapp

CommandWhat it doesNotes
oxygen whatsapp accountsList connected WhatsApp accounts with health status, warm-up ramp state, limits, and today's usage. Disconnected accounts are hidden unless you pass --status disconnected.
oxygen whatsapp chat-actionAct on one WhatsApp chat: read/mute/archive/pin state, labels, group membership, or the group invite link.paid writes
oxygen whatsapp connectGet a Unipile hosted-auth URL to connect a new WhatsApp account by scanning a QR in WhatsApp → Linked Devices (or reconnect with --reconnect). Newly connected accounts start a mandatory warm-up ramp.writes
oxygen whatsapp disconnectDisconnect a WhatsApp account so it stops sending and frees its sending seat for another account.writes
oxygen whatsapp forwardForward an existing WhatsApp message into another chat. This delivers a new message, so it spends send budget and is approval-gated: omit --approved for a preview.paid writes
oxygen whatsapp getGet one WhatsApp account with limits, warm-up ramp state (account age + today's effective send ceiling), daily-reset timezone, and usage.
oxygen whatsapp historyBackfill one WhatsApp conversation's full message history.writes
oxygen whatsapp limits getShow current WhatsApp limits, the warm-up ramp state, direct-versus-Sequence delivery policy, daily-reset timezone, defaults, and safe maximums. <id> accepts an account id, connection id, or…
oxygen whatsapp limits setAdjust per-account WhatsApp daily limits and the daily-reset timezone.writes
oxygen whatsapp profile editEdit the connected number's WhatsApp profile. Every contact who has the number sees the change, so this is approval-gated: omit --approved for a preview.paid writes
oxygen whatsapp profile showShow the connected number's WhatsApp profile.
oxygen whatsapp syncRefresh WhatsApp account state (status) from Unipile. Pass --connection-id to sync one account, or omit to sync all.writes
oxygen whatsapp warm-sendSend ONE warm WhatsApp message into an EXISTING conversation (warm-only; a cold phone number with no prior conversation is rejected).paid writes

whoami

CommandWhat it doesNotes
oxygen whoamiShow the current Oxygen CLI identity.

worker

CommandWhat it doesNotes
oxygen worker failuresList failed background action and ingestion items.
oxygen worker queue-statsShow background action and ingestion queue health.
oxygen worker repairRepair stale background action, ingestion, and workflow queue state.
oxygen worker run-onceCompatibility alias for worker repair; repairs Postgres-backed worker state for the current organization.writes alias

workflows

CommandWhat it doesNotes
oxygen workflows applyCompile and save a workflow definition; --draft appends an editable revision without publishing it.paid writes
oxygen workflows approvalsList workflow runs awaiting a human approval decision (the mid-run approval inbox).
oxygen workflows callRun a workflow — or preview it first.paid writes
oxygen workflows cancelCancel a queued or running workflow run.writes
oxygen workflows deletePreview or permanently delete one or more workflow automations.writes
oxygen workflows disableDisable one or more workflow automations and their current triggers.writes
oxygen workflows duplicateDuplicate a workflow automation as a disabled copy by default.writes
oxygen workflows enableEnable one or more workflow automations and their current triggers.paid writes
oxygen workflows events emitEmit a normalized workflow event and enqueue matching event-triggered workflows.paid writes
oxygen workflows events getGet one curated workspace-event preset and its ready-to-copy trigger object.
oxygen workflows events listSearch and filter every registered app-native and connected event this workspace can use as a workflow trigger, including setup-required events.
oxygen workflows exportExport one graph-native workflow as a portable, editable definition with source account ids and trigger authority removed.
oxygen workflows failuresList failed workflow runs and trigger scheduler failures.
oxygen workflows getGet one workflow automation, including any cron slowdown to your plan's minimum interval.
oxygen workflows importPreflight or install a portable workflow definition. Imports are create-only and always disabled.writes
oxygen workflows initCreate a local editable workflow graph. Use --format recipe only for the legacy durable-recipe authoring path.
oxygen workflows lintCompile and validate an authored workflow file against the same draft/publish readiness contract as the web editor and apply.
oxygen workflows listList workflow automations.
oxygen workflows mcp disableUnpublish a workflow's MCP tool. The workflow stays active and callable via oxygen workflows call.writes
oxygen workflows mcp enablePublish an active workflow as a callable MCP tool so any MCP client can run it. The published tool appears to MCP clients as oxygen_workflow_<slug>.writes
oxygen workflows mcp listList workflows currently published as MCP tools.
oxygen workflows renameRename a workflow automation's display name only — its id and slug are unchanged, and the next workflows apply from source overwrites the name.writes
oxygen workflows resumeApprove or reject a paused mid-run workflow approval, resuming the run.writes
oxygen workflows retryPreview retrying a failed run from its first failed step. Completed steps stay preserved; ambiguous external writes are refused.paid writes
oxygen workflows revisionsSaved revision history for one workflow, newest first — includes unpublished drafts and published versions; use --include-manifest to inspect either.
oxygen workflows revisions restoreRe-publish an earlier version as the newest one.paid writes
oxygen workflows runRead one workflow run, including waiting and awaiting_approval pause state. This command changes nothing.
oxygen workflows runsList workflow runs.
oxygen workflows schemaPrint workflow JSON schemas.
oxygen workflows tagReplace a workflow's workspace tags (Tags primitive; "" clears).writes
oxygen workflows tailPoll until a workflow finishes or parks in waiting/awaiting_approval; clock waits resume automatically.
oxygen workflows templates applyDeprecated alias for oxygen blueprints apply. Creates a disabled workflow (plus its tables, columns, and prompts) from a blueprint.paid writes deprecated
oxygen workflows templates describeDeprecated alias for oxygen blueprints describe.deprecated
oxygen workflows templates preflightDeprecated alias for oxygen blueprints preflight. Validates inputs and previews effects without running.paid deprecated
oxygen workflows templates runRemoved: returns a typed 410 deprecation. Use oxygen blueprints apply <slug> then oxygen workflows call <workflow>.paid writes deprecated
oxygen workflows templates searchDeprecated alias for oxygen blueprints list. Searches Oxygen blueprints (seed templates plus saved blueprints).deprecated
oxygen workflows webhooks deliveriesList inbound workflow webhook deliveries: what arrived, whether it verified, and the run it started. Replays never append here; only a verified outcome=ran delivery can be replayed.
oxygen workflows webhooks replayCreate a durable, inspectable run in dry_run mode from one verified outcome=ran delivery's exact original revision and payload.writes
oxygen workflows webhooks rotateReplace a workflow webhook's shared secret. Previews by default; the old sender secret stops working immediately after approval.writes

workspace

CommandWhat it doesNotes
oxygen workspace infrastructure-exitLeave, close or offboard a workspace's managed external infrastructure in one action.paid writes
oxygen workspace mapWhat this workspace actually contains: the newest tables, CRM objects, sequences, workflows, agents, wiki pages, posts and projects, each with its id, last activity, tags and link.

On this page