OXYGENOxygen/ Docs
Surfaces

MCP tool reference

Every oxygen_* MCP tool, grouped by the toolset pack that advertises it.

A fresh MCP client sees only the core set — 43 curated tools plus the 2 always-listed oxygen_capabilities_* tools — and must reconnect with ?toolset=<pack> or ?toolset=full to have the rest advertised. The packs are workspace, collaboration, knowledge, crm, tables, enrichment, signals, sequences, deliverability, inbox, publishing, workflows, agents, billing, integrations, admin; several may be combined (?toolset=crm,tables). Profiles shape tools/list only: CallTool always dispatches over the full registry, so a raw MCP client can invoke any exact name it discovered through oxygen_capabilities_search.

Markers in Notes:

MarkerMeaning
coreAdvertised by default, before any ?toolset= parameter.
read-onlyAnnotated readOnlyHint — inspects state without changing it.
staffOXYGEN staff only; excluded from every profile including ?toolset=full, but still dispatchable and still 403 for a customer identity.

553 tools total: 43 core, 5 staff-only, across 16 packs plus the always-listed capabilities pair.

capabilities (always listed)

ToolWhat it doesNotes
oxygen_capabilities_schemaReturns full definitions for up to 10 exact Oxygen MCP tool names.core read-only
oxygen_capabilities_searchRoutes a GTM ask to its OXYGEN layer/primitive and searches the full MCP registry, including tools hidden by core.core read-only

workspace (?toolset=workspace)

ToolWhat it doesNotes
oxygen_feedbackSends feedback or a bug report to the Oxygen team on the user's behalf and creates the canonical Plain Thread (category "feedback").core
oxygen_orgs_billing_linkCovers a workspace with a plan the user already pays for in another Oxygen organization: shared billing, one plan for many workspaces, instead of buying a second subscription and paying twice.core
oxygen_orgs_billing_unlinkStops sharing a plan: restores a workspace to paying for its own credits, reversing oxygen_orgs_billing_link.
oxygen_orgs_listLists OXYGEN organizations available to the current connector session and shows the active selection.read-only
oxygen_orgs_selectSelects which OXYGEN organization this OAuth connector session should use for org-scoped tools.core
oxygen_signup_lead_deliveries_listLists durable signup lead webhook deliveries for the current organization, including retry/error state.read-only
oxygen_signup_lead_delivery_getFetches one durable signup lead webhook delivery by delivery id or event id, including retry/error state.read-only
oxygen_signup_lead_delivery_retryQueues a failed signup lead webhook delivery for retry by delivery id or event id.
oxygen_support_ticket_createCreates the canonical Plain support Thread for the active OXYGEN organization.
oxygen_support_ticket_getFetch one Plain support Thread with its customer-visible message timeline.read-only
oxygen_support_ticket_replyReply to a Plain Chat thread as its original customer.
oxygen_support_tickets_listList Plain support Threads scoped to the active OXYGEN organization.read-only
oxygen_tags_bulkMerges several workspace tags into one, or deletes them outright.
oxygen_tags_getEverything carrying one workspace tag across publishing posts, knowledge pages, sequences, tables, workflows, recipes, inbox conversations, CRM records, mailboxes, sender accounts, sending…read-only
oxygen_tags_listLists every workspace tag with per-kind counts across publishing posts, knowledge pages, sequences, tables, workflows, recipes, inbox conversations, CRM records, mailboxes, sender accounts…read-only
oxygen_tags_renameRenames one workspace tag everywhere it appears (archived rows included). Preview-first: without apply=true, returns per-kind would-change counts and mutates nothing. Idempotent — safe to re-run.
oxygen_tags_setDeclares a workspace tag before anything carries it, or annotates one already in use, with a description, pill color, and pinned flag.
oxygen_whoamiReturns the Oxygen organization and user identity that the current connector session is authorized for.core read-only
oxygen_widgets_listLists the Oxygen MCP App widgets advertised through ui:// resources, including the tools that render them in Claude Desktop.read-only

collaboration (?toolset=collaboration)

ToolWhat it doesNotes
oxygen_approvals_decideAnswers one pending request: approve, reject, or changes_requested.
oxygen_approvals_gate_setTurns the HARD gate on or off — the policy that makes an approval blocking rather than advisory.
oxygen_approvals_inboxWhat this user must answer: approval requests assigned to them and still pending, plus open comment threads that name them — newest first, each with the exact command that answers it.read-only
oxygen_approvals_listApproval requests across the workspace — who asked, who must decide, the decision and its note, and whether the request opens its gate.read-only
oxygen_approvals_requestAsks named workspace members to decide before work goes live — the client's documented go/no-go. launch gates a sequence (approve before a sequence starts sending live); signoff gates a table…
oxygen_comments_addOpens a comment thread on one workspace object, or replies inside an existing one — the review conversation an agency has with its client, kept next to the work instead of in a Google Doc.
oxygen_comments_listEvery internal comment thread on one workspace object, with its replies, authors, mentions, and resolution state.read-only
oxygen_comments_resolveMarks one comment thread resolved, or reopens it with reopen=true.

knowledge (?toolset=knowledge)

ToolWhat it doesNotes
oxygen_blueprints_applyApplies a blueprint as a 0-credit internal workspace write: creates the declared tables, grafts columns, upserts prompt templates, and registers the workflow as disabled.
oxygen_blueprints_archiveArchives a saved blueprint in this workspace by id or slug. Seed blueprints cannot be archived.
oxygen_blueprints_describeReturns a single blueprint envelope: tables it creates, columns and prompt templates it grafts, required integrations and workspace context keys, and the workflow it produces.read-only
oxygen_blueprints_exportBuilds a portable blueprint envelope from an existing workflow in this workspace, packaging its tables, columns, and prompt templates.read-only
oxygen_blueprints_listLists Oxygen blueprints — scaffolding bundles of tables, columns, prompt templates, and a workflow (seeds like account sourcing, waterfalls, ICP scoring, outbound pilots, plus workspace-saved ones).read-only
oxygen_blueprints_marketplace_listBrowse the public Oxygen blueprint marketplace. Returns every blueprint that has been opted into public listing, with category and listing kind filters. Read-only and public — does not require auth.read-only
oxygen_blueprints_preflightChecks a blueprint against this workspace: lists missing integrations, context keys, and collisions.read-only
oxygen_blueprints_publishLists a blueprint on the public Oxygen marketplace at oxygen-agent.com/marketplace.
oxygen_blueprints_savePersists a blueprint envelope into this workspace's blueprint gallery so it can be re-applied, listed, and shared as JSON.
oxygen_blueprints_shareCreates a public share URL for a blueprint (oxygen-agent.com/b/<code>).
oxygen_blueprints_shares_listLists existing public share URLs for blueprints in this workspace.read-only
oxygen_blueprints_tagReplaces a saved blueprint's workspace tags (Tags primitive; see oxygen_tags_list). Whole-set: pass the full list, [] clears. Works on already-saved blueprints.
oxygen_blueprints_unpublishRemoves a blueprint from the public marketplace. The share URL stays valid for visitors who already have it; the blueprint is only hidden from /marketplace.
oxygen_blueprints_unshareRevokes a public blueprint share URL by short code. Existing recipients will get a 404.
oxygen_context_asset_archiveArchives one durable workspace GTM context asset by id and writes a revision snapshot.
oxygen_context_asset_getReads one durable workspace GTM context asset by id.read-only
oxygen_context_asset_searchRelevance-ranked 'second brain' search across durable workspace GTM context assets (playbooks, strategies, positioning, personas, competitor + research notes).read-only
oxygen_context_asset_set_defaultPins a context asset as the canonical default for its type (or unpins with is_default=false).
oxygen_context_asset_upsertCreates or updates a durable workspace GTM context asset (brand, voice, positioning, persona, playbook, ...).
oxygen_context_assets_listLists durable workspace GTM assets such as playbooks, strategies, campaigns, positioning, personas, competitor notes, and research notes.read-only
oxygen_context_profile_getReads durable workspace GTM memory: company, offering, ICP, market, GTM stack, and custom fields.read-only
oxygen_context_profile_updateUpdates durable workspace GTM memory. Provide only sections that changed; section objects shallow-merge with existing profile sections and every update creates a revision snapshot.
oxygen_context_resolveBuilds a task-scoped, revision-pinned workspace context bundle with coverage, missing sections, and matching GTM assets. Use before lead sourcing, qualification, outbound copy, or workflow design.core read-only
oxygen_context_synthesizeRuns one low-cost AI synthesis of workspace evidence into durable knowledge. kind='voice' learns your writing voice from your own SENT WhatsApp/LinkedIn messages and pins it as your canonical…
oxygen_knowledge_agent_getShows the scheduled knowledge synthesis agent config: whether unattended synthesis is enabled (default OFF), its cadence in hours, and the per-day managed-credit cap.read-only
oxygen_knowledge_agent_setConfigures the scheduled knowledge synthesis agent (a config write, not an external write).
oxygen_knowledge_graphReturns the Knowledge Graph as nodes (pages) and edges ([[wikilink]] connections), including unresolved link targets that have no page yet.read-only
oxygen_knowledge_indexThe wiki's table of contents: every page's slug, title, type, one-liner, tags, revision, canonical flag, and link degree, plus page counts by type and status.core read-only
oxygen_knowledge_lintStructural health report for the Knowledge Graph wiki: orphan pages (no inbound links), dead-end pages (no outbound links), unresolved [[wikilink]] targets ranked by inbound references, untagged…
oxygen_knowledge_log_appendAppends a filing to the Knowledge Graph history. Pair this with oxygen_knowledge_page_upsert whenever you file an answer back into the wiki, and reference the page you wrote by slug.core
oxygen_knowledge_log_listReads the append-only Knowledge Graph history (seeds, page writes, pins, filings, notes, and decisions), newest first.read-only
oxygen_knowledge_page_getReads one Knowledge Graph wiki page by slug (preferred) or id: markdown body, tags, structured data, and graph links (outbound [[wikilinks]], backlinks from other pages, unresolved link targets).core read-only
oxygen_knowledge_page_listLists and indexes Knowledge Graph wiki pages, optionally filtered by type, status, or tags.read-only
oxygen_knowledge_page_pinPins (or unpins) an EXISTING Knowledge Graph wiki page as the canonical default for its type — the copy that grounds AI generation for that type (voice, brand, positioning, ...).
oxygen_knowledge_page_revision_getReads one full historical revision snapshot of a Knowledge Graph wiki page — the title, type, status, tags, summary, markdown body, and structured data as they were at that revision.read-only
oxygen_knowledge_page_revisions_listLists the revision history of one Knowledge Graph wiki page, newest first: each entry's revision number, title, type, status, tags, summary, actor, and timestamp (no bodies).read-only
oxygen_knowledge_page_upsertCreates or updates a page in the workspace Knowledge Graph (the LLM-maintained wiki).core
oxygen_knowledge_proposal_decideApproves or rejects an open Knowledge Graph proposal by its id or proposal slug.
oxygen_knowledge_proposals_listLists Knowledge Graph proposals — writes to sensitive canonical pages (voice, brand, positioning) that were captured as draft proposal pages instead of applying, and now await a decision.read-only
oxygen_knowledge_searchRelevance-ranked full-text search across Knowledge Graph wiki pages (title, summary, body); lexical, not semantic.core read-only
oxygen_knowledge_seedEnsures the workspace Knowledge Graph starter pages exist, creating them if missing: a start-here home page, a conventions schema page, and seven draft stub hubs (icp, positioning, offers…
oxygen_prompts_archiveArchives a workspace-authored prompt template. Seeded OXYGEN defaults cannot be archived.
oxygen_prompts_getReads one prompt template by id or slug.read-only
oxygen_prompts_listLists reusable prompt templates layered into AI columns at run time. Includes the seeded outreach-message-default template plus any workspace-authored templates.read-only
oxygen_prompts_upsertCreates or updates a reusable prompt template. AI columns reference templates via promptTemplateSlug.
oxygen_recipes_getReturns one recipe in full: the playbook body plus prerequisites (with check commands), credit posture, benchmarks, and optional scaffold. Read before running; honor every approval gate.read-only
oxygen_recipes_installInstalls a recipe into the workspace wiki as a revisioned, retrieval-grounded playbook page with per-version provenance.
oxygen_recipes_listLists Oxygen recipes — GTM playbooks by business case and journey stage, each with prerequisites, credit posture, and approval gates. Use when the user asks what to do with Oxygen.read-only

crm (?toolset=crm)

ToolWhat it doesNotes
oxygen_crm_activity_logLogs a timeline activity (note, call, meeting, email, stage change, etc.) on a CRM record.
oxygen_crm_automation_auditShows recent CRM automation rule changes (who armed/disarmed which template), newest first. Read-only.read-only
oxygen_crm_automation_rule_setArms or disarms a standing CRM automation template (e.g. crm-lead-stage-router).
oxygen_crm_automation_rules_listLists the standing CRM automation templates and whether each is armed.read-only
oxygen_crm_duplicatesLists ranked duplicate-candidate record PAIRS for one CRM object via two signals: identity-overlap (the same normalized identity value attached to more than one record) and fuzzy-label (records…read-only
oxygen_crm_enrichmentLists or changes which named enrichment presets (LinkedIn profile, ICP fit, revenue estimate) run automatically on new CRM records: list/set/enable/disable.
oxygen_crm_fieldsFills empty CRM fields from stored enrichment payloads. Free: no provider call, credits, external read, or overwrite. Dry-run by default; use live after reviewing the preview.
oxygen_crm_mergeMerges two CRM records of the same object into one.
oxygen_crm_object_add_attributeAdds one attribute (column) to an existing CUSTOM CRM object, optionally promoting it to an identity.
oxygen_crm_object_createCreates or repairs a custom CRM object (its own object-backed table, attributes, and identities) over the same engine the standard objects use.
oxygen_crm_object_deleteDeletes one CUSTOM CRM object and schedules its backing table for 14-day recoverable deletion.
oxygen_crm_object_describeDescribes one configured CRM object, including its table binding, attributes, identities, and relationships.read-only
oxygen_crm_objects_listLists configured CRM objects in the active Oxygen organization, including table bindings and model metadata.read-only
oxygen_crm_pipelineReads the deals object grouped by pipeline stage (discovery → qualified → proposal → negotiation → won/lost), with per-stage deal counts and amount totals. Read-only.read-only
oxygen_crm_record_assertCreates or updates one CRM record by object identity.
oxygen_crm_record_getGets one CRM record aggregate, including row values, identities, and outbound/inbound relationships.read-only
oxygen_crm_record_searchSearches configured CRM records by normalized identity (domain, email, LinkedIn URL, external ID) or record label. Read-only and bounded.read-only
oxygen_crm_record_timelineLists a CRM record's activity timeline (notes, emails, replies, meetings, stage changes, list moves, syncs), newest first, with cursor pagination. Read-only.read-only
oxygen_crm_relationship_defineDefines a NEW relationship (and its relation column) from a CUSTOM CRM object to any object, custom or standard — e.g. projects.client -> companies.
oxygen_crm_relationship_upsertCreates or replaces a CRM relationship edge, such as people.company or companies.team. Defaults to dry_run; pass mode='live' or live=true only after inspecting the preview.
oxygen_crm_rollupRecomputes companies.deal_stage (Open Deal: the most advanced OPEN stage among an account's deals, blank once every deal is won or lost) and the copy stamped on its people.
oxygen_crm_setupCreates or repairs standard CRM object-backed tables and metadata. Defaults to dry_run; pass mode='live' or live=true only after inspecting the plan.
oxygen_crm_signal_recordRecords one inbound GTM intent signal (website_visit / profile_view / post_engager / new_follower) into the CRM by fanning it into the matching standing signal-touch automation, which asserts the…
oxygen_crm_signals_todayLists people to contact today, ranked by their most recent GTM intent signal (website visit > profile view > post reaction > new follower), dropping terminal-stage and do-not-contact contacts.read-only
oxygen_crm_sync_configureConfigures a bidirectional sync between one CRM object (HubSpot contacts|companies, Attio people|companies) and the matching Oxygen object, and writes the standing (provider, object)…
oxygen_crm_sync_disableDisables the scheduled sync for one (provider, object) pair: stops the cron trigger and revokes the standing write permission so no further scheduled cycle can fire or write.
oxygen_crm_sync_enableEnables CONTINUOUS (scheduled) bidirectional sync for one (provider, object) pair: arms a cron trigger and the standing write permission, then runs an immediate first cycle.
oxygen_crm_sync_importImports records FROM a connected CRM (HubSpot read+write, Attio read-only) into the matching Oxygen CRM object.
oxygen_crm_sync_linksLists the external provider-id registry for one CRM record — which HubSpot/Attio external ids are mapped to this Oxygen record (the import/sync provenance).read-only
oxygen_crm_sync_runRuns one bidirectional reconciliation cycle for a configured (provider, object) pair: pulls changed provider records (inbound, most-recent-edit-wins per field) and pushes changed Oxygen rows…
oxygen_crm_sync_statusReads CRM sync status, newest cycle first.read-only
oxygen_crm_tagAdds/removes workspace tags on one CRM record (Tags primitive; see oxygen_tags_list).
oxygen_directory_getReads this organization's agency directory listing: profile fields, publish status (invited/published/delisted), and public/settings deep-links.read-only
oxygen_directory_publishPublishes this organization's listing to the public agency directory (a public web page — confirm with the user first).
oxygen_directory_unpublishRemoves this organization's listing from the public agency directory. The draft stays editable and can be re-published later.
oxygen_directory_updateUpdates this organization's agency directory profile (name, tagline, plain-text description, logo URL, website, company LinkedIn, founding team with per-founder LinkedIn URLs, booking link…
oxygen_projects_createCreates new projects.
oxygen_projects_deleteDeletes empty non-General projects.
oxygen_projects_listLists table projects.read-only
oxygen_projects_renameChanges a project name.
oxygen_projects_tagSets tags; [] clears.

tables (?toolset=tables)

ToolWhat it doesNotes
oxygen_action_column_add_providerAdds a provider action picker column: lists the provider's catalog operations as setup metadata; runs nothing until one becomes a tool column.
oxygen_callables_manageList, describe, publish, bind, enable, or disable typed row-in/row-out table functions. Publish only changes metadata; run a binding with oxygen_columns_run.
oxygen_cli_file_import_preparePrepares an authenticated Oxygen CLI command to import a local CSV, JSON, JSONL, or XLSX file without sending file rows through the MCP client. Use whenever the user has a local file path.core
oxygen_columns_addAdds one column. kind=research + definition.prompt searches the web per row and writes a cited answer — the default for any 'look this up' question. prompt_key+input_mapping makes an AI column…core
oxygen_columns_archiveArchives a column. Cell values are retained but hidden from queries.
oxygen_columns_deleteDeletes a column: archives now, frees the key, physically purges after a window (default 14d; restorable via oxygen_columns_restore until then). now=true purges immediately and permanently: first…
oxygen_columns_depsRead-only column dependency graph: formula/input-mapping/run-condition/waterfall edges, transitive up+downstream, cycles — what breaks if a column changes.read-only
oxygen_columns_materializeCopy JSON fields into columns; no provider calls. mappings reuse targets. preset=work_email writes email, email_provider, email_status, and email_enriched_at—not work_email.
oxygen_columns_renameRenames a column key (and optionally its label).
oxygen_columns_reorderMoves a column to a new 0-based position (0 first; beyond last = end). Values, definitions, and run history are unchanged. dry_run previews.
oxygen_columns_rerun_cellRe-run one AI cell. Preview with dry_run=true, then pass max_credits; from_review_id threads prior feedback.
oxygen_columns_restoreRestores an archived or delete-scheduled column: cancels the purge and renames it back to its original key (usable as the ref).
oxygen_columns_retypeConverts a manual text column to a stronger type (timestamptz/numeric/boolean) in one transaction; a non-convertible value rejects it. dry_run previews.
oxygen_columns_runRuns a tool/AI/formula/enrichment/bind/lookup column for selected rows.core
oxygen_columns_updateUpdates a column's label, semantic type, or definition (the definition shallow merges; arrays replaced).
oxygen_formulas_listLists the formula function library (signatures, examples) and operator grammar — the language of formula columns and per-column run conditions (only-run-if).read-only
oxygen_formulas_validateValidates a formula against a table and previews sample-row output — free, no writes.read-only
oxygen_reviews_decideAccept or reject a review. Rejected highlights propose a playbook bullet for approval. auto_rerun re-quotes and caps its AI cell before deciding.
oxygen_reviews_listLists AI-generated outreach message reviews. Reviews are created automatically when an AI column with reviewRequired=true completes.read-only
oxygen_reviews_nextReturns the oldest pending message review across the workspace, optionally scoped to a table. Use this to drive a one-at-a-time human review queue.read-only
oxygen_rows_deleteDeletes one row (row_id) or a batch (row_ids). Destructive, not undoable — confirm first. Returns deleted count, missing ids, web_url.
oxygen_rows_historyReturns the cell-change provenance of one row across all its columns — who/what wrote each value (api/cli/tool/workflow/system, with run ids and statuses), old → new values, and timestamps — plus…read-only
oxygen_rows_insertAppends new rows without dedup (oxygen_rows_upsert dedupes). Returns the row or a summary + web_url. Keep <=500 rows; local files use oxygen_cli_file_import_prepare.
oxygen_rows_updateUpdates the values of a single row by id.core
oxygen_rows_upsertInserts or updates a batch, deduplicating on the key column. dry_run=true first on messy lists; local files use oxygen_cli_file_import_prepare.core
oxygen_table_ingestions_append_itemsAppends small generated row chunks to an existing durable table ingestion. Do not use this to stream local CSV/Excel files through the MCP client; use oxygen tables import --file ... --background.
oxygen_table_ingestions_cancelRequests cancellation for a queued or running durable table ingestion.
oxygen_table_ingestions_createCreates a durable background ingestion run for generated row chunks or paged source data.
oxygen_table_ingestions_getReturns a durable table ingestion run with status, item counts, row counts, and the Oxygen web deep-link.read-only
oxygen_table_ingestions_itemsLists chunks/items for a durable table ingestion, optionally filtered by status. Use to inspect failed import chunks.read-only
oxygen_table_ingestions_retry_failedRequeues failed items for a durable table ingestion after you have inspected and fixed the cause.
oxygen_table_ingestions_waitPolls a durable table ingestion until it reaches a terminal status or the timeout expires.read-only
oxygen_table_runs_cancelCancels an in-progress table action run. Accepts the run id or its parent workspace run id.
oxygen_table_runs_createCreates a background table action run over selected rows (tool/AI/enrichment columns). Paid: approved=true + max_credits (a ceiling) after a dry run.
oxygen_table_runs_pausePauses a run so item jobs start no new provider calls until resumed.
oxygen_table_runs_resumeResumes a paused table action run and re-enqueues pending item jobs.
oxygen_table_runs_retry_failedRetries failed items in a run.
oxygen_table_webhook_deliveriesLists direct table webhook deliveries and their auto-run enqueue status for the active organization.read-only
oxygen_table_webhook_getReturns one direct table webhook endpoint by its endpoint id, including mode, auth mode, event field paths, standing auto-run configuration, the webhook URL, and the table deep-link.read-only
oxygen_table_webhooks_listLists direct table webhook endpoints for the active Oxygen organization, optionally filtered by table or status.read-only
oxygen_tables_archiveArchives a table. Rows and columns are retained but the table is hidden.
oxygen_tables_auto_dedupeManage a table's standing auto-dedupe: get/set/disable.
oxygen_tables_auto_runManage a table's standing auto-run (columns auto-queued for rows from a subscribed import/insert/upsert): get/set/disable. Default off; max_credits caps each batch.
oxygen_tables_cell_historyReturns the cell-change provenance of one cell (table + row + column) — every recorded write with old → new value, the writing source (api/cli/tool/workflow/system) and run status, and timestamps.read-only
oxygen_tables_cell_inspectReturns one cell's final value plus the full provider attempt timeline, recent write history, and a deep-link into the web app.read-only
oxygen_tables_createCreates a workspace table with the given columns. Mutates tenant schema.core
oxygen_tables_csv_import_openReturns the Oxygen tables page where the Import file dialog accepts local CSV/XLSX uploads.read-only
oxygen_tables_dedupeCollapse duplicate rows by normalized (email/domain/linkedin) or fuzzy_label keys. dry_run previews groups; dry_run=false + approved=true deletes losers (kept in row history).
oxygen_tables_dedupe_cross_checkRead-only: report rows in one table whose normalized key value already exists in another table (e.g. leads already in the CRM). No fuzzy matching.read-only
oxygen_tables_deleteDeletes a table: archives now, frees the slug, physically purges after a window (default 14d; restorable via oxygen_tables_restore until then). now=true purges immediately and permanently: first…
oxygen_tables_describeReturns the columns, semantic types, and current configuration of one Oxygen table.core read-only
oxygen_tables_duplicateDuplicates a table (columns, definitions, row values); include_rows=false makes a schema-only copy. Response carries a deep-link.
oxygen_tables_import_csvImports CSV content into Oxygen.core
oxygen_tables_linkLinks one row to a row in the related table through a relation defined with oxygen_tables_relate.
oxygen_tables_link_bulkBulk relation fill: Oxygen measures which column joins the two tables, infers direction and cardinality, and links every matching row in one background run.
oxygen_tables_listLists workspace tables in the active Oxygen organization, optionally filtered by project or workspace tag.core read-only
oxygen_tables_moveMoves a table to another project. Rows, columns, runs, and provenance are preserved. Response carries a deep-link.
oxygen_tables_previewCompact table preview for Claude Desktop widgets: projected rows, column metadata, row-count/fill-rate stats, and an Oxygen deep-link. Use when the user asks to view, inspect, or visualize a table.read-only
oxygen_tables_promoteWrites bound rows' columns onto their CRM records. Truth write: dry_run previews; approved=true writes.
oxygen_tables_queryReturns raw rows from an Oxygen table: projection, filter+sort, limit/cursor pagination, or a single row by id.core read-only
oxygen_tables_relateRelates two workspace tables: defines a Tables-owned relation whose slug becomes a linked-record column on the source.
oxygen_tables_relationsLists, previews edits to, updates, or archives native Tables-owned relation definitions. action='list' is read-only. update can change display_name, inverse_display_name, or source-perspective…
oxygen_tables_renameRenames an existing workspace table.
oxygen_tables_restoreRestores an archived or delete-scheduled table: cancels the purge and reclaims the original slug (usable as the ref).
oxygen_tables_scheduleScheduled column refresh (create/list/remove): a cron workflow re-runs one column — empty/failed cells only unless force.
oxygen_tables_sendCopies rows from one table into another as a durable ingestion run (free).
oxygen_tables_tagReplaces a table's workspace tags (whole-set; [] clears). Tags link the table to sequences, wiki pages, and workflows carrying the same tag — browse with oxygen_tags_get.
oxygen_tables_tidy_suggestRead-only tidy analysis of one Oxygen table.read-only
oxygen_tables_unlinkUnlinks one exact source/target row pair by archiving its edge.
oxygen_tables_views_createCreates a saved view on a table.
oxygen_tables_views_deleteDeletes a saved view by id. The table's rows and columns are untouched.
oxygen_tables_views_getReturns a single saved view (name, type, default flag, full config) by id.read-only
oxygen_tables_views_listLists the saved views for an Oxygen table (name, type, default flag, config), ordered by position. Use before creating a view to avoid duplicates, or to find a view id to update or delete.read-only
oxygen_tables_views_updateUpdates a saved view.

enrichment (?toolset=enrichment)

ToolWhat it doesNotes
oxygen_adyntel_ads_searchDiscovers the ads a company is running (Meta, Google, LinkedIn, TikTok) via Adyntel and renders them in an ad-results widget.
oxygen_companies_search_planThe one canonical company-search entrypoint.
oxygen_companies_search_runDry-runs or queues a live table ingestion run for one company-search provider route.
oxygen_company_enrichment_previewInspects an existing company/account table and plans a fill-missing company enrichment waterfall without provider calls or credit usage.read-only
oxygen_company_enrichment_runQueues a live fill-missing company enrichment waterfall over existing table rows.
oxygen_enrich_column_previewPreflights an enrichment intent without provider calls or credits.read-only
oxygen_enrich_column_runCreates or reuses an enrichment column and queues a paid background table run.
oxygen_enrichment_apply_default_cascadePatches an existing enrichment column to the server-side default provider cascade for its stored intent. Use dry_run=true first to inspect the normalized would-be definition without writing.
oxygen_find_companyEnrich a company via a multi-provider waterfall, given domain, name, or linkedin_url.core
oxygen_find_emailFind a person's work email via a multi-provider waterfall (BlitzAPI, Prospeo, RocketReach, Hunter, ContactOut, and more), advancing provider-by-provider until one returns a result.core
oxygen_find_linkedinResolve a person's LinkedIn profile URL from full_name + company_domain (or email), with identity validation against the source name+company to avoid common-name false positives.
oxygen_find_phoneFind a person's mobile phone via a multi-provider waterfall, advancing on empty/error.core
oxygen_lead_sourcing_auditAudits a sourced lead table against a LeadSourcingSpec or prompt: title fit, geography fit, account qualification, hard-exclude leakage, contact coverage, duplicates, and enrichment waste.read-only
oxygen_lead_sourcing_planCompiles a natural-language ICP into an account-first lead sourcing plan with explicit filters, segment confidence, risks, attrition estimate, dedupe policy, enrichment gates, and the active…
oxygen_people_search_planThe one canonical people/contact-search entrypoint.
oxygen_people_search_runDry-runs or queues a live table ingestion run for one people-search provider route.
oxygen_search_planPlans an agent-operable Oxygen search/scrape route for signal, web, known-URL scrape, local-business, and source-specific searches.core read-only
oxygen_search_runPreviews or enqueues a durable table-backed search/scrape job from an Oxygen search plan for signal, web, scrape, and local-business routes.
oxygen_search_runs_cancelRequests cancellation for a queued or running search/scrape run.
oxygen_search_runs_getGets one durable search/scrape run by id.read-only
oxygen_search_runs_retry_failedRequeues failed items for a durable search/scrape run.
oxygen_search_runs_waitPolls a durable search/scrape run until terminal status or timeout.read-only
oxygen_sourcing_planClassifies account, people, profile, or enrichment-handoff sourcing requests into an Oxygen strategy with runnable provider routes, cost posture, approval gates, and next commands.core
oxygen_tools_check_accessChecks whether the active Oxygen organization can run a catalog tool.read-only
oxygen_tools_enums_getReturns the accepted values for one provider enum catalog (e.g. blitzapi.industry, blitzapi.employee_range).read-only
oxygen_tools_enums_listLists provider enum catalogs (e.g. blitzapi industry, employee_range, country_code). Call before drafting payloads with enumRef fields so values match the provider contract.read-only
oxygen_tools_getFull descriptor for one Oxygen tool by id: input/output schema, provider metadata, and an enum_catalogs[] hint for any native_provider.fields[].enumRef.core read-only
oxygen_tools_plan_table_batchCreates or reuses a table for pasted records, upserts them, creates a native tool column if needed, and starts a durable table action run.
oxygen_tools_run_dryValidates a tool invocation without calling the upstream provider or spending credits. Returns the resolved input, expected output schema, and credit estimate.core read-only
oxygen_tools_run_liveRuns an Oxygen catalog tool against the live provider — a real upstream call that consumes credits.core
oxygen_tools_searchSearches provider operations (enrichment, AI, scrapers) by intent.core read-only
oxygen_verify_emailVerify emails you already have.

signals (?toolset=signals)

ToolWhat it doesNotes
oxygen_dashboard_summaryReads the stitched GTM funnel for the Dashboards Command Center: outbound touches sent → replies → positive replies (email) → meetings booked → deals created → won, with directional conversion…read-only
oxygen_feeds_bindBinds a pull feed to an existing table: freezes one provider request, then optionally arms a cadence so the table keeps refilling itself.
oxygen_feeds_getReturns one table feed with its full state: bound provider route and whether that provider can pull incrementally, cadence and next run, per-cycle ceilings, cursor counters, last cycle, last…read-only
oxygen_feeds_listLists table feeds for the active organization: cadence and next run, run state, per-cycle spend ceilings, cursor counters (rows written, pages pulled, credits spent), and the last error.read-only
oxygen_feeds_pausePauses a feed. The cron stays armed but every cycle it fires is refused, so nothing is fetched and nothing is billed until the feed is resumed — resuming therefore needs no re-approval. Free.
oxygen_feeds_resumeResumes a feed: re-activates it AND clears an error/exhausted stop, so the next cron tick can claim it again.
oxygen_feeds_runRuns one sync cycle now, through the feed's own cron workflow — one harvest path, one lease, one cursor.
oxygen_feeds_unbindDeletes a feed: removes its cron FIRST, then the feed row, so no orphan cron can keep spending at a feed that no longer exists. The table and every row the feed already wrote are kept. Free.
oxygen_linkedin_ingestion_statusOne unified view of every 'read LinkedIn into the workspace' background drip — connections import, post-engagement harvest, and message-history backfill — across all connected accounts: each job's…read-only
oxygen_signals_leads_todayLists people to contact today, ranked by their most recent GTM intent signal (website visit > profile view > post reaction > new follower), dropping terminal-stage and do-not-contact contacts.read-only
oxygen_signals_listLists the raw GTM signal-event feed newest-first — the typed intent events (website_visit / profile_view / post_reaction / new_follower) resolved onto the people they attached to.read-only
oxygen_signals_recordRecords one inbound GTM intent signal (website_visit / profile_view / post_engager / new_follower) into the stream by fanning it into the matching standing signal-touch automation, which asserts…
oxygen_signals_registryShows the signal-type registry: each registered type with its human label, family, intent weight, and capture status.read-only
oxygen_signals_search_planCompiles a signal-sourcing request into ordered provider routes without calling a provider: the registry chain, per-route applied/dropped filters, credit estimate, table blueprint, and whether…
oxygen_signals_search_runReturns a dry-run request or queues a live table ingestion run for one signal-search route, creating the table from the plan blueprint when none is passed.

sequences (?toolset=sequences)

ToolWhat it doesNotes
oxygen_sequences_analyticsShows sequencer analytics for the active Oxygen/Clerk org, including email performance attributed to each sending mailbox/domain (sent, replies, reply types, bounces, failures, rates) and explicit…read-only
oxygen_sequences_createCreates a DRAFT multichannel sequence. definition may combine LinkedIn, native/delegated email, WhatsApp, local call_task, and provider-neutral crm_task steps (HubSpot first), plus…
oxygen_sequences_deletePERMANENTLY deletes a sequence and everything it owns — enrollments, actions, sender links, schedules — not a reversible archive.
oxygen_sequences_draftDrafts an email outreach sequence with AI, grounded in the workspace Knowledge Graph (voice, positioning, campaign learnings) with cited provenance.
oxygen_sequences_enrollEnrolls leads into a sequence (0 credits; nothing sends until start).core
oxygen_sequences_enrollmentsLists per-lead enrollment state with current step and the latest action's status, error, attempt/max-attempt count, ready/retry time, and dispatch time.read-only
oxygen_sequences_espESP breakdown of a sequence's email scope: the provider each enrolled lead's mail routes through (google/microsoft, named gateways like Proofpoint resolved behind via SPF, and non-matchable…read-only
oxygen_sequences_eventsPer-sequence activity feed: sends, failures, skips, opens/clicks (bot-filtered unless include_bots), replies, bounces, unsubscribes, and positive reply-status — newest first.read-only
oxygen_sequences_getGets a sequence's full definition, senders, status, and credit usage.read-only
oxygen_sequences_hubspot_list_importPreview or arm recurring HubSpot-list enrollment. DNC completes first; draft/paused recipients stay pending. Live requires approval and the dry-run fingerprint.
oxygen_sequences_hubspot_listsList saved HubSpot contact and company segments plus readable identity fields without reading members or writing. Pass separate lead/contact-DNC/company-DNC ids to the import tool.read-only
oxygen_sequences_hubspot_sync_configurePreview or save the workspace-wide HubSpot activity and lead-status projection for every Sequence. Dry-run first; live enable requires approval and installs two inspectable Workflows.
oxygen_sequences_hubspot_sync_getReads the workspace-wide HubSpot projection across every Sequence.read-only
oxygen_sequences_listLists multichannel outreach sequences with status (draft/active/paused/archived), workspace tags, and credit usage. include_stats=true joins each row's LIFETIME funnel (enrolled, sent, replies…core read-only
oxygen_sequences_reconcileChecks whether one failed/canceled live LinkedIn invite, message, or InMail actually landed at the provider.
oxygen_sequences_retry_deferredPreview or re-ready pending LinkedIn actions deferred outside working hours.
oxygen_sequences_sendStarts a net-new LinkedIn conversation through hosted Sequences; reply to an existing thread with oxygen_inbox_send.
oxygen_sequences_set_statusTransitions an active/paused sequence's operational status: 'paused' pauses dispatch (resumable), 'active' resumes a paused sequence, 'archived' permanently archives it (TERMINAL — cannot be…
oxygen_sequences_signalRecords an external GTM signal onto a running sequence's enrollment(s) to drive signal-triggered branch/wait_for_signal control.
oxygen_sequences_startStarts a sequence and can send REAL LinkedIn/email/WhatsApp actions or create CRM tasks.core
oxygen_sequences_statsShows a sequence's funnel: enrolled → invited → connected → replied, with acceptance and reply rates.read-only
oxygen_sequences_updateUpdates a sequence.
oxygen_sequences_variantsShows a sequence's per-step / per-variant A/B scoreboard plus fact-grade email attribution by sending mailbox and sending domain: sent, replies, positive replies, reply-type counts, bounces…read-only
oxygen_sequences_variants_actionMutates a sequence's A/B auto-winner state — the reversible control behind oxygen_sequences_variants. action='auto_optimize' runs the auto-winner now (pauses losing variants once every variant…
oxygen_sequences_workflows_configureCompatibility surface that previews or saves one old sequencer preset.
oxygen_sequences_workflows_listCompatibility surface for the two old sequencer presets: internal CRM lead-stage routing and positive-reply Microsoft Teams notifications.read-only
oxygen_suppressions_addAdds (or refreshes) a lead provider id on the org do-not-contact list so the sequencer enroller never enrolls/contacts that person again.
oxygen_suppressions_addresses_listLists the org's blocked email ADDRESSES (bounces, unsubscribes, imports land here), newest first. Filter by reason or an address substring. Rows carry a CRM person name when one matches. 0 credits.read-only
oxygen_suppressions_companies_listLists explicit company-domain or LinkedIn-company DNC identities. These stop every Sequence channel and are never inferred from a contact email. 0 credits.read-only
oxygen_suppressions_company_removeDeliberately re-enables one explicit company-domain or LinkedIn-company identity. 0 credits.
oxygen_suppressions_hubspot_listsLists HubSpot contact/company saved lists and readable property schemas for DNC mapping. Reads definitions only: no memberships, writes, enrollment, or outbound action. 0 credits.read-only
oxygen_suppressions_hubspot_syncPreview or arm a bounded, additive HubSpot contact/company list → shared Oxygen DNC Workflow. Live requires approval and the exact dry-run fingerprint. Never enrolls or sends.
oxygen_suppressions_importSource-neutral DNC import.
oxygen_suppressions_listLists the org do-not-contact list (the people/multichannel suppression set the sequencer enroller always skips), newest first.read-only
oxygen_suppressions_phone_removeDeliberately re-enables one strict E.164 phone identity. List removal is never automatic. 0 credits.
oxygen_suppressions_phones_listLists strict E.164 phone suppressions used by call, WhatsApp, and Sequence safety gates. 0 credits.read-only
oxygen_suppressions_removeRemoves a lead provider id from the org do-not-contact list (re-enables contact). Consumes 0 credits.

deliverability (?toolset=deliverability)

ToolWhat it doesNotes
oxygen_domains_addBYOK CLOUDFLARE ONLY.
oxygen_domains_adoptSTAFF-ONLY LEGACY RECOVERY.staff
oxygen_domains_archiveArchives (or unarchives) a cached domain — an Oxygen-side declutter flag only.
oxygen_domains_buyBYOK CLOUDFLARE ONLY.
oxygen_domains_checkChecks availability + pricing for 1-20 exact domains via Cloudflare Registrar: registrable, registration + renewal cost, tier, and a reason when not registrable.read-only
oxygen_domains_dnsLive read-only DNS health check for one domain's Cloudflare zone (0 credits): evaluates the cold-email posture (SPF, DKIM, DMARC, MX presence, proxied mail CNAMEs) PLUS a DNS-over-HTTPS…
oxygen_domains_dns_applyWrites the planned cold-email DNS records (SPF, DKIM, DMARC, MX, optional tracking) into the domain's Cloudflare zone.
oxygen_domains_dns_planFREE preview of the cold-email DNS records a domain SHOULD hold for its mailbox provider — apex SPF, provider MX, DMARC, per-provider DKIM, and an optional tracking CNAME — diffed against the…
oxygen_domains_forwarding_getReads where an Oxygen-managed domain's WEB root forwards visitors (not mail — MX/SPF/DKIM/DMARC untouched).read-only
oxygen_domains_forwarding_setPoints an Oxygen-managed domain's WEB root at a URL, or clears it (forwarding_url: "").
oxygen_domains_getFetches one domain's full detail. rail=cloudflare (cached zone): zone state, age with provenance (registrar/RDAP), mailboxes with warmup state, sending volume (7d/30d), reply rate (30d), DNS…read-only
oxygen_domains_listLists the org's cold-email domains from the Cloudflare-synced cache (zero Cloudflare calls): zone status, domain age with provenance (registrar/RDAP), mailbox + warmup rollup, sending volume…read-only
oxygen_domains_postmaster_onboardRegisters a sending domain with Google Postmaster Tools and auto-publishes the DNS verification google-site-verification TXT into its Cloudflare zone (or returns the record for manual DNS when the…
oxygen_domains_postmaster_statusReturns the Google Postmaster Tools onboarding and verification state for a domain — whether it is registered, the DNS verification TXT status, and whether reputation data is available yet.read-only
oxygen_domains_registration_statusReturns the purchase-ledger status for one domain registration (submitting, in_progress, succeeded, failed, action_required, or blocked, with failure_reason when failed).
oxygen_domains_registrations_listLists the org's domain purchase ledger (newest first) from the tenant cache — every registration attempt with status, price snapshot, and failure_reason — plus count and open_count (non-terminal…read-only
oxygen_domains_searchSearches Cloudflare Registrar for purchasable domain suggestions matching a query, returning per-suggestion registrability, tier, registration + renewal pricing, and reasons.read-only
oxygen_domains_syncRefreshes the domain cache from the connected Cloudflare account (BYOK — read-only against Cloudflare, 0 Oxygen credits): zone pages, registrar metadata, RDAP age backfill, and DNS health checks.
oxygen_domains_tagReplaces a sending domain's workspace tags (Tags primitive; see oxygen_tags_list). Whole-set: pass the full list, [] clears. Survives domain syncs.
oxygen_domains_tracking_setupProvisions the open/click tracking CNAME for a domain on its Cloudflare zone (the cluster-A DNS writer): <track-host> CNAME <tracking target>, DNS-only.
oxygen_domains_tracking_statusReturns the open/click tracking status for a domain: whether a tracking CNAME is configured, the tracking host, its verification status (pending | verified | failed | not_configured), the CNAME…read-only
oxygen_egress_assignAssigns this org's sending mailboxes to inventoried egress IPs — the durable pinning pool mode dispatches through.
oxygen_egress_dedicated_cancelCancels the dedicated sending-IP add-on AT THE END of the 30-day period already paid for.
oxygen_egress_dedicated_requestDedicated sending-IP add-on (15,000 credits per 30-day period — $15 at face value, in Oxygen credits).
oxygen_egress_ipsLists the sending IPs this org may send through: this environment's shared pool plus any IP dedicated to the org, with endpoint, tier, and status (staff also see vendor + credential-family name).read-only
oxygen_egress_registerSTAFF ONLY: registers ONE manually-purchased sending IP into this deployment environment's inventory (dev API -> dev pool, prod -> prod).staff
oxygen_egress_rotateRotates ONE mailbox's sending IP: retires the current (burned) IP and re-homes the mailbox to a fresh pool IP.
oxygen_egress_statusShows this org's mailbox-egress posture: pool mode on/off, open mailbox->IP assignments, egress-IP health counts, and whether the dedicated-IP add-on is active. Read-only, 0 credits.read-only
oxygen_email_sendPreviews or sends ONE ad-hoc email without a Sequence.
oxygen_mailboxes_compatibilityRead-only origin/platform/auth verdicts for native send, OXYGEN Warm-up, and EmailGuard. catalog_only returns the import contract and provider matrix without workspace rows.read-only
oxygen_mailboxes_connect_oauthPreview/approve mailbox authorization. vendor=oxygen accepts exact imported or manual mailbox addresses, with no domain or directory discovery.
oxygen_mailboxes_connect_oauth_statusPolls oxygen_mailboxes_connect_oauth. Numeric ids are Zapmail, UUIDs InboxKit, and oxygen_<uuid> direct consent. Connected requires the actual mailbox token.read-only
oxygen_mailboxes_delegation_statusGoogle sending-domain delegation only, not Microsoft OAuth or a credential-file handoff to OXYGEN Warm-up/EmailGuard.read-only
oxygen_mailboxes_deletePreview/approve exact mailbox removal at 0 credits.
oxygen_mailboxes_emailguard_connectPreview every mailbox origin and approve EmailGuard monitoring for credential-capable Google Workspace mailboxes (managed, Zapmail, or a compatible encrypted external import).
oxygen_mailboxes_emailguard_disconnectPreview/approve owned EmailGuard account deletion with plan_hash. Billing stops only after confirmed remote deletion.
oxygen_mailboxes_getGets one sender. Fresh approved managed Google/Microsoft/Azure orders activate warmup automatically after provisioning: no mailbox credentials or standalone approval. Read-only.read-only
oxygen_mailboxes_healthReturns the org's sending pool rolled up by external deliverability reputation: counts by band (healthy/degraded/critical/unknown), the worst fleet band, per-mailbox reputation, which health…read-only
oxygen_mailboxes_importImports non-secret identities inline or from Zapmail. source_provider records provenance.
oxygen_mailboxes_listLists senders. Fresh approved managed Google/Microsoft/Azure orders activate warmup automatically after provisioning: no mailbox credentials or standalone approval. Optional filters; read-only.read-only
oxygen_mailboxes_oauth_healthRolls up every Google/Microsoft sending mailbox with no usable individual OAuth or verified delegation/application access, minus Google domains already covered by delegation.read-only
oxygen_mailboxes_set_capSets ONE sending mailbox's daily send cap (sends per day) — throttle a problem inbox or raise a newly warmed one without pausing it or touching the rest of the pool. daily_cap must be a positive…
oxygen_mailboxes_set_rampSets one mailbox's real-send age ramp. Provide all four knobs, or clear:true for defaults. Free tenant write; oxygen_mailboxes_get shows the effective cap.
oxygen_mailboxes_set_statusSets a sending mailbox's status.
oxygen_mailboxes_tagReplaces a sending mailbox's workspace tags (Tags primitive; see oxygen_tags_list). Whole-set: pass the full list, [] clears. Pools identities under a campaign tag.
oxygen_mailboxes_updateUpdates ONE sending mailbox's rich-content profile: the From display name ("Ada from Acme", stamped on the From header) and/or the HTML signature appended to its native sends.
oxygen_mailboxes_warmup_actionPauses, resumes, or disables (unenrolls) warmup at each mailbox's OWN recorded rail — OXYGEN Warm-up, or TrulyInbox for rows enrolled before it was retired (teardown stays reachable).
oxygen_mailboxes_warmup_configOverrides one mailbox's warmup-email ramp (not its real-send ramp).
oxygen_mailboxes_warmup_enableSTANDALONE path for eligible existing mailboxes outside an approved managed order.
oxygen_mailboxes_warmup_microsoftNON-INBOXKIT FALLBACK ONLY: fresh approved managed InboxKit Google/Microsoft/Azure orders whose quote included warmup export automatically after provisioning; uncovered InboxKit uses standalone…
oxygen_mailboxes_warmup_statusSyncs warmup analytics into the pool from each mailbox's recorded rail (OXYGEN Warm-up for current enrollments, TrulyInbox for retired enrollments; 0 credits and read-only at each provider).
oxygen_managed_inboxes_add_mailboxesAdds mailboxes to an ALREADY-owned managed domain.
oxygen_managed_inboxes_cancelCancels a whitelabel inbox ORDER by domain: the inboxes AND the per-inbox add-ons billing on them (warm-up, placement), which keep charging if not stopped with it.
oxygen_managed_inboxes_getGets one managed subscription; poll after subscribe/expansion until active.read-only
oxygen_managed_inboxes_listLists subscriptions plus orders, including live inboxes, orders[].addons, and per-order/workspace total_monthly_credits; quote ORDER totals because subscription lines omit add-ons.read-only
oxygen_managed_inboxes_subscribeBuys managed inboxes on a NEW domain, billed monthly in OXYGEN CREDITS.
oxygen_managed_inboxes_verifyChecks that OXYGEN, STRIPE, and the VENDOR agree about what this org is buying: what the customer asked for, what Stripe charges, what the vendor runs and bills US for.read-only
oxygen_placement_tests_getReturns one DIRECTIONAL inbox-placement test by id — status, health provider, seed addresses, per-provider results, and score.read-only
oxygen_placement_tests_listLists recent DIRECTIONAL inbox-placement tests with status, health provider (emailguard/zapmail), billing mode, seed set, score, and credits used. Read-only.read-only
oxygen_placement_tests_runCreates a DIRECTIONAL inbox-placement (spam) test for one sending mailbox via EmailGuard or Zapmail.
oxygen_placement_tests_sendSecond, separate external-write gate for an EmailGuard placement test.
oxygen_senders_checkpoint_resendAsks LinkedIn (via Unipile) to resend the security checkpoint notification (2FA / OTP / in-app validation) so the member can read a fresh code, then submit it with oxygen_senders_checkpoint_solve.
oxygen_senders_checkpoint_solveSubmits the LinkedIn checkpoint code (2FA / OTP / in-app validation) Unipile is waiting on to finish authentication and bring a stuck sender back to active.
oxygen_senders_connectReturns shareable Unipile hosted-auth URL(s) for connecting LinkedIn accounts.
oxygen_senders_disconnectDisconnects a LinkedIn sender account so it stops sending and reading immediately.
oxygen_senders_getGets one LinkedIn sender account with full limits, daily-reset timezone, and usage. id accepts sender account id, connection id, or Unipile account id.read-only
oxygen_senders_healthOne-call health snapshot for a LinkedIn sender: tenant + connection status, the latest account error reason, any open security checkpoint, today's usage, the warm-up ramp, and when the daily quota…read-only
oxygen_senders_inbox_scope_getReads whether one LinkedIn sender syncs only conversations started through OXYGEN or the entire LinkedIn inbox. No provider call and no credits.read-only
oxygen_senders_inbox_scope_setChanges LinkedIn inbox privacy for one sender. oxygen_initiated stops ingesting and hides unrelated chats; all explicitly opts into the full inbox.
oxygen_senders_limits_getReads the per-account limits envelope: current effective limits, the org's overrides, the daily-reset timezone, the warm-up ramp state (whether the account is still warming and today's effective…read-only
oxygen_senders_limits_setUpdates per-account daily limits for sends (invites/messages/InMails) AND reads (relations lists, message history, searches, profile views), the daily-reset timezone, and the warm-up ramp…
oxygen_senders_listLists the workspace's connected LinkedIn sender accounts with health status, per-account rate limits, and today's usage. Use before creating sequences or to check account health.read-only
oxygen_senders_profiles_createCreates a sender profile. from_sender_account_id seeds name + avatar from a LinkedIn account and attaches it (the person's identity); then assign inboxes (mailbox_ids) and WhatsApp/LinkedIn…
oxygen_senders_profiles_deleteDeletes a sender profile. Its accounts detach (return to the unassigned pool); they are never deleted.
oxygen_senders_profiles_getGets one sender profile with the LinkedIn/WhatsApp senders and email inboxes attached to it.read-only
oxygen_senders_profiles_listLists sender profiles (a person's LinkedIn/WhatsApp senders + inboxes as one sending identity) with per-channel account counts. Optional status filter.read-only
oxygen_senders_profiles_tagReplaces a sender profile's workspace tags (Tags primitive; see oxygen_tags_list).
oxygen_senders_profiles_updateUpdates a sender profile's fields (name, avatar_url, status) and/or membership. Attach with sender_account_ids / mailbox_ids; detach with detach_sender_account_ids / detach_mailbox_ids.
oxygen_senders_syncRefreshes account health/status from Unipile for all (or one) connected LinkedIn accounts.
oxygen_senders_tagReplaces a LinkedIn/WhatsApp sender account's workspace tags (Tags primitive; see oxygen_tags_list). Whole-set: pass the full list, [] clears.

inbox (?toolset=inbox)

ToolWhat it doesNotes
oxygen_inbox_analyzeRuns the default analysis on one conversation now — email (default), LinkedIn, or WhatsApp: assigns the triage status and a drafted reply.
oxygen_inbox_archiveArchives a conversation (triages it out of the Unibox), or restores it with archived=false.
oxygen_inbox_auto_tagger_getShows the AI Inbox Tagger config: enabled state, tag allowlist, target channels. Null when never configured.read-only
oxygen_inbox_auto_tagger_setConfigures the AI Inbox Tagger: enable/disable, replace the tag allowlist (max 50; [] pauses tagging), pick target channels.
oxygen_inbox_backfillOpt-in: pull a LinkedIn account's OLDER message history into the unibox as a slow durable background drip (one bounded page per thread per tick, default 10 reads/day) so long histories fill over…
oxygen_inbox_bulkApplies one triage action — set_status, archive, or unarchive — across up to 100 hand-picked conversation ids (from oxygen_inbox_list).
oxygen_inbox_draft_rejectRejects an open AI reply-agent draft so it leaves the review queue. Does not send anything.
oxygen_inbox_draft_updateEdits an open AI reply-agent draft's body before approval. Does not send.
oxygen_inbox_drafts_listLists the AI reply-agent's drafts awaiting review (the approve queue): queued + edited by default, across channels (email + LinkedIn).read-only
oxygen_inbox_getGets one conversation with its full message thread (chronological): LinkedIn (default), WhatsApp, or (channel=email) a Zapbox-synced email conversation.read-only
oxygen_inbox_label_archiveArchives a custom status label. System labels and labels still applied to a conversation are rejected.
oxygen_inbox_label_createCreates a custom inbox status label (the '+ Create Label' action).
oxygen_inbox_label_restoreRestores an archived custom status label under its original key. Idempotent if already active.
oxygen_inbox_label_updateUpdates a status label's name, color, bucket, description, or (custom labels only) ai_settable flag. A system label's ai_settable flag is immutable and cannot be changed.
oxygen_inbox_labels_listLists the org's inbox status labels (the Instantly-style system set plus any custom labels), each with its Primary/Others bucket and whether the AI may assign it.read-only
oxygen_inbox_listLists Unibox conversations newest-first. channel=all merges email, LinkedIn, and WhatsApp; one channel narrows it.core read-only
oxygen_inbox_mark_all_readMarks EVERY conversation matching the filters read across email, LinkedIn, and WhatsApp, not just one page.
oxygen_inbox_mark_readMarks an inbox conversation and all its messages as read: LinkedIn by default, WhatsApp with channel=whatsapp, or the email inbox with channel=email.
oxygen_inbox_reply_agent_getGets the AI reply-agent config (persona, tone, target campaigns/statuses, enabled flag). The agent only ever drafts replies — it never sends.read-only
oxygen_inbox_reply_agent_setConfigures the AI reply agent (the draft-only 'AI Sales Agent').
oxygen_inbox_rescanRe-queues conversations for background re-classification (status + drafted reply).
oxygen_inbox_sendReplies into a conversation. channel=email replies from the conversation's own mailbox (threaded), channel=linkedin (default) sends a Unipile message, channel=whatsapp sends a warm reply into an…
oxygen_inbox_set_statusSets the triage status on a conversation — email (default), LinkedIn, or WhatsApp (e.g. interested, neutral, not_now, not_interested, or a custom label key).
oxygen_inbox_syncForces a backstop sync from Unipile, pulling recent chats and messages into the unibox.
oxygen_inbox_tagsAdds/removes workspace tags on a conversation — email (default), LinkedIn, or WhatsApp (Tags primitive; see oxygen_tags_list).
oxygen_messages_queryFull-text search across every individual email, LinkedIn and WhatsApp message in the org — message-level, not conversation-level (use oxygen_inbox_list to triage threads).read-only
oxygen_messages_statsCampaign-learning analytics over the org's messages: outbound/inbound/conversation totals, reply rate, response-time percentiles (p50/p90), breakdowns by channel, campaign, and status, top…read-only
oxygen_notetaker_scheduleSchedules a Recall invited meeting bot. Defaults to dry_run and returns the credit estimate. Live scheduling requires live=true or mode='live', approved=true, and max_credits at or above the estimate.
oxygen_notetaker_setupConfigures the Recall-backed Oxygen Notetaker. Defaults to dry_run; pass mode='live' or live=true to save settings after reviewing the webhook URL and required Recall subscriptions.
oxygen_notetaker_statusGets one notetaker session, including Recall status, artifacts, linked CRM activity id, and credit reservation/usage state.read-only
oxygen_voice_numbersThe org's dialing pool.
oxygen_voice_tasks_listLists the call queue: leads waiting for a human to dial, queued by sequence call steps, CRM records, table rows, replies, or by hand. Best-first (priority, then due). Read-only, 0 credits.read-only
oxygen_voice_tasks_updateMoves one call task through the queue. queue puts a lead IN (needs lead_phone; idempotent, an already-queued lead returns created:false; warnings names anything undialable). claim takes the next…
oxygen_whatsapp_accounts_listLists the workspace's connected WhatsApp accounts with health status, the warm-up ramp state (account age and today's effective send floor), per-account limits, and today's usage.read-only
oxygen_whatsapp_chat_actionActs on one WhatsApp chat (see the action enum).
oxygen_whatsapp_connectReturns a Unipile hosted-auth URL for connecting a WhatsApp account by scanning a QR code in WhatsApp → Linked Devices (or reconnecting an existing one via reconnect_connection_id).
oxygen_whatsapp_disconnectDisconnects a WhatsApp account so it stops sending and reading immediately.
oxygen_whatsapp_draftDrafts a WhatsApp message to a prospect in YOUR canonical voice (workspace voice/brand/positioning) with the right prospect context — attendee, prior thread, and (with row_id) CRM fields + buying…
oxygen_whatsapp_draft_rejectRejects an open WhatsApp draft so it leaves the review queue.
oxygen_whatsapp_draft_updateEdits an open WhatsApp draft's body before approval/send.
oxygen_whatsapp_drafts_listLists the WhatsApp founder-voice drafts queue (defaults to open drafts awaiting approval).read-only
oxygen_whatsapp_forwardForwards a WhatsApp message into another chat. Delivers a NEW message: spends send budget, bounded by the warm-up ramp, APPROVAL-GATED (previews unless approved). WhatsApp only.
oxygen_whatsapp_getGets one WhatsApp account with full limits, the warm-up ramp state (account age + today's effective send floor), daily-reset timezone, and usage. id accepts a WhatsApp account id, connection id…read-only
oxygen_whatsapp_history_syncBackfills ONE WhatsApp conversation's message history; call again with the same chat_id to poll.
oxygen_whatsapp_limits_getReads the per-account limits envelope: current effective limits, the org's overrides, the warm-up ramp schedule and today's effective send floor, the daily-reset timezone, plus system defaults and…read-only
oxygen_whatsapp_limits_setUpdates per-account daily caps for WhatsApp sends (max 40/day) AND reads, plus action spacing and the daily-reset timezone.
oxygen_whatsapp_profile_getReads the connected number's own WhatsApp profile: display name, About/status, picture, business flag.read-only
oxygen_whatsapp_profile_updateEdits the connected number's own WhatsApp profile (the only three fields WhatsApp allows). APPROVAL-GATED: every contact sees the change, so it previews unless approved. Pass at least one field.
oxygen_whatsapp_syncRefreshes account health/status from Unipile for all (or one) connected WhatsApp accounts.
oxygen_whatsapp_warm_sendSends ONE warm WhatsApp message to a contact who ALREADY has a WhatsApp conversation with a connected account.

publishing (?toolset=publishing)

ToolWhat it doesNotes
oxygen_engagement_commentComments on a LinkedIn post, or replies to a comment with comment_id.
oxygen_engagement_harvestStarts a durable background harvest of a post's reactors and commenters into a workspace table; no messages are sent. source=cookieless uses the managed scraper and requires post_url plus…
oxygen_engagement_harvest_statusShows the progress of a LinkedIn engagement harvest: the drip's status, engagers ingested so far, pages read, last error, plus the workspace table it fills (with a deep-link) and a preview of…read-only
oxygen_engagement_list_engagersReads reactors and commenters on a post owned by the connected workspace account, returning a de-duplicated people list ready for a Sequence or Table.read-only
oxygen_engagement_reactAdds a reaction to a LinkedIn post, or to a comment with comment_id.
oxygen_inmail_balanceReads the remaining LinkedIn InMail credit balance for a connected sender account (requires Premium / Sales Navigator / Recruiter on that account).read-only
oxygen_linkedin_connections_importReads a LinkedIn account's 1st-degree connections into an enrichable Clay-like workspace table plus a deduped system-of-record mirror.
oxygen_linkedin_connections_statusShows the progress of LinkedIn connections imports: each drip's status, connections ingested so far, pages read, last error, plus a preview of the connections table and a deep-link to open it…read-only
oxygen_linkedin_followers_importReads a LinkedIn account's followers into an enrichable workspace table and a deduped mirror.
oxygen_linkedin_followers_statusShows the progress of LinkedIn followers imports: each drip's status, followers ingested so far, pages read, last error, plus a preview of the followers table and a deep-link to open it. account…read-only
oxygen_linkedin_intent_setupCreates or reuses two durable OXYGEN Tables: one deduped LinkedIn Engaged People table and one linked LinkedIn Touchpoints table.
oxygen_linkedin_intent_statusShows the canonical linked people/touchpoint tables and the capture-only LinkedIn feeds filling them. Read-only.read-only
oxygen_linkedin_invites_sentLists the account's pending sent LinkedIn connection invitations with their invitation ids — the ids oxygen_linkedin_invites_withdraw cancels.read-only
oxygen_linkedin_invites_withdrawWithdraws pending sent LinkedIn invitations.
oxygen_linkedin_send_inviteSends a LinkedIn connection invitation.
oxygen_posts_comments_listLists comments on a LinkedIn post (or, with comment_id, the replies under one comment).read-only
oxygen_posts_createPublishes a LinkedIn post from a connected sender account (or as a company with as_organization), with optional media, an external-link preview, mentions, a repost, or an embedded job.
oxygen_posts_deleteDeletes a LinkedIn post the account authored — a real, irreversible LinkedIn write. post is the composite social_id returned by oxygen_posts_create (or oxygen_posts_get).
oxygen_posts_getGets a LinkedIn post by id and returns its full record — crucially the composite social_id you must pass to oxygen_posts_comments_list / oxygen_posts_reactions_list /…read-only
oxygen_posts_reactions_listLists who reacted to a LinkedIn post (or, with comment_id, to one comment).read-only
oxygen_profile_viewersLists the named LinkedIn profile viewers exposed by the connected account's Who Viewed My Profile (WVMP) analytics page.read-only
oxygen_profile_viewers_importPromotes 'who viewed my profile' (WVMP) from a one-shot read into a durable, deduped signal: reads named viewers into a Clay-like workspace table you can enrich and qualify, plus a deduped…
oxygen_profile_viewers_statusShows the progress of durable LinkedIn profile-viewers (WVMP) imports: each drip's status, viewers ingested so far, pages read, last error, the preserved privacy ceiling note, plus a preview of…read-only
oxygen_publishing_amplificationStanding auto-engagement: named accounts react to / comment on every post in scope, paced and capped. action=list|get|create|update|enable|disable|delete|actions. create needs approved=true + BOTH…
oxygen_publishing_analyticsStored LinkedIn/X snapshots. summary covers owned LinkedIn posts (including recent native posts) or OXYGEN-published X posts without a provider call; post/account read; set_cpm writes EMV config…
oxygen_publishing_commentsRead and triage Publishing Community, the local public-comment queue for owned posts. list/get make no provider call; update/resolve are local. preview_reply freezes text without posting…
oxygen_publishing_draft_acceptAccepts one draft variant into the publish queue as a NEEDS-APPROVAL post. It does not publish: approve the post separately.
oxygen_publishing_draft_rejectRejects a post draft. The reason is filed to the Knowledge Graph, so later drafts learn what this workspace will not publish.
oxygen_publishing_drafts_listLists AI post drafts awaiting a human decision. Defaults to the open queue (queued + edited).read-only
oxygen_publishing_idea_addFiles a content idea into the backlog — a draft with kind=idea and no publish time.
oxygen_publishing_importBulk-loads scheduled posts from rows or a CSV string. dry_run=true (the DEFAULT) parses, lints, and reports invalid rows while writing NOTHING — inspect that before passing dry_run=false.
oxygen_publishing_media_upload_urlCreates media and an upload_url. PUT byte_length with upload_headers, then mark uploaded.
oxygen_publishing_media_uploadedVerifies a Publishing media object exists in storage and marks the durable media asset uploaded.
oxygen_publishing_mentions_resolveResolves LinkedIn identities (@handles, /in/ and /company/ URLs, provider ids, URNs) referenced by a post so they publish as real tagged mentions.
oxygen_publishing_notesThe internal review thread on a scheduled post. action=list|add|resolve. add writes a note (reply to one with parent_comment_id); resolve marks a note handled.
oxygen_publishing_posts_approveApproves a scheduled Publishing post. This authorizes the worker to publish it through the connected provider account when publish_at is due.
oxygen_publishing_posts_boostOne-off amplification of ONE post: creates a post-scoped, already-enabled policy and plans its actions immediately.
oxygen_publishing_posts_cancelCancels a draft, scheduled, queued, or failed Publishing post so the worker will not publish it.
oxygen_publishing_posts_createCreates a scheduled post; only approved rows publish when due.
oxygen_publishing_posts_deleteDeletes a NEVER-ATTEMPTED scheduled post (draft/scheduled/queued, empty attempt ledger).
oxygen_publishing_posts_draftDrafts post variants with AI, grounded in the workspace Knowledge Graph (voice, positioning, campaign learnings).
oxygen_publishing_posts_getGets one scheduled Publishing post with resolved media assets, preview URLs, provider result, and publish attempt history.read-only
oxygen_publishing_posts_listLists deterministic Publishing queue posts with publish dates, statuses, approval state, and deep-links. Use this before creating or approving posts to inspect the current queue.read-only
oxygen_publishing_posts_retryMoves a failed approved Publishing post back to scheduled so the worker can attempt it again on the next 5-minute scheduler tick.
oxygen_publishing_posts_reviewPre-publish review of one post: deterministic channel lint (free; error findings BLOCK approval) plus an AI voice/claims check against the Knowledge Graph (PAID, max_credits required; findings…
oxygen_publishing_posts_updateUpdates an editable draft, scheduled, or failed post.
oxygen_publishing_revisionsContent history of one scheduled post. action=list returns every revision (number, title, text, actor, time). action=restore rolls the post back to revision_number, snapshotting the current text…
oxygen_publishing_tagsAdds/removes unified workspace tags on a scheduled post. Tags are internal and never published.

workflows (?toolset=workflows)

ToolWhat it doesNotes
oxygen_observability_approvalsWorkspace-wide approvals inbox across workflow approvals, publishing posts, AI message reviews, inbox reply drafts, and collaboration approval requests (a named human's go/no-go).read-only
oxygen_observability_eventsLists recent CLI/API operation events and provider request events for the active organization. Useful for debugging failed runs by trace id.read-only
oxygen_observability_runsWorkspace-wide runs lens: active and failed runs across workflows and table runs (search/sourcing included), newest first.read-only
oxygen_runs_getReturns a workspace run record by id (provider call, AI column, or workflow step) including provenance and steps.read-only
oxygen_runs_listLists recent workspace runs (provider calls, AI column runs, workflow steps) for the organization, newest first. Use to find a run id, then oxygen_runs_get for full provenance and steps.core read-only
oxygen_table_runs_getReturns a single table action run (e.g. running a tool column over rows) with status, totals, metadata, and worker claim identity.read-only
oxygen_table_runs_itemsLists per-row items for a table action run, optionally filtered by status. Use to inspect failures.read-only
oxygen_table_runs_provider_summarySummarizes provider attempts, no-results, errors, upstream request events, poll statuses, and credit capture/release for a table action run.read-only
oxygen_table_runs_waitPolls a table action run until it reaches a terminal status (completed, completed_with_errors, failed, canceled) or the timeout expires. Use after starting a run to watch it finish.core read-only
oxygen_tables_activityReturns every active background run for a table (queued, running, or canceling) with status, item counts, throughput, ETA, credits, worker claim identity, and a worker-queue health rollup.read-only
oxygen_worker_failuresLists failed background worker items — table action runs, table ingestions, and Postgres-queue jobs — with failure reasons and counts.read-only
oxygen_worker_queue_statsReturns background worker queue health for table action runs, table ingestions, and workflows, including active worker ids and worker type (Fly worker, Vercel Queue, Vercel cron, or manual).read-only
oxygen_workflow_templates_applyDeprecated alias for oxygen_blueprints_apply; creates a disabled workflow.
oxygen_workflow_templates_describeDeprecated alias for oxygen_blueprints_describe.read-only
oxygen_workflow_templates_preflightDeprecated alias for oxygen_blueprints_preflight. Price-aware seeds return current runtime descriptor pricing and an exact zero-credit disabled-install command.read-only
oxygen_workflow_templates_runRemoved alias (HTTP 410). Use oxygen_blueprints_apply, then oxygen_workflows_call.
oxygen_workflow_templates_searchDeprecated alias for oxygen_blueprints_list.read-only
oxygen_workflow_webhook_deliveriesLists what has arrived on this organization's workflow webhook triggers: the POSTed body, the delivery headers, whether the signature verified, and the run it started.read-only
oxygen_workflows_applyPublishes a workflow revision. Active autonomous tool workflows require approval; provide an explicit per-delivery cap or omit it to use the plan-tier default.
oxygen_workflows_approvalsLists durable mid-run approvals; defaults to pending.read-only
oxygen_workflows_callEnqueues any workflow without simulating its trigger. Requires mode; live needs approved=true and a positive max_credits cap.core
oxygen_workflows_cancelCancels a queued or running workflow run.
oxygen_workflows_deletePreviews or permanently deletes one or many workflows.
oxygen_workflows_disableDisables one or many workflows and their triggers.
oxygen_workflows_duplicateDuplicates a workflow as a disabled copy by default, with new workflow and webhook ids.
oxygen_workflows_enableEnables one or many workflows.
oxygen_workflows_events_emitEmits an event to matching workflows. Live requires approval and a positive cap per delivery.
oxygen_workflows_events_getGets one curated workspace event by exact catalog id and returns a ready-to-copy workflow trigger object.read-only
oxygen_workflows_events_listSearches and filters the trigger-ready catalog before returning results: every app-native Sequencer and CRM event plus connected integration events that can start a workflow in this workspace.read-only
oxygen_workflows_exportExports one graph-native workflow as portable editable JSON. Source account UUIDs and trigger authority are removed.read-only
oxygen_workflows_failuresLists failed workflow runs and trigger scheduler failures for the organization. Durable recipe bundles are omitted unless include_bundle is true.read-only
oxygen_workflows_getGets a workflow automation definition and current manifest.read-only
oxygen_workflows_importCreates a new current but disabled workflow from a portable graph definition. Never overwrites or enables a workflow.
oxygen_workflows_import_preflightChecks create-only workflow id and exact destination account bindings without creating anything.read-only
oxygen_workflows_lintValidates a compiled workflow manifest without saving it.read-only
oxygen_workflows_listLists workflows; optionally filter by tag.core read-only
oxygen_workflows_mcp_disableUnpublishes a workflow's dynamic MCP tool without disabling the workflow.
oxygen_workflows_mcp_enablePublishes an active workflow as a dynamic MCP tool; approval and spend gates remain unchanged.
oxygen_workflows_renameRenames only the display label; the next apply may overwrite it from the manifest.
oxygen_workflows_resumeApproves or rejects a paused run. Pass its plan_hash to bind the decision to the reviewed plan; the run's cap remains enforced.
oxygen_workflows_retryPreviews a failed-run resume from its first failed step. Preserves completed work and refuses uncertain writes. approved=true executes; live needs a new positive cap.
oxygen_workflows_revisionsEvery published version of one workflow, newest first: version, source hash, compiler version, publisher, and which one runs now (isCurrent).read-only
oxygen_workflows_revisions_restoreRe-publishes an earlier version as the newest one.
oxygen_workflows_runGets one workflow run with step state, outputs, events, and worker claim identity.read-only
oxygen_workflows_runsLists workflow runs, optionally filtered by workflow and status.read-only
oxygen_workflows_schemaReturns the JSON schema for OXYGEN workflow manifests and API calls.read-only
oxygen_workflows_tagReplaces a workflow's tag set; [] clears it. Does not create a revision.
oxygen_workflows_tailPolls until completion, failure, approval, clock wait, or timeout.core read-only

agents (?toolset=agents)

ToolWhat it doesNotes
oxygen_agent_approval_decideApproves or rejects one pending Workspace or custom Agent capability call and resumes the durable run. The approval id comes from oxygen_agent_run_get events.
oxygen_agent_createCreates a user-defined custom Agent and publishes its first immutable version.
oxygen_agent_customLists the org's user-defined custom agents (slug, name, status, deep-link). Distinct from oxygen_agent_list, which returns the fixed built-in roster (Workspace Agent + the three specialists).read-only
oxygen_agent_deleteArchives (soft-deletes) a custom agent: its triggers stop firing and it leaves the roster, while its versions, runs, and provenance are preserved. Built-in agents cannot be archived.
oxygen_agent_disableDisables one workspace agent so it stops its drafts/runs next worker tick. The notetaker keeps manual scheduling by design.
oxygen_agent_enableEnables one workspace agent so it resumes its approval-gated drafts/runs. Writes only its enabled flag.
oxygen_agent_file_createStores a tenant-owned text file for Agent context or sandbox input. Inline content is capped at 1.5 MB.
oxygen_agent_files_listLists tenant-owned text files available as Agent context and sandbox inputs. File content remains tenant-scoped.read-only
oxygen_agent_getShows one agent — the Workspace Agent, a specialist, or a custom agent — with its active version, approval boundary, and recent runs.read-only
oxygen_agent_listLists workspace agents with enabled state, approval boundary, and recent runs.read-only
oxygen_agent_runStarts a durable run for a runtime agent (the Workspace Agent or a custom agent). Returns an inspectable run id and deep-link while Fly execution continues.
oxygen_agent_run_cancelRequests checkpointed cancellation of an active Workspace or custom Agent run.
oxygen_agent_run_getReads one Workspace or custom Agent run plus its append-only event ledger. Use after_seq for incremental polling.read-only
oxygen_agent_runsRecent runs across built-in and custom Agents (or one via slug), newest first, with status, credits, and deep-links.read-only
oxygen_agent_trigger_createCreates a cron, internal event, or signed-webhook trigger for the Workspace Agent.
oxygen_agent_trigger_setActivates, pauses, or archives one Workspace Agent cron, event, or webhook trigger.
oxygen_agent_triggersLists configured Workspace Agent cron, internal event, and signed-webhook triggers, including the next cron time but never webhook secrets.read-only
oxygen_agent_updatePublishes an immutable version (governed model, context, skills, tools, sandbox, limits) for a runtime agent — the Workspace Agent or a custom agent.
oxygen_copilot_approveResolves one pending approval a Workspace Copilot turn is blocked on.
oxygen_copilot_attachmentsLists files attached to a Workspace Copilot session, sent and unsent, with each one's kind (tabular/document/image/other), size, and preview (a spreadsheet's columns and row count).read-only
oxygen_copilot_cancelCancels an in-flight Workspace Copilot session: stops the current turn and marks the session cancelled so it consumes no further inference budget. Cancelling an already-cancelled session is a no-op.
oxygen_copilot_getReads one Workspace Copilot session: the session, its turns, the event timeline after after_seq, pending approvals, and the latest sequence cursor.read-only
oxygen_copilot_sendSends one user message to a Workspace Copilot session and runs the turn.
oxygen_copilot_startStarts a Workspace Copilot session — a governed, budget-capped conversational agent that operates this Oxygen workspace one turn at a time.

billing (?toolset=billing)

ToolWhat it doesNotes
oxygen_billing_auditSummarizes where managed Oxygen credits were granted, reserved, captured, released, or spent for the active organization.read-only
oxygen_billing_balanceReturns the active organization's available/reserved credits, plan tier, subscription window, and the FIXED-vs-FLEXIBLE split: committed_credits (blocked for recurring per-resource charges) and…core read-only
oxygen_billing_cancel"cancel" schedules the active organization's plan subscription to cancel at period end; "resume" removes a scheduled cancellation.core
oxygen_billing_change_planPreviews plan-change tax, amount, and timing, then returns Stripe's confirmation URL. Nothing changes until confirmed there.core
oxygen_billing_commitmentsLists FIXED monthly credit commitments blocked from the balance, one row per kind (sending mailboxes, sold mailboxes, warmup, deliverability, LinkedIn accounts): unit price, quantity, monthly…read-only
oxygen_billing_set_planStaff only.staff
oxygen_billing_topupBuys 8,000-1,000,000 on-demand credits at $1.25 per 1,000.
oxygen_billing_usageReturns recent Oxygen credit transactions/BYOK usage events, automation action events, or connected-account seat pricing for the active organization.core read-only
oxygen_budget_deleteDeletes a standing budget policy by id. Requires an admin or owner role.
oxygen_budget_listLists the active organization's standing credit caps (budget policies) by scope and window. Read-only.core read-only
oxygen_budget_setSets, raises, or lowers a standing credit cap (idempotent per scope+scope_id+window). hard_block stops runs at the cap; warn annotates but proceeds. Requires an admin or owner role.
oxygen_limits_showShow effective rate, import, agent, spend-safety, and storage limits. Storage has no plan row/database cap and supports millions of records.read-only

integrations (?toolset=integrations)

ToolWhat it doesNotes
oxygen_custom_integrations_applyCreates or updates a custom HTTP tool integration from a manifest, registering its operations as custom_http.* tools in the catalog.
oxygen_custom_integrations_listLists custom HTTP tool integrations registered for the active organization — slug, name, auth type, base URL, and the generated custom_http.* tool ids.read-only
oxygen_integration_events_deliveriesLists recent provider webhook deliveries (Composio triggers, HubSpot webhooks, etc.) for this organization, including the resulting workflow run ids.read-only
oxygen_integration_events_disableDisables a provider event subscription so matching provider webhooks stop triggering workflows.
oxygen_integration_events_enableEnables a provider event subscription so matching provider webhooks can trigger workflows.
oxygen_integration_events_listLists raw provider webhook definitions and this organization's enabled subscriptions. Use oxygen_workflows_events_list for the trigger-ready workspace catalog.read-only
oxygen_integrations_connectConnects a supported integration (Composio OAuth toolkits or native API-key/BYOK integrations).
oxygen_integrations_disconnectDisconnects a supported integration (Composio OAuth or native API-key/BYOK) for this organization. Pass connection_id to target a specific connected account when several exist.
oxygen_integrations_listLists supported Composio-backed integrations plus this organization's stored integration connections (including native-provider connections like Salesforge and the Forge family), with…read-only
oxygen_integrations_list_actionsLists the actions available for an integration — both Composio toolkits (e.g. all Slack actions) and native-provider integrations (Salesforge and the Forge family, Instantly, …, which expose their…read-only
oxygen_integrations_list_destinationsLists where a connected integration can send, so you never ask a user to paste a raw provider id.read-only
oxygen_integrations_run_actionRuns an action for a connected integration — a Composio action or a native-provider operation (Salesforge and the Forge family, Instantly, …).
oxygen_integrations_testRe-validates a stored integration API key against the provider (cheap read probe, zero credits) and heals the connection back to active/healthy when it passes.

admin (?toolset=admin)

ToolWhat it doesNotes
oxygen_admin_costsStaff-only. Returns COGS (USD) per provider, broken down by workspace for the last 30/7 days. Use to inspect margin and per-workspace spend.read-only staff
oxygen_admin_kpisStaff-only.read-only staff

On this page