OXYGENOxygen/ Docs
Surfaces

CLI command reference

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

Every released public command the oxygen CLI registers — over 1,100 commands across 101 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 and unreleased internal pilots are omitted from this public reference. 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

activation

CommandWhat it doesNotes
oxygen activation checklistRead this workspace's getting-started checklist: leads in a table, a first sequence, a connected sending account and a launched sequence, each with whether it is done and a link to do it; eligible…

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 the company conversion funnel (visitors → signups → activation on any surface, web, CLI or MCP → paid, with step rates and agent connected beside it), self-reported signup-channel…staff
oxygen admin lead-magnets getShow one lead magnet (resource) by slug: every field, draft or published, and its public /resources URL. Staff only, read-only.staff
oxygen admin lead-magnets listList every lead magnet (resource) on /resources, drafts included, with status and public URL. Staff only, read-only.staff
oxygen admin lead-magnets unpublishUnpublish a lead magnet (resource): set it to draft, which removes it and its page from /resources and keeps its email records. Dry run by default; --live applies it. Staff only.writes staff
oxygen admin lead-magnets upsertPublish or update the lead magnet (resource) at a slug on /resources from a resource JSON file and/or flags; --cover uploads a local image.writes staff
oxygen admin price-book listList every pricing-book row with its stored value, what charging bills now, the committed default, and who reads it. Read-only.staff
oxygen admin price-book restorePut a pricing-book row back to its committed default. For a plan, --field restores one allowance field; without it all three are restored.writes staff
oxygen admin price-book setSet one editable pricing-book field.writes staff
oxygen admin primary-providersProvider board: primary managed data providers, inference, fallbacks, conditional companions and product services with default/conditional/legacy selection and required configuration.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

ads

CommandWhat it doesNotes
oxygen ads searches deleteArchive a saved search; hide it from lists and tag footprints.writes
oxygen ads searches getRead one saved Ads search definition without running it.
oxygen ads searches listList saved Ads search definitions, optionally filtered by tag.
oxygen ads searches saveSave a named Ads search query for 0 credits; no provider call.writes
oxygen ads searches updateReplace a saved search's name or query; keep its tags. No provider call.writes

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 session activateApprove the exact preview revision and activate scoped standing authority.paid writes
oxygen agent session archiveArchive this ongoing session, retaining conversation and run history.writes
oxygen agent session completeComplete this ongoing session, retaining conversation and run history.writes
oxygen agent session configureReplace settings at the expected revision. Clears standing authority and pauses active work; review again before activation.writes
oxygen agent session createCreate a draft ongoing session. Explicit caps are required; review and activate separately.writes
oxygen agent session getRead this session's configuration revision, conversation, memory, next check, approvals and budget reservations.
oxygen agent session listList independent ongoing sessions under an Agent, including status, next check and spend.
oxygen agent session messageQueue durable human steering. Draft chat proposes settings for review; active chat resumes the same memory. A bounded run reserves the approved per-run cap.paid writes
oxygen agent session pausePause this ongoing session, retaining conversation and run history.writes
oxygen agent session previewPreview the exact pinned Agent version, resource scope, actions, schedule and caps. Returns the revision and approval token; starts no inference.writes
oxygen agent session resumeResume this ongoing session. Requires unchanged approved settings.paid writes
oxygen agent session runRun this active session's next check now, within its approved caps. Refused while a check runs or a cap is reached.paid writes
oxygen agent session templatesDiscover eight ongoing Agent job templates, reviewed actions, required resources, the full config schema and a draft example. Staff on dev only; legacy Agents remain available.
oxygen agent session webhookCreate this session's webhook or rotate its secret (returned once); remove deletes it. A delivery wakes the active session within its caps; its external writes then ask first.writes
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 activateActivate a trial subscription now and charge its saved payment method; administrator approval is required. An optional tier reprices the active trial in the same call.paid writes
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…writes
oxygen billing allowance viewInspect the current-cycle allowance, billing owner and partner-bonus eligibility; due plan grants or credit expiry may apply. 0 credits; reserves nothing.writes
oxygen billing auditSummarize where managed credits were granted, reserved, captured, released, or spent.writes
oxygen billing balanceMay apply due plan grants or credit expiry.writes
oxygen billing cancelTurn off subscription renewal.writes
oxygen billing changeCreate an approval link (approval_url) to start or change a plan; no charge or plan change until confirmation.writes
oxygen billing checkoutOpen browser Checkout; payment approves purchase. First purchase: admin/owner. New yearly plans use interval month, term year and the current terms_version.writes
oxygen billing commitmentsList recurring commitments, or inspect monthly connection prices and first-debit timing with --view connection-prices without creating authorization.
oxygen billing commitments viewRead the complete fixed-credit commitment view and linked billing-owner display, without enumerating a child's sibling resources.
oxygen billing confirmConfirm a plan-change preview within 15 minutes; approved accepts payment, term and effective date. Unrestricted members allowed; restricted clients denied.paid writes
oxygen billing estimateQuote prospective enrichment, senders, X/WhatsApp, EmailGuard tests and an unsaved Workflow without provider calls, writes or reservations.
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 invoices viewRead the browser invoice-history projection, including exact native timestamps, amounts and signed Stripe invoice links.
oxygen billing ownership clearRestore this workspace's own billing ownership after the same administrator checks as the browser.writes
oxygen billing ownership getRead the active workspace's shared billing owner, candidate owners and credit cap.
oxygen billing ownership setSet the billing owner and optional monthly credit cap using the browser's administrator and workspace eligibility checks.writes
oxygen billing portalCreate a Stripe billing-portal URL. Unrestricted members allowed; restricted clients denied.writes
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 retainStay subscribed with the one-month retention discount from billing retention-offer. Restores renewal if cancellation was scheduled. No charge today; the normal price returns afterwards.writes
oxygen billing retention-offerPreview a one-month discount before cancelling your monthly subscription. Reports eligibility, the next invoice price and normal price. Reads only; no discount is applied.
oxygen billing seatsShow sending seats, current billing-period end and next-connection eligibility (null: unknown, with a reason).writes
oxygen billing seats setManage legacy dollar sending seats for one channel; check billing seats for retirement status.writes
oxygen billing set-planCreate or update an off-Stripe custom plan for an organization (staff only).writes staff
oxygen billing summaryRead wallet, plan, partner-bonus eligibility/timing and billing owner without grants.
oxygen billing topupNo amount: read-only price quote, no checkout.writes
oxygen billing usageCredit-ledger and BYOK views may apply due plan grants or credit expiry. 0 credits.writes
oxygen billing usage viewCredit spend over 7, 30 or 90 days by category and provider, each with its share, plus permitted linked-workspace rollups. totalSpent is reserved minus released; billing usage managed_credits_used…

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. The workflow's compiled bundle is left out (its size and sha256 are listed) unless --include-bundle is passed.
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.
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, a catalog template (--prompt-key) or a multi-column enrichment bundle (--preset) 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 column templates and native Classify; multi-column enrichment bundles (presets such as person_enrich and company_enrich) are listed by oxygen enrichment catalog.
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 createCreate a Table column at an optional zero-based position; type is a field type, and a choice type takes options (cells store each value).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 duplicateDuplicate a Table column and its definition with an optional new label.writes
oxygen columns editSave a column's label, type, order or definition. Returns downstream reference warnings rather than silently discarding them.writes
oxygen columns executeRun one column over an exact row or bounded selection. Paid execution requires approval and a max_credits ceiling; uncertain prior effects need explicit resolution approval.paid writes
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 kind-estimatesRead managed credit estimates for available Table column kinds.
oxygen columns materializeCopy JSON paths from a result column into existing or new target columns.writes
oxygen columns provider-actionPreview or create a provider action column; creating it does not execute provider actions.writes
oxygen columns renameRename a workspace column's stable key (requires --key), optionally updating its display label.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, note, position and visibility; a choice column's options; a lookup or bind column's source, join and mode; and for AI/research columns the prompt, named inputs…writes
oxygen columns web-search-modeConvert a web-search column between agent, AI or keyword modes. Conversion requires confirm=true; mode plus column seeds an AI or keyword replacement.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.

connectors

CommandWhat it doesNotes
oxygen connectors events getShow one connected app's event subscriptions (filters, status, granted, renew-by and expiry, workspace) and its recent deliveries (status, attempts, failure category, times; never content).
oxygen connectors events revokeStop OXYGEN sending events to one connected app: revoke one of its event subscriptions (--subscription <id>) or every live one (--subscription all), optionally only in one --workspace.writes
oxygen connectors getShow one connected app: its default workspace, its daily credit ceiling and what it spent in the last 24 hours in each workspace where it spends, and how many event subscriptions it holds.
oxygen connectors listList your connected apps with each one's default workspace, its live event subscriptions, its daily credit ceiling and what it spent in the last 24 hours, when it was last used, and the workspaces…
oxygen connectors setChange one connected app's settings (ChatGPT, Claude, Codex or another app connected to OXYGEN with OAuth); only that app changes. --default-workspace: where it works without asking (the same…writes

context

CommandWhat it doesNotes
oxygen context assets archiveArchive a context asset. Archiving the canonical brand, voice, positioning or playbook files an approval proposal and fails with knowledge_approval_required.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.writes
oxygen context assets upsertCreate or update a context asset.writes
oxygen context canonical getRead the current canonical (pinned) voice, brand or positioning that AI copy uses, or any type's pinned asset. present=false means none is pinned; grounding_when_absent says what AI copy uses instead.
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 attachments completeVerify and describe an uploaded Copilot attachment in its session.writes
oxygen copilot attachments deleteDetach an unsent Copilot attachment; attachments already quoted by a turn cannot be removed.writes
oxygen copilot attachments listList sent and unsent attachments in one Copilot session.
oxygen copilot attachments prepareReserve a Copilot attachment and return its scoped upload URL; complete only after uploading the exact bytes.writes
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 feedbackRate one attended Copilot turn and optionally explain the rating.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, --before to read earlier turns of a long chat.
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 Workspace Copilot conversations by session status, newest first; this read starts no inference.
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 policy setSet an attended Copilot session's approval and screen-follow policies. Paid auto-approval is explicit standing authorization.paid writes
oxygen copilot sendSend a message to a Workspace Copilot session and stream the reply to stderr. Waits for the turn to finish (or pause for an approval) unless --no-wait. Managed inference uses workspace credits.paid writes
oxygen copilot startStart an attended Workspace Copilot session on Oxygen Balanced by default.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.
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.writes
oxygen crm files attach-inlineAttach inline base64 bytes to a CRM record; each call creates a new file and attachment, including identical retries.writes
oxygen crm files complete-uploadVerify a reserved CRM upload and attach it to its record; mismatched bytes remain pending.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.writes
oxygen crm files downloadDownload a tenant-owned record attachment by attachment_id. The native authenticated response contains its exact bytes.
oxygen crm files listList one record's attachments, newest first.
oxygen crm files prepare-uploadReserve a CRM file upload by exact name, length and SHA-256; returns a scoped upload URL.writes
oxygen crm files readRead a bounded chunk of original file bytes, separate from extracted text. Follow next_offset with the same sha256. No credits.
oxygen crm getGet one CRM record aggregate with row values, identities, and relationships.
oxygen crm keepKeep one sample record as real.writes
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.writes
oxygen crm pipelineShow the deals pipeline grouped by stage, with per-stage counts and amount totals. Seeded sample deals are listed with sample: true but never counted; samples reports them.
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/Pipedrive 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 current needs-action triage.
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-policyRead-only, 0 credits. Show the retired Neon cost-policy status. Its managed field describes the policy, not database hosting; PostgreSQL has no per-workspace sleep control.
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 statusRead-only, 0 credits: show the current database host and status, including historical Neon IDs, recorded region labels, and plan-included hosting; staff can pass global --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: EmailGuard monitoring credits per inbox-month, two included tests per inbox per cycle…
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 logo uploadUpload a public agency-directory logo and read back the updated listing; PNG, JPEG, WebP or SVG, at most 2 MB.writes
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 first-year registration 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 your own Cloudflare zone.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 first-year registration 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 configured shared email-proxy IP and this workspace's dedicated IP history.
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 configured native email routing, active IP, transport readiness, health counts, dedicated add-on, and one bounded page of the 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. Optional summary or lossless value JSON windows recover every public setting; resume value-cursor with the same feed/path/include-cursor. Read-only.
oxygen feeds listList table feeds for the workspace, newest first. Optional summary/full windows resume with next-offset; exact settings use feeds get --projection value. 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
oxygen feeds updateUpdate an existing feed in place.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 or member id, a Sales Navigator link, or an email / name + company: one managed profile lookup returns the profile block — first, last…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 and bindings: each run's overwrite policy, output mapping and run condition as they were…
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. 0 credits.writes

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 forget-whatsapp-chatPermanently erase a terminal old WhatsApp chat and its messages from OXYGEN.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 visible messages in a conversation as read (LinkedIn by default; use --channel email or whatsapp for those channels). Sender filters retain the selected DM history window.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
oxygen inbox views createSave a view for the team.writes
oxygen inbox views deleteDelete a view for the whole team. Anyone using it as their default opens on the built-in view.writes
oxygen inbox views listList the team's saved views; is_default marks your own default.
oxygen inbox views updateRename, re-filter or reorder a view, or set it as (or stop using it as) your own default.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 cloudflare-connectVerify a Cloudflare token, choose an account when required, and save the encrypted connection. account_id is optional for initial account discovery; no credential is returned.writes
oxygen integrations connectConnect an integration.writes
oxygen integrations connection-testTest one workspace integration connection and save its health without changing its default or returning credentials.writes
oxygen integrations connectionsList this workspace's stored integration connections and health without credentials.
oxygen integrations defaultSet the default active integration connection within this workspace.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 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 github-startCreate the authenticated GitHub authorization URL for this workspace.writes
oxygen integrations hubspot-startCreate the authenticated HubSpot authorization URL for this workspace.writes
oxygen integrations listList supported integrations and this org's connections. Add --integration <id> to read one integration and its connection state.
oxygen integrations managed-endpointsRead a managed integration's full action catalog and parameter schemas.
oxygen integrations openrouter-modelsRead model and pricing metadata using this workspace's connected OpenRouter account; credentials are never returned.
oxygen integrations runRun an action for a connected integration — Composio toolkits and native providers alike.paid writes
oxygen integrations statusRead active connection counts, sender connection state and the workspace's usable BYOK plan entitlement.
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 while retaining its content and history. Links become unresolved. Restore with page upsert --status draft and the current --expected-revision.writes
oxygen knowledge page getRead one knowledge wiki page by slug or UUID. Use --view sources for its evidence ledger or --view full for content, links and sources. 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.writes
oxygen knowledge page restoreRestore a knowledge wiki page to an earlier revision, as a new revision; history is kept. Use --expected-revision to refuse if the page changed since.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. Free internal write; canonical edits require proposal approval.writes
oxygen knowledge profileCompany profile and ICP memory.
oxygen knowledge profile updateMerge one or more profile sections into workspace GTM memory.writes
oxygen knowledge proposalsReview pending captured wiki changes. Optional summary traverses the live queue; exact proposal + value reads raw captured JSON. 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 the knowledge starter pages: on first run creates draft ICP and Offers pages, [[wikilinked]] to each other. Idempotent; never overwrites your edits.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 sync-deltaSync complete wiki pages/tombstones; first call may seed missing starter pages. Follow next_cursor; an oversized page is refused without skipping. 0 credits.writes
oxygen knowledge sync-manifestRead complete wiki revision/hash metadata. has_more/truncated mean more pages, not cut entries. last_cursor marks the last returned page; next_cursor resumes when more remain.
oxygen knowledge synthesizeSynthesize knowledge from workspace evidence (one low-cost AI call, priced as one low-reasoning AI column cell): campaign learnings from auto-filed outreach outcomes, or your writing voice (a…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 deleteDelete one provider override after approving its selector; admin/owner only, 0 credits; remaining matches apply, otherwise a code default if defined.writes
oxygen limits provider listList enforced workspace provider overrides and the plan-tier BYOK daily threshold with its enforcement mode; read-only, 0 credits.
oxygen limits provider setSet an enforced provider request limit; admin/owner only. Approve the exact provider, operation and window before running; execution saves the policy. Raising a cap can permit more use. 0 credits.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 import-statusRead the durable LinkedIn connections import status and target Table.
oxygen linkedin connections inviteSend a LinkedIn connection invitation.paid writes
oxygen linkedin followers import-statusRead the durable LinkedIn followers import status and target Table.
oxygen linkedin inbox backfill-statusRead the durable LinkedIn inbox backfill status.
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…
oxygen linkedin viewers listRead named LinkedIn profile viewers, respecting the connected account's privacy ceiling.

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 Gmail/Microsoft 365 with --vendor composio to import all mail into Unibox and business activity into CRM.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. effective_cap…
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 ramp-up: a custom --start-per-day plus --step every --increase-every-days sending days until its daily cap, --off for the full daily cap from the first sending day, or…writes
oxygen mailboxes sequencesRead the sequences using one sending mailbox by id or email address.
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 syncRead or control full Inbox, Sent and archive import for Gmail or Microsoft 365.writes
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 googleLegacy Google owner consent for one to ten connected inboxes.writes deprecated
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…writes
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 automatic credential repair is disabled, 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 avatars confirmVerify and normalize a mailbox profile picture owned by this workspace.writes
oxygen managed-inboxes avatars preparePrepare a scoped mailbox profile-picture upload; confirm the stored bytes before using its URL.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 writes
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 recoverRestore a cancelled managed subscription using its original addresses and domain.paid writes
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 search-domainsSearch available domains for managed mailboxes; buys nothing.
oxygen managed-inboxes subscribeBuy managed monthly inboxes on a new domain or your existing Cloudflare domain.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 verifyCompare purchased inbox inventory with the vendor and legacy Stripe mailbox seats.

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 calendar connectCreate the OAuth authorization URL for a Google Calendar or Outlook notetaker connection.writes
oxygen notetaker calendar scheduleSchedule recording for an existing calendar event after approval; an external CLI or MCP caller must supply an explicit max_credits ceiling.paid writes
oxygen notetaker calendar syncSynchronize upcoming Google Calendar or Outlook meeting events into this workspace's notetaker calendar.writes
oxygen notetaker desktop-uploadPrepare an approved desktop meeting recording and its scoped upload URL. Upload and completion remain separate steps.writes
oxygen notetaker notes editSave the markdown note for one meeting session and return the committed note.writes
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.

onboarding

CommandWhat it doesNotes
oxygen onboarding completeComplete the active workspace's onboarding step and record its discovery-source choices. The other choice requires source_other.writes
oxygen onboarding startAnswer onboarding's choice card. own_agent continues to connecting your own agent. copilot opens the Workspace Copilot with the onboarding conversation already started, billed in credits like any…paid writes

orgs

CommandWhat it doesNotes
oxygen orgs billing-linkCover a workspace with another organization's paid plan instead of buying a second subscription.writes
oxygen orgs billing-ownersRead-only, 0 Oxygen credits; does not reconcile credits.
oxygen orgs billing-unlinkReturn a workspace to its own billing owner and credit balance. Its own subscription state, plan and sender_billing model determine which actions need a plan.writes
oxygen orgs createCreate a workspace for the authenticated person's account and begin native company setup. Workspace API keys cannot create personal workspaces.writes
oxygen orgs listList organizations available to the current CLI identity.
oxygen orgs member-roleMove a member between the admin and member workspace roles.writes
oxygen orgs selectAlias for orgs use: this CLI profile only. For ChatGPT, Claude or another connected app, use oxygen connectors set.writes alias
oxygen orgs useSelect the active organization for this CLI profile. Apps connected with OAuth (ChatGPT, Claude…) keep their own default workspace: oxygen connectors.writes

oxygents

CommandWhat it doesNotes
oxygen oxygents activityList an Oxygent's recent work: its runs and the actions taken in its chats, as metadata only (no goals or messages).
oxygen oxygents chatOpen your ongoing private chat with an Oxygent, creating it the first time. Starts no inference.writes
oxygen oxygents createAdd an Oxygent to the workspace, named "New Bot" unless you name it; tell it its job in your chat with it.writes
oxygen oxygents forgetRemove one entry from an Oxygent's team memory.writes
oxygen oxygents getRead one Oxygent's profile and your ongoing private chat with it.
oxygen oxygents groupRead one of your group chats: its name, members and the chat's state.
oxygen oxygents group-createStart a private group chat with 2 to 6 Oxygents (members, by slug), named name. Starts no inference: @mention a member in a message to have it answer.writes
oxygen oxygents group-endEnd a group chat: nobody answers in it again, and its messages stay readable.writes
oxygen oxygents group-messageSend a message in a group chat.paid writes
oxygen oxygents group-readMark a group chat read up to its newest turn, or up to turn_index.writes
oxygen oxygents group-updateRename a group chat, or add or remove Oxygents (by slug); it keeps 2 to 6. A removed member's earlier messages stay.writes
oxygen oxygents groupsList your group chats with Oxygents: name, members and the chat (working or waiting for you, unread, the latest words and who said them). Private to you.
oxygen oxygents handoffFrom your chat with an Oxygent, ask another Oxygent (to) to do something: an unattended run of it, as you, within max_credits.paid writes
oxygen oxygents hideHide an Oxygent from your own sidebar, or show it again with hidden:false. Its chat is kept; only your sidebar changes. Free. The first Oxygent cannot be hidden.writes
oxygen oxygents listList this workspace's Oxygents, the first one (is_default) on top: name, what each does, its look and your chat with each (working or waiting for you, unread, its latest words).
oxygen oxygents memoryList what the team asked an Oxygent to remember. Every chat with it reads this; it is a Knowledge page.
oxygen oxygents messageSend a message in your ongoing private chat with an Oxygent. Starts a turn billed from workspace credits; paid or external actions still need approval.paid writes
oxygen oxygents notesRead what an Oxygent keeps about you: private to you, read only in your own chat with it.
oxygen oxygents notes-setReplace what an Oxygent keeps about you; empty clears it. Private to you.writes
oxygen oxygents pinPin an Oxygent near the top of your own sidebar, or unpin it with pinned:false. Only your sidebar changes. Free.writes
oxygen oxygents readMark your chat with an Oxygent read up to its newest turn, or up to turn_index.writes
oxygen oxygents rememberAdd one thing to an Oxygent's team memory: every chat with it reads it, and the whole workspace can see it. Free.writes
oxygen oxygents routinesList your routines with an Oxygent: schedule, status, next run and last report. Manage one with agent session (pause, resume).
oxygen oxygents taskStart a background task from your chat with an Oxygent: an unattended run of it, as you, within max_credits.paid writes
oxygen oxygents updateEdit an Oxygent's name, what it does (description) or its look (avatar_key, avatar_color). Its instructions, tools and versions are unchanged. Free.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.

pricing

CommandWhat it doesNotes
oxygen pricing customer-credit-pricesRead the customer credit-price catalog, quantity decisions and price provenance used by the Table picker.

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 folder's colour in the Tables sidebar (rail) for everyone in the workspace. --color auto restores the automatic colour. Free.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.
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 mentions searchFind LinkedIn company or person identities for a mention; free, subject to the connected account's read quota.
oxygen publishing posts approveApprove a draft or scheduled post; drafts become scheduled for their saved publish time.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 and revoke its approval. Use publishing posts uncancel to reopen it as an unapproved draft; approve it again before it can publish.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 the sender account it publishes from (id, name, profile URL), 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-noteResolve a review note, or reopen it.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: newest-first revisions with their 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. Changing its text or content, the first comment included, revokes approval on an approved post: approve it again.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 listFind a GTM play for a goal: recipes ranked by relevance to your words; --view summary for a compact index. Filter by 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.

runs

CommandWhat it doesNotes
oxygen runs getGet one run with events.
oxygen runs listList workspace runs, newest first; --table gives one table's full run history.
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 hosted sign-in link to connect a new LinkedIn account (or reconnect with --reconnect).writes
oxygen senders disconnectDisconnect a LinkedIn sender account so it stops sending. Works on an account that is already disconnected. <id> accepts a sender account id, connection id, or Unipile account id.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, when the daily quota resets, and inbox sync…
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, hard maximums, and the caution levels above which LinkedIn restriction risk rises, for an 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 proxy-countryMove a LinkedIn sender's automatic proxy to another country without reconnecting.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, contact tags, and factual or assigned sender.
oxygen sequences contacts rowsRead the full contact grid projection with exact contact-state filter and native synthetic status columns.
oxygen sequences contacts-removeRemove leads from this campaign only: selected source-table rows (--table-row-ids), or every enrolled lead whose source-table row was deleted (--missing-source-rows; deleting a row never removes…paid
oxygen sequences createCreate a draft multichannel sequence from a steps JSON file.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 steps, settings, channels, source table, caps, tags 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. --view compact answers 'when is each lead's next message due' per lead: lead, status, invite…
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 the mailbox pool 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 leads rowsRead the complete enrolled-lead grid projection, including sequence status, step, action and failure columns.
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 previewThe free launch check, as a read: the same preview sequences start returns without --approved.
oxygen sequences push-externalInspect a possible push from an Oxygen table into an existing Smartlead, Instantly, lemlist, or HeyReach campaign.paid writes
oxygen sequences reconcileSafely reconcile one ambiguous LinkedIn invite/message from provider reads. Zero credits. Preview-only unless --approved; never resends.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 renderRender a sequence's copy as the web step editor's Preview does: every A/B variant of each step (email subject/body, LinkedIn note/message/InMail, WhatsApp, comments) for leads of the bound table…
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.
oxygen sequences updateUpdate a sequence.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.

sessions

CommandWhat it doesNotes
oxygen sessions listList your personal CLI sessions across workspaces, including your organizations; OAuth or personal user session required, organization API keys are refused.
oxygen sessions revokeRevoke one personal CLI session; if this client uses it, calls stop until you reconnect with a new session. OAuth or personal user session required; organization API keys are refused.writes

settings

CommandWhat it doesNotes
oxygen settings beta-features getRead this workspace's beta-navigation opt-in.
oxygen settings beta-features setEnable or disable beta navigation for every workspace member; admin or owner only. Approve the preference change. This does not disable routes. 0 credits.writes
oxygen settings pages listPage visibility in your own sidebar navigation menu in this workspace (Settings → Customise; only you see your choices): hidden_pages, then every page (path, name, section, parent) with hidden…
oxygen settings pages setHide or show pages in your own sidebar navigation menu in this workspace (Settings → Customise): --hide Unibox,Publishing, --show Unibox, --show-all.writes

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 registered signal types with intent weight, capture status, and workspace tags. Tag a type with oxygen tags attach signal_type <type> --tags <labels>. Read-only.
oxygen signals search filtersRead the LinkedIn post-search filter catalog and credential status; runs no search.
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 on Oxygen's Managed rail (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.
oxygen skills workspace archiveArchive a workspace skill, retaining files and Knowledge history; 0 credits, no inference/provider calls or new tool/spend/approval authority.writes
oxygen skills workspace createCreate workspace-<name>, visible to this workspace's members; 0 credits, no inference/provider calls or new tool/spend/approval authority.writes
oxygen skills workspace getRead a workspace skill's SKILL.md or one supporting text file, with exact content, revision and the document index. Skills are task guidance; they grant no tool, spend or approval authority.
oxygen skills workspace importImport to workspace members atomically, create-only; ≤50 text files/1 MB; scripts inert; 0 credits, no inference/paid provider calls or new tool/spend/approval authority.writes
oxygen skills workspace listFind skills shared with workspace members by literal substring of name or description; short keywords work best; read-only, 0 credits; next_cursor continues the list.
oxygen skills workspace updateReplace a skill file at its expected revision; read first, stale revisions refuse; 0 credits, no inference/provider calls or new tool/spend/approval authority.writes

sourcing

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

spintax

CommandWhat it doesNotes
oxygen spintax generateGenerate wording or copy variations as spintax: live (default) costs 3 credits and requires approval and a credit ceiling; explicit dry_run is a free preview.paid writes

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 selected lead ids on the org do-not-contact list so the sequencer never enrolls them again. Use --lead or --leads (1-500). 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 selected leads or every identity of selected merged people from the org do-not-contact list.writes
oxygen suppressions remove-addressRemove one blocked email address or 1-500 with --emails immediately; this can restore sending eligibility.writes
oxygen suppressions remove-companyRemove one explicit company suppression or 1-500 exact identities with --identities-json.writes
oxygen suppressions remove-domainRemove one whole-domain email block or 1-500 with --domains immediately; this can restore sending eligibility.writes
oxygen suppressions remove-phoneRemove one phone suppression or 1-500 exact E.164 numbers with --phones.writes

table-actions

CommandWhat it doesNotes
oxygen table-actions resolveRecord a human-verified uncertain Table action outcome without repeating it. Use cells resolve for row/column coordinates.writes

table-ingestions

CommandWhat it doesNotes
oxygen table-ingestions appendAppend generated row chunks with items [{position:0,payload:{rows:[{column:value}]}}].writes
oxygen table-ingestions cancelRequest cancellation for a durable table ingestion run.writes
oxygen table-ingestions create-tool-pageCreate a bounded paged tool-source ingestion.paid writes
oxygen table-ingestions getGet one durable table ingestion run. For provider pages, completed means its bounded work finished; inspect table-ingestions items for the source cursor and exhaustion.
oxygen table-ingestions itemsList ingestion items, including completed pages.
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).

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. For every run of the table, imports included, use runs list --table <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-failedRetry failed Table items or wake guarded Function callbacks from completed results at zero additional credits.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), including workflow audience upserts and own-follower capture.paid writes
oxygen tables changesRead a Table's live runs and queue health.
oxygen tables column-statsRead per-column completion and provider statistics; large Tables use labeled samples.
oxygen tables createCreate a table private to the active workspace. 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. A lead enrolled in a campaign stays enrolled; the response names those campaigns.writes
oxygen tables delete-rowsDelete exact workspace row IDs. For a matching filtered selection, use tables rows remove-selection. Campaign enrollments stay enrolled; the response names those campaigns.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 editRename a Table or move it to a workspace project; returns the saved Table.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 export-csvDownload every row in the exact filtered Table view as streamed CSV.
oxygen tables favoriteStar/unstar exactly one table or folder (saved per-member preference). Free (0 credits). Catalog stars differ.writes
oxygen tables favoritesRead starred Tables/folders (per-member preference; free (0 credits)); next_cursor. Catalog stars differ.
oxygen tables fill-progressRead hosted Table fill progress and any actionable ingestion failure.
oxygen tables followers checkFree order preview.
oxygen tables followers orderPlace the follower order after checking it.paid writes
oxygen tables followers statusRead a fee-budgeted own-key follower order's total fee ceiling, allocated attempts, recorded fees and recovery outcome by its original request ID, including interrupted setup.
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 import-csvImport inline CSV into a hosted Table through its durable ingestion run. Use staged upload for large files.writes
oxygen tables import-fileImport small base64 file bytes through the shared multipart import API; use staged upload for large files.writes
oxygen tables import-previewPreview a staged file's headers, rows and existing-table mapping; writes no imported rows.
oxygen tables import-stagedStart a durable hosted import from this workspace's staged file; choose an existing table or create_name.writes
oxygen tables import-uploadPrepare a scoped storage upload for a hosted Table import; uploads and imports are separate, inspectable steps.writes
oxygen tables ingestion retryRetry failed items in this Table's hosted ingestion run.writes
oxygen tables ingestion stopCancel this Table's active hosted ingestion run.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 link-suggestPlan column links and matching row counts between Tables; creates no relation. Apply with tables link --to (MCP oxygen_tables_link_bulk).
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 filtersRead connected Pipedrive saved filters and custom-field definitions; no people imported.paid
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 queryRead raw Table rows or --format grid cell previews/state with grid.nextCursor, in a JSON envelope.
oxygen tables records importCreate a Table from a Records object or saved view. --dry-run counts the records and lists the columns without creating anything. --refresh sync also arms a schedule (a Workflow you can pause)…paid writes
oxygen tables records statusShow a Records-imported Table's source object and view, the last sync's counts and its schedule. Read-only, 0 credits.
oxygen tables records syncCopy a Records-imported Table's source again now: new records are added, changed cells updated, edited cells kept, and departed records marked in_records=false (they flip back if they return).paid writes
oxygen tables recover-pendingRecover existing BetterContact email or phone requests and inspect terminal verification blockers; no new orders.writes
oxygen tables relateLink two tables (the web's "Link to another table"): creates an empty linked-record column on BOTH tables, so links show and can be removed from either side; matching values are not required.
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. A table whose purge has begun (lifecycle.purgeStartedAt) can no longer be restored.writes
oxygen tables rows editPatch one row's values and return the committed row.writes
oxygen tables rows insertInsert Table row values and return the committed rows plus any existing automatic run or dedupe grant.writes
oxygen tables rows inspectRead one row; field selects column keys and hydrate_relations=1 includes relations. projection=value returns lossless JSON fragments; resume value_cursor with identical table/row/field/path.
oxygen tables rows pageRead a Table row page with the same filter, sort, counts and CRM relationship projection as the grid.
oxygen tables rows range-idsResolve a bounded row range into exact ids, preserving the current filter, search, sort and CRM scope.
oxygen tables rows relationship-setLink one Table row to a target row through a relation (Table or CRM) and return the link.writes
oxygen tables rows relationshipsRead one Table row's linked records, across Table relations and CRM relationships, and the relations it can link through.
oxygen tables rows removeRemove one row from a workspace Table.writes
oxygen tables rows remove-selectionPermanently delete Table rows by a readable filter tree, exact ids or a matching selection. Unsupported scope fields are refused.writes
oxygen tables runs historyRead this Table's action-run history and progress.
oxygen tables runs pausePause one durable Table run without discarding its approved scope.writes
oxygen tables runs previewPreview selected Table action costs and provider availability, including draft column definitions; starts no run.writes
oxygen tables runs provider-summaryRead a Table run's provider outcomes, fulfilled rows, costs and timing.
oxygen tables runs resumeResume a paused Table run within its existing approved scope and credit ceiling.writes
oxygen tables runs retryRetry failed cells; a fresh allowance requires approved, retry_plan_hash and max_additional_credits. Uncertain effects require separate approval.paid writes
oxygen tables runs startStart selected Table actions using the browser's exact row-selection contract. Paid runs require an approved max_credits ceiling.paid writes
oxygen tables runs stopCancel one durable Table run; never repeats external provider effects.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 uploadPreview or import small uploaded CSV, JSON or XLSX bytes through the exact browser import contract. Preview writes no rows.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 attachReplace tags on a Signal type, saved Dashboard, runtime Agent, or saved Ads search. [] clears the item; no provider call is made.writes
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 check-accessRead tool access for this workspace; verify_credential explicitly opts into a provider credential probe.
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 getRead one provider operation's workspace-effective fee with --view pricing --json.
oxygen tools runPreview or run one tool. --mode dry-run quotes the exact inputs at 0 credits without a provider call or data write; --mode live executes after any required approval and credit ceiling.paid writes
oxygen tools searchSearch provider operations and OXYGEN columns for 0 credits; the default list is bounded.
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.
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, and the applicant cannot apply to this program again (you can still invite them). 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.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 the creator's approval of the current post, or the organizer's if the creator delegated it.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 applyJoin or apply to a public program from programs discover or a join link: with join_policy automatic you join at once (joined: true, with your participation); otherwise the brand approves or…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 and icon come from the site. Creators approve their own posts; brands cannot require approval. 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, brief excerpt and join_policy (automatic: you join at once; approval: the brand decides), and whether you…
oxygen ugc programs duplicateCopy a program's settings, shared knowledge 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 one program sponsorship.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 who already joined, as a signed-in master admin: funding is card (seat plus 10,000-credit grant) or credits (one LinkedIn reservation per creator).
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

unibox

CommandWhat it doesNotes
oxygen unibox metadataRead the complete authenticated inbox account, filter and tag metadata, including each sender profile (person) and its id.

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 accountsRead stored WhatsApp account health.
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 hosted sign-in link to connect a new WhatsApp account by scanning a QR in WhatsApp → Linked Devices (or reconnect with --reconnect).writes
oxygen whatsapp disconnectDisconnect a WhatsApp account so it stops sending. Works on an account that is already disconnected. <id> accepts an account id, connection id, or Unipile account id.writes
oxygen whatsapp draftGenerate a WhatsApp reply draft in the workspace voice, or approve a reviewed draft for an existing chat. Draft generation uses managed AI credits.paid writes
oxygen whatsapp drafts listRead stored WhatsApp agent drafts; personal composer drafts stay private. Use summary and exact draft_id/value for long content.
oxygen whatsapp drafts rejectReject an open WhatsApp draft without sending it.writes
oxygen whatsapp drafts updateEdit an open WhatsApp draft before approving or sending it.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.writes
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 and draftRevision when a saved revision is newer than the published one.
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 observed-outputInspect observed output paths and bounded samples from an exact run or recent matching workflow revision.
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 stored workflow runs. Optional windows preserve complete public values without executing a workflow.
oxygen workflows runs eventsRead the exact Workflow run's bounded event history and whether it is still active.
oxygen workflows runs step-statusesRead the current Workflow run status and every step status for immediate execution readback.
oxygen workflows schemaPrint workflow JSON schemas.
oxygen workflows status-setEnable or disable a Workflow and record an optional reason. Enabling paid recurring execution requires standing approval and max_credits; CRM-sync workflows use their paired lifecycle instead.paid writes
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 tool-output-pathsDiscover bounded workspace-observed tool output paths and run/revision provenance, without exposing provider values.
oxygen workflows webhooks deliveriesList inbound workflow webhook deliveries: what arrived, whether it verified, and the run it started.
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