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:
| Marker | Meaning |
|---|---|
core | Advertised by default, before any ?toolset= parameter. |
read-only | Annotated readOnlyHint — inspects state without changing it. |
staff | OXYGEN 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)
| Tool | What it does | Notes |
|---|---|---|
oxygen_capabilities_schema | Returns full definitions for up to 10 exact Oxygen MCP tool names. | core read-only |
oxygen_capabilities_search | Routes 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)
| Tool | What it does | Notes |
|---|---|---|
oxygen_feedback | Sends 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_link | Covers 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_unlink | Stops sharing a plan: restores a workspace to paying for its own credits, reversing oxygen_orgs_billing_link. | |
oxygen_orgs_list | Lists OXYGEN organizations available to the current connector session and shows the active selection. | read-only |
oxygen_orgs_select | Selects which OXYGEN organization this OAuth connector session should use for org-scoped tools. | core |
oxygen_signup_lead_deliveries_list | Lists durable signup lead webhook deliveries for the current organization, including retry/error state. | read-only |
oxygen_signup_lead_delivery_get | Fetches one durable signup lead webhook delivery by delivery id or event id, including retry/error state. | read-only |
oxygen_signup_lead_delivery_retry | Queues a failed signup lead webhook delivery for retry by delivery id or event id. | |
oxygen_support_ticket_create | Creates the canonical Plain support Thread for the active OXYGEN organization. | |
oxygen_support_ticket_get | Fetch one Plain support Thread with its customer-visible message timeline. | read-only |
oxygen_support_ticket_reply | Reply to a Plain Chat thread as its original customer. | |
oxygen_support_tickets_list | List Plain support Threads scoped to the active OXYGEN organization. | read-only |
oxygen_tags_bulk | Merges several workspace tags into one, or deletes them outright. | |
oxygen_tags_get | Everything 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_list | Lists 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_rename | Renames 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_set | Declares a workspace tag before anything carries it, or annotates one already in use, with a description, pill color, and pinned flag. | |
oxygen_whoami | Returns the Oxygen organization and user identity that the current connector session is authorized for. | core read-only |
oxygen_widgets_list | Lists the Oxygen MCP App widgets advertised through ui:// resources, including the tools that render them in Claude Desktop. | read-only |
collaboration (?toolset=collaboration)
| Tool | What it does | Notes |
|---|---|---|
oxygen_approvals_decide | Answers one pending request: approve, reject, or changes_requested. | |
oxygen_approvals_gate_set | Turns the HARD gate on or off — the policy that makes an approval blocking rather than advisory. | |
oxygen_approvals_inbox | What 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_list | Approval 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_request | Asks 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_add | Opens 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_list | Every internal comment thread on one workspace object, with its replies, authors, mentions, and resolution state. | read-only |
oxygen_comments_resolve | Marks one comment thread resolved, or reopens it with reopen=true. |
knowledge (?toolset=knowledge)
| Tool | What it does | Notes |
|---|---|---|
oxygen_blueprints_apply | Applies 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_archive | Archives a saved blueprint in this workspace by id or slug. Seed blueprints cannot be archived. | |
oxygen_blueprints_describe | Returns 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_export | Builds a portable blueprint envelope from an existing workflow in this workspace, packaging its tables, columns, and prompt templates. | read-only |
oxygen_blueprints_list | Lists 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_list | Browse 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_preflight | Checks a blueprint against this workspace: lists missing integrations, context keys, and collisions. | read-only |
oxygen_blueprints_publish | Lists a blueprint on the public Oxygen marketplace at oxygen-agent.com/marketplace. | |
oxygen_blueprints_save | Persists a blueprint envelope into this workspace's blueprint gallery so it can be re-applied, listed, and shared as JSON. | |
oxygen_blueprints_share | Creates a public share URL for a blueprint (oxygen-agent.com/b/<code>). | |
oxygen_blueprints_shares_list | Lists existing public share URLs for blueprints in this workspace. | read-only |
oxygen_blueprints_tag | Replaces 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_unpublish | Removes 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_unshare | Revokes a public blueprint share URL by short code. Existing recipients will get a 404. | |
oxygen_context_asset_archive | Archives one durable workspace GTM context asset by id and writes a revision snapshot. | |
oxygen_context_asset_get | Reads one durable workspace GTM context asset by id. | read-only |
oxygen_context_asset_search | Relevance-ranked 'second brain' search across durable workspace GTM context assets (playbooks, strategies, positioning, personas, competitor + research notes). | read-only |
oxygen_context_asset_set_default | Pins a context asset as the canonical default for its type (or unpins with is_default=false). | |
oxygen_context_asset_upsert | Creates or updates a durable workspace GTM context asset (brand, voice, positioning, persona, playbook, ...). | |
oxygen_context_assets_list | Lists durable workspace GTM assets such as playbooks, strategies, campaigns, positioning, personas, competitor notes, and research notes. | read-only |
oxygen_context_profile_get | Reads durable workspace GTM memory: company, offering, ICP, market, GTM stack, and custom fields. | read-only |
oxygen_context_profile_update | Updates 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_resolve | Builds 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_synthesize | Runs 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_get | Shows 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_set | Configures the scheduled knowledge synthesis agent (a config write, not an external write). | |
oxygen_knowledge_graph | Returns the Knowledge Graph as nodes (pages) and edges ([[wikilink]] connections), including unresolved link targets that have no page yet. | read-only |
oxygen_knowledge_index | The 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_lint | Structural 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_append | Appends 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_list | Reads the append-only Knowledge Graph history (seeds, page writes, pins, filings, notes, and decisions), newest first. | read-only |
oxygen_knowledge_page_get | Reads 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_list | Lists and indexes Knowledge Graph wiki pages, optionally filtered by type, status, or tags. | read-only |
oxygen_knowledge_page_pin | Pins (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_get | Reads 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_list | Lists 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_upsert | Creates or updates a page in the workspace Knowledge Graph (the LLM-maintained wiki). | core |
oxygen_knowledge_proposal_decide | Approves or rejects an open Knowledge Graph proposal by its id or proposal slug. | |
oxygen_knowledge_proposals_list | Lists 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_search | Relevance-ranked full-text search across Knowledge Graph wiki pages (title, summary, body); lexical, not semantic. | core read-only |
oxygen_knowledge_seed | Ensures 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_archive | Archives a workspace-authored prompt template. Seeded OXYGEN defaults cannot be archived. | |
oxygen_prompts_get | Reads one prompt template by id or slug. | read-only |
oxygen_prompts_list | Lists 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_upsert | Creates or updates a reusable prompt template. AI columns reference templates via promptTemplateSlug. | |
oxygen_recipes_get | Returns 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_install | Installs a recipe into the workspace wiki as a revisioned, retrieval-grounded playbook page with per-version provenance. | |
oxygen_recipes_list | Lists 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)
| Tool | What it does | Notes |
|---|---|---|
oxygen_crm_activity_log | Logs a timeline activity (note, call, meeting, email, stage change, etc.) on a CRM record. | |
oxygen_crm_automation_audit | Shows recent CRM automation rule changes (who armed/disarmed which template), newest first. Read-only. | read-only |
oxygen_crm_automation_rule_set | Arms or disarms a standing CRM automation template (e.g. crm-lead-stage-router). | |
oxygen_crm_automation_rules_list | Lists the standing CRM automation templates and whether each is armed. | read-only |
oxygen_crm_duplicates | Lists 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_enrichment | Lists or changes which named enrichment presets (LinkedIn profile, ICP fit, revenue estimate) run automatically on new CRM records: list/set/enable/disable. | |
oxygen_crm_fields | Fills 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_merge | Merges two CRM records of the same object into one. | |
oxygen_crm_object_add_attribute | Adds one attribute (column) to an existing CUSTOM CRM object, optionally promoting it to an identity. | |
oxygen_crm_object_create | Creates 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_delete | Deletes one CUSTOM CRM object and schedules its backing table for 14-day recoverable deletion. | |
oxygen_crm_object_describe | Describes one configured CRM object, including its table binding, attributes, identities, and relationships. | read-only |
oxygen_crm_objects_list | Lists configured CRM objects in the active Oxygen organization, including table bindings and model metadata. | read-only |
oxygen_crm_pipeline | Reads 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_assert | Creates or updates one CRM record by object identity. | |
oxygen_crm_record_get | Gets one CRM record aggregate, including row values, identities, and outbound/inbound relationships. | read-only |
oxygen_crm_record_search | Searches configured CRM records by normalized identity (domain, email, LinkedIn URL, external ID) or record label. Read-only and bounded. | read-only |
oxygen_crm_record_timeline | Lists 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_define | Defines 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_upsert | Creates 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_rollup | Recomputes 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_setup | Creates 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_record | Records 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_today | Lists 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_configure | Configures 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_disable | Disables 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_enable | Enables 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_import | Imports records FROM a connected CRM (HubSpot read+write, Attio read-only) into the matching Oxygen CRM object. | |
oxygen_crm_sync_links | Lists 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_run | Runs 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_status | Reads CRM sync status, newest cycle first. | read-only |
oxygen_crm_tag | Adds/removes workspace tags on one CRM record (Tags primitive; see oxygen_tags_list). | |
oxygen_directory_get | Reads this organization's agency directory listing: profile fields, publish status (invited/published/delisted), and public/settings deep-links. | read-only |
oxygen_directory_publish | Publishes this organization's listing to the public agency directory (a public web page — confirm with the user first). | |
oxygen_directory_unpublish | Removes this organization's listing from the public agency directory. The draft stays editable and can be re-published later. | |
oxygen_directory_update | Updates 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_create | Creates new projects. | |
oxygen_projects_delete | Deletes empty non-General projects. | |
oxygen_projects_list | Lists table projects. | read-only |
oxygen_projects_rename | Changes a project name. | |
oxygen_projects_tag | Sets tags; [] clears. |
tables (?toolset=tables)
| Tool | What it does | Notes |
|---|---|---|
oxygen_action_column_add_provider | Adds a provider action picker column: lists the provider's catalog operations as setup metadata; runs nothing until one becomes a tool column. | |
oxygen_callables_manage | List, 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_prepare | Prepares 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_add | Adds 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_archive | Archives a column. Cell values are retained but hidden from queries. | |
oxygen_columns_delete | Deletes 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_deps | Read-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_materialize | Copy 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_rename | Renames a column key (and optionally its label). | |
oxygen_columns_reorder | Moves 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_cell | Re-run one AI cell. Preview with dry_run=true, then pass max_credits; from_review_id threads prior feedback. | |
oxygen_columns_restore | Restores an archived or delete-scheduled column: cancels the purge and renames it back to its original key (usable as the ref). | |
oxygen_columns_retype | Converts 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_run | Runs a tool/AI/formula/enrichment/bind/lookup column for selected rows. | core |
oxygen_columns_update | Updates a column's label, semantic type, or definition (the definition shallow merges; arrays replaced). | |
oxygen_formulas_list | Lists 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_validate | Validates a formula against a table and previews sample-row output — free, no writes. | read-only |
oxygen_reviews_decide | Accept 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_list | Lists AI-generated outreach message reviews. Reviews are created automatically when an AI column with reviewRequired=true completes. | read-only |
oxygen_reviews_next | Returns 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_delete | Deletes one row (row_id) or a batch (row_ids). Destructive, not undoable — confirm first. Returns deleted count, missing ids, web_url. | |
oxygen_rows_history | Returns 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_insert | Appends 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_update | Updates the values of a single row by id. | core |
oxygen_rows_upsert | Inserts 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_items | Appends 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_cancel | Requests cancellation for a queued or running durable table ingestion. | |
oxygen_table_ingestions_create | Creates a durable background ingestion run for generated row chunks or paged source data. | |
oxygen_table_ingestions_get | Returns a durable table ingestion run with status, item counts, row counts, and the Oxygen web deep-link. | read-only |
oxygen_table_ingestions_items | Lists chunks/items for a durable table ingestion, optionally filtered by status. Use to inspect failed import chunks. | read-only |
oxygen_table_ingestions_retry_failed | Requeues failed items for a durable table ingestion after you have inspected and fixed the cause. | |
oxygen_table_ingestions_wait | Polls a durable table ingestion until it reaches a terminal status or the timeout expires. | read-only |
oxygen_table_runs_cancel | Cancels an in-progress table action run. Accepts the run id or its parent workspace run id. | |
oxygen_table_runs_create | Creates 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_pause | Pauses a run so item jobs start no new provider calls until resumed. | |
oxygen_table_runs_resume | Resumes a paused table action run and re-enqueues pending item jobs. | |
oxygen_table_runs_retry_failed | Retries failed items in a run. | |
oxygen_table_webhook_deliveries | Lists direct table webhook deliveries and their auto-run enqueue status for the active organization. | read-only |
oxygen_table_webhook_get | Returns 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_list | Lists direct table webhook endpoints for the active Oxygen organization, optionally filtered by table or status. | read-only |
oxygen_tables_archive | Archives a table. Rows and columns are retained but the table is hidden. | |
oxygen_tables_auto_dedupe | Manage a table's standing auto-dedupe: get/set/disable. | |
oxygen_tables_auto_run | Manage 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_history | Returns 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_inspect | Returns 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_create | Creates a workspace table with the given columns. Mutates tenant schema. | core |
oxygen_tables_csv_import_open | Returns the Oxygen tables page where the Import file dialog accepts local CSV/XLSX uploads. | read-only |
oxygen_tables_dedupe | Collapse 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_check | Read-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_delete | Deletes 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_describe | Returns the columns, semantic types, and current configuration of one Oxygen table. | core read-only |
oxygen_tables_duplicate | Duplicates a table (columns, definitions, row values); include_rows=false makes a schema-only copy. Response carries a deep-link. | |
oxygen_tables_import_csv | Imports CSV content into Oxygen. | core |
oxygen_tables_link | Links one row to a row in the related table through a relation defined with oxygen_tables_relate. | |
oxygen_tables_link_bulk | Bulk 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_list | Lists workspace tables in the active Oxygen organization, optionally filtered by project or workspace tag. | core read-only |
oxygen_tables_move | Moves a table to another project. Rows, columns, runs, and provenance are preserved. Response carries a deep-link. | |
oxygen_tables_preview | Compact 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_promote | Writes bound rows' columns onto their CRM records. Truth write: dry_run previews; approved=true writes. | |
oxygen_tables_query | Returns raw rows from an Oxygen table: projection, filter+sort, limit/cursor pagination, or a single row by id. | core read-only |
oxygen_tables_relate | Relates two workspace tables: defines a Tables-owned relation whose slug becomes a linked-record column on the source. | |
oxygen_tables_relations | Lists, 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_rename | Renames an existing workspace table. | |
oxygen_tables_restore | Restores an archived or delete-scheduled table: cancels the purge and reclaims the original slug (usable as the ref). | |
oxygen_tables_schedule | Scheduled column refresh (create/list/remove): a cron workflow re-runs one column — empty/failed cells only unless force. | |
oxygen_tables_send | Copies rows from one table into another as a durable ingestion run (free). | |
oxygen_tables_tag | Replaces 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_suggest | Read-only tidy analysis of one Oxygen table. | read-only |
oxygen_tables_unlink | Unlinks one exact source/target row pair by archiving its edge. | |
oxygen_tables_views_create | Creates a saved view on a table. | |
oxygen_tables_views_delete | Deletes a saved view by id. The table's rows and columns are untouched. | |
oxygen_tables_views_get | Returns a single saved view (name, type, default flag, full config) by id. | read-only |
oxygen_tables_views_list | Lists 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_update | Updates a saved view. |
enrichment (?toolset=enrichment)
| Tool | What it does | Notes |
|---|---|---|
oxygen_adyntel_ads_search | Discovers the ads a company is running (Meta, Google, LinkedIn, TikTok) via Adyntel and renders them in an ad-results widget. | |
oxygen_companies_search_plan | The one canonical company-search entrypoint. | |
oxygen_companies_search_run | Dry-runs or queues a live table ingestion run for one company-search provider route. | |
oxygen_company_enrichment_preview | Inspects an existing company/account table and plans a fill-missing company enrichment waterfall without provider calls or credit usage. | read-only |
oxygen_company_enrichment_run | Queues a live fill-missing company enrichment waterfall over existing table rows. | |
oxygen_enrich_column_preview | Preflights an enrichment intent without provider calls or credits. | read-only |
oxygen_enrich_column_run | Creates or reuses an enrichment column and queues a paid background table run. | |
oxygen_enrichment_apply_default_cascade | Patches 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_company | Enrich a company via a multi-provider waterfall, given domain, name, or linkedin_url. | core |
oxygen_find_email | Find 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_linkedin | Resolve 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_phone | Find a person's mobile phone via a multi-provider waterfall, advancing on empty/error. | core |
oxygen_lead_sourcing_audit | Audits 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_plan | Compiles 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_plan | The one canonical people/contact-search entrypoint. | |
oxygen_people_search_run | Dry-runs or queues a live table ingestion run for one people-search provider route. | |
oxygen_search_plan | Plans an agent-operable Oxygen search/scrape route for signal, web, known-URL scrape, local-business, and source-specific searches. | core read-only |
oxygen_search_run | Previews 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_cancel | Requests cancellation for a queued or running search/scrape run. | |
oxygen_search_runs_get | Gets one durable search/scrape run by id. | read-only |
oxygen_search_runs_retry_failed | Requeues failed items for a durable search/scrape run. | |
oxygen_search_runs_wait | Polls a durable search/scrape run until terminal status or timeout. | read-only |
oxygen_sourcing_plan | Classifies 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_access | Checks whether the active Oxygen organization can run a catalog tool. | read-only |
oxygen_tools_enums_get | Returns the accepted values for one provider enum catalog (e.g. blitzapi.industry, blitzapi.employee_range). | read-only |
oxygen_tools_enums_list | Lists 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_get | Full 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_batch | Creates 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_dry | Validates 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_live | Runs an Oxygen catalog tool against the live provider — a real upstream call that consumes credits. | core |
oxygen_tools_search | Searches provider operations (enrichment, AI, scrapers) by intent. | core read-only |
oxygen_verify_email | Verify emails you already have. |
signals (?toolset=signals)
| Tool | What it does | Notes |
|---|---|---|
oxygen_dashboard_summary | Reads 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_bind | Binds a pull feed to an existing table: freezes one provider request, then optionally arms a cadence so the table keeps refilling itself. | |
oxygen_feeds_get | Returns 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_list | Lists 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_pause | Pauses 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_resume | Resumes a feed: re-activates it AND clears an error/exhausted stop, so the next cron tick can claim it again. | |
oxygen_feeds_run | Runs one sync cycle now, through the feed's own cron workflow — one harvest path, one lease, one cursor. | |
oxygen_feeds_unbind | Deletes 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_status | One 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_today | Lists 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_list | Lists 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_record | Records 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_registry | Shows the signal-type registry: each registered type with its human label, family, intent weight, and capture status. | read-only |
oxygen_signals_search_plan | Compiles 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_run | Returns 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)
| Tool | What it does | Notes |
|---|---|---|
oxygen_sequences_analytics | Shows 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_create | Creates 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_delete | PERMANENTLY deletes a sequence and everything it owns — enrollments, actions, sender links, schedules — not a reversible archive. | |
oxygen_sequences_draft | Drafts an email outreach sequence with AI, grounded in the workspace Knowledge Graph (voice, positioning, campaign learnings) with cited provenance. | |
oxygen_sequences_enroll | Enrolls leads into a sequence (0 credits; nothing sends until start). | core |
oxygen_sequences_enrollments | Lists 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_esp | ESP 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_events | Per-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_get | Gets a sequence's full definition, senders, status, and credit usage. | read-only |
oxygen_sequences_hubspot_list_import | Preview 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_lists | List 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_configure | Preview 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_get | Reads the workspace-wide HubSpot projection across every Sequence. | read-only |
oxygen_sequences_list | Lists 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_reconcile | Checks whether one failed/canceled live LinkedIn invite, message, or InMail actually landed at the provider. | |
oxygen_sequences_retry_deferred | Preview or re-ready pending LinkedIn actions deferred outside working hours. | |
oxygen_sequences_send | Starts a net-new LinkedIn conversation through hosted Sequences; reply to an existing thread with oxygen_inbox_send. | |
oxygen_sequences_set_status | Transitions 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_signal | Records an external GTM signal onto a running sequence's enrollment(s) to drive signal-triggered branch/wait_for_signal control. | |
oxygen_sequences_start | Starts a sequence and can send REAL LinkedIn/email/WhatsApp actions or create CRM tasks. | core |
oxygen_sequences_stats | Shows a sequence's funnel: enrolled → invited → connected → replied, with acceptance and reply rates. | read-only |
oxygen_sequences_update | Updates a sequence. | |
oxygen_sequences_variants | Shows 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_action | Mutates 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_configure | Compatibility surface that previews or saves one old sequencer preset. | |
oxygen_sequences_workflows_list | Compatibility surface for the two old sequencer presets: internal CRM lead-stage routing and positive-reply Microsoft Teams notifications. | read-only |
oxygen_suppressions_add | Adds (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_list | Lists 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_list | Lists 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_remove | Deliberately re-enables one explicit company-domain or LinkedIn-company identity. 0 credits. | |
oxygen_suppressions_hubspot_lists | Lists 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_sync | Preview 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_import | Source-neutral DNC import. | |
oxygen_suppressions_list | Lists the org do-not-contact list (the people/multichannel suppression set the sequencer enroller always skips), newest first. | read-only |
oxygen_suppressions_phone_remove | Deliberately re-enables one strict E.164 phone identity. List removal is never automatic. 0 credits. | |
oxygen_suppressions_phones_list | Lists strict E.164 phone suppressions used by call, WhatsApp, and Sequence safety gates. 0 credits. | read-only |
oxygen_suppressions_remove | Removes a lead provider id from the org do-not-contact list (re-enables contact). Consumes 0 credits. |
deliverability (?toolset=deliverability)
| Tool | What it does | Notes |
|---|---|---|
oxygen_domains_add | BYOK CLOUDFLARE ONLY. | |
oxygen_domains_adopt | STAFF-ONLY LEGACY RECOVERY. | staff |
oxygen_domains_archive | Archives (or unarchives) a cached domain — an Oxygen-side declutter flag only. | |
oxygen_domains_buy | BYOK CLOUDFLARE ONLY. | |
oxygen_domains_check | Checks 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_dns | Live 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_apply | Writes the planned cold-email DNS records (SPF, DKIM, DMARC, MX, optional tracking) into the domain's Cloudflare zone. | |
oxygen_domains_dns_plan | FREE 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_get | Reads where an Oxygen-managed domain's WEB root forwards visitors (not mail — MX/SPF/DKIM/DMARC untouched). | read-only |
oxygen_domains_forwarding_set | Points an Oxygen-managed domain's WEB root at a URL, or clears it (forwarding_url: ""). | |
oxygen_domains_get | Fetches 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_list | Lists 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_onboard | Registers 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_status | Returns 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_status | Returns 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_list | Lists 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_search | Searches Cloudflare Registrar for purchasable domain suggestions matching a query, returning per-suggestion registrability, tier, registration + renewal pricing, and reasons. | read-only |
oxygen_domains_sync | Refreshes 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_tag | Replaces 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_setup | Provisions 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_status | Returns 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_assign | Assigns this org's sending mailboxes to inventoried egress IPs — the durable pinning pool mode dispatches through. | |
oxygen_egress_dedicated_cancel | Cancels the dedicated sending-IP add-on AT THE END of the 30-day period already paid for. | |
oxygen_egress_dedicated_request | Dedicated sending-IP add-on (15,000 credits per 30-day period — $15 at face value, in Oxygen credits). | |
oxygen_egress_ips | Lists 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_register | STAFF ONLY: registers ONE manually-purchased sending IP into this deployment environment's inventory (dev API -> dev pool, prod -> prod). | staff |
oxygen_egress_rotate | Rotates ONE mailbox's sending IP: retires the current (burned) IP and re-homes the mailbox to a fresh pool IP. | |
oxygen_egress_status | Shows 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_send | Previews or sends ONE ad-hoc email without a Sequence. | |
oxygen_mailboxes_compatibility | Read-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_oauth | Preview/approve mailbox authorization. vendor=oxygen accepts exact imported or manual mailbox addresses, with no domain or directory discovery. | |
oxygen_mailboxes_connect_oauth_status | Polls 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_status | Google sending-domain delegation only, not Microsoft OAuth or a credential-file handoff to OXYGEN Warm-up/EmailGuard. | read-only |
oxygen_mailboxes_delete | Preview/approve exact mailbox removal at 0 credits. | |
oxygen_mailboxes_emailguard_connect | Preview every mailbox origin and approve EmailGuard monitoring for credential-capable Google Workspace mailboxes (managed, Zapmail, or a compatible encrypted external import). | |
oxygen_mailboxes_emailguard_disconnect | Preview/approve owned EmailGuard account deletion with plan_hash. Billing stops only after confirmed remote deletion. | |
oxygen_mailboxes_get | Gets 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_health | Returns 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_import | Imports non-secret identities inline or from Zapmail. source_provider records provenance. | |
oxygen_mailboxes_list | Lists 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_health | Rolls 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_cap | Sets 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_ramp | Sets 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_status | Sets a sending mailbox's status. | |
oxygen_mailboxes_tag | Replaces 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_update | Updates 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_action | Pauses, 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_config | Overrides one mailbox's warmup-email ramp (not its real-send ramp). | |
oxygen_mailboxes_warmup_enable | STANDALONE path for eligible existing mailboxes outside an approved managed order. | |
oxygen_mailboxes_warmup_microsoft | NON-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_status | Syncs 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_mailboxes | Adds mailboxes to an ALREADY-owned managed domain. | |
oxygen_managed_inboxes_cancel | Cancels 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_get | Gets one managed subscription; poll after subscribe/expansion until active. | read-only |
oxygen_managed_inboxes_list | Lists 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_subscribe | Buys managed inboxes on a NEW domain, billed monthly in OXYGEN CREDITS. | |
oxygen_managed_inboxes_verify | Checks 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_get | Returns one DIRECTIONAL inbox-placement test by id — status, health provider, seed addresses, per-provider results, and score. | read-only |
oxygen_placement_tests_list | Lists 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_run | Creates a DIRECTIONAL inbox-placement (spam) test for one sending mailbox via EmailGuard or Zapmail. | |
oxygen_placement_tests_send | Second, separate external-write gate for an EmailGuard placement test. | |
oxygen_senders_checkpoint_resend | Asks 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_solve | Submits 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_connect | Returns shareable Unipile hosted-auth URL(s) for connecting LinkedIn accounts. | |
oxygen_senders_disconnect | Disconnects a LinkedIn sender account so it stops sending and reading immediately. | |
oxygen_senders_get | Gets 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_health | One-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_get | Reads 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_set | Changes LinkedIn inbox privacy for one sender. oxygen_initiated stops ingesting and hides unrelated chats; all explicitly opts into the full inbox. | |
oxygen_senders_limits_get | Reads 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_set | Updates 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_list | Lists 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_create | Creates 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_delete | Deletes a sender profile. Its accounts detach (return to the unassigned pool); they are never deleted. | |
oxygen_senders_profiles_get | Gets one sender profile with the LinkedIn/WhatsApp senders and email inboxes attached to it. | read-only |
oxygen_senders_profiles_list | Lists 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_tag | Replaces a sender profile's workspace tags (Tags primitive; see oxygen_tags_list). | |
oxygen_senders_profiles_update | Updates 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_sync | Refreshes account health/status from Unipile for all (or one) connected LinkedIn accounts. | |
oxygen_senders_tag | Replaces a LinkedIn/WhatsApp sender account's workspace tags (Tags primitive; see oxygen_tags_list). Whole-set: pass the full list, [] clears. |
inbox (?toolset=inbox)
| Tool | What it does | Notes |
|---|---|---|
oxygen_inbox_analyze | Runs the default analysis on one conversation now — email (default), LinkedIn, or WhatsApp: assigns the triage status and a drafted reply. | |
oxygen_inbox_archive | Archives a conversation (triages it out of the Unibox), or restores it with archived=false. | |
oxygen_inbox_auto_tagger_get | Shows the AI Inbox Tagger config: enabled state, tag allowlist, target channels. Null when never configured. | read-only |
oxygen_inbox_auto_tagger_set | Configures the AI Inbox Tagger: enable/disable, replace the tag allowlist (max 50; [] pauses tagging), pick target channels. | |
oxygen_inbox_backfill | Opt-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_bulk | Applies one triage action — set_status, archive, or unarchive — across up to 100 hand-picked conversation ids (from oxygen_inbox_list). | |
oxygen_inbox_draft_reject | Rejects an open AI reply-agent draft so it leaves the review queue. Does not send anything. | |
oxygen_inbox_draft_update | Edits an open AI reply-agent draft's body before approval. Does not send. | |
oxygen_inbox_drafts_list | Lists the AI reply-agent's drafts awaiting review (the approve queue): queued + edited by default, across channels (email + LinkedIn). | read-only |
oxygen_inbox_get | Gets one conversation with its full message thread (chronological): LinkedIn (default), WhatsApp, or (channel=email) a Zapbox-synced email conversation. | read-only |
oxygen_inbox_label_archive | Archives a custom status label. System labels and labels still applied to a conversation are rejected. | |
oxygen_inbox_label_create | Creates a custom inbox status label (the '+ Create Label' action). | |
oxygen_inbox_label_restore | Restores an archived custom status label under its original key. Idempotent if already active. | |
oxygen_inbox_label_update | Updates 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_list | Lists 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_list | Lists Unibox conversations newest-first. channel=all merges email, LinkedIn, and WhatsApp; one channel narrows it. | core read-only |
oxygen_inbox_mark_all_read | Marks EVERY conversation matching the filters read across email, LinkedIn, and WhatsApp, not just one page. | |
oxygen_inbox_mark_read | Marks 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_get | Gets 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_set | Configures the AI reply agent (the draft-only 'AI Sales Agent'). | |
oxygen_inbox_rescan | Re-queues conversations for background re-classification (status + drafted reply). | |
oxygen_inbox_send | Replies 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_status | Sets 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_sync | Forces a backstop sync from Unipile, pulling recent chats and messages into the unibox. | |
oxygen_inbox_tags | Adds/removes workspace tags on a conversation — email (default), LinkedIn, or WhatsApp (Tags primitive; see oxygen_tags_list). | |
oxygen_messages_query | Full-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_stats | Campaign-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_schedule | Schedules 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_setup | Configures 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_status | Gets one notetaker session, including Recall status, artifacts, linked CRM activity id, and credit reservation/usage state. | read-only |
oxygen_voice_numbers | The org's dialing pool. | |
oxygen_voice_tasks_list | Lists 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_update | Moves 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_list | Lists 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_action | Acts on one WhatsApp chat (see the action enum). | |
oxygen_whatsapp_connect | Returns 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_disconnect | Disconnects a WhatsApp account so it stops sending and reading immediately. | |
oxygen_whatsapp_draft | Drafts 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_reject | Rejects an open WhatsApp draft so it leaves the review queue. | |
oxygen_whatsapp_draft_update | Edits an open WhatsApp draft's body before approval/send. | |
oxygen_whatsapp_drafts_list | Lists the WhatsApp founder-voice drafts queue (defaults to open drafts awaiting approval). | read-only |
oxygen_whatsapp_forward | Forwards 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_get | Gets 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_sync | Backfills ONE WhatsApp conversation's message history; call again with the same chat_id to poll. | |
oxygen_whatsapp_limits_get | Reads 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_set | Updates per-account daily caps for WhatsApp sends (max 40/day) AND reads, plus action spacing and the daily-reset timezone. | |
oxygen_whatsapp_profile_get | Reads the connected number's own WhatsApp profile: display name, About/status, picture, business flag. | read-only |
oxygen_whatsapp_profile_update | Edits 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_sync | Refreshes account health/status from Unipile for all (or one) connected WhatsApp accounts. | |
oxygen_whatsapp_warm_send | Sends ONE warm WhatsApp message to a contact who ALREADY has a WhatsApp conversation with a connected account. |
publishing (?toolset=publishing)
| Tool | What it does | Notes |
|---|---|---|
oxygen_engagement_comment | Comments on a LinkedIn post, or replies to a comment with comment_id. | |
oxygen_engagement_harvest | Starts 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_status | Shows 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_engagers | Reads 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_react | Adds a reaction to a LinkedIn post, or to a comment with comment_id. | |
oxygen_inmail_balance | Reads the remaining LinkedIn InMail credit balance for a connected sender account (requires Premium / Sales Navigator / Recruiter on that account). | read-only |
oxygen_linkedin_connections_import | Reads a LinkedIn account's 1st-degree connections into an enrichable Clay-like workspace table plus a deduped system-of-record mirror. | |
oxygen_linkedin_connections_status | Shows 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_import | Reads a LinkedIn account's followers into an enrichable workspace table and a deduped mirror. | |
oxygen_linkedin_followers_status | Shows 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_setup | Creates or reuses two durable OXYGEN Tables: one deduped LinkedIn Engaged People table and one linked LinkedIn Touchpoints table. | |
oxygen_linkedin_intent_status | Shows the canonical linked people/touchpoint tables and the capture-only LinkedIn feeds filling them. Read-only. | read-only |
oxygen_linkedin_invites_sent | Lists the account's pending sent LinkedIn connection invitations with their invitation ids — the ids oxygen_linkedin_invites_withdraw cancels. | read-only |
oxygen_linkedin_invites_withdraw | Withdraws pending sent LinkedIn invitations. | |
oxygen_linkedin_send_invite | Sends a LinkedIn connection invitation. | |
oxygen_posts_comments_list | Lists comments on a LinkedIn post (or, with comment_id, the replies under one comment). | read-only |
oxygen_posts_create | Publishes 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_delete | Deletes 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_get | Gets 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_list | Lists who reacted to a LinkedIn post (or, with comment_id, to one comment). | read-only |
oxygen_profile_viewers | Lists the named LinkedIn profile viewers exposed by the connected account's Who Viewed My Profile (WVMP) analytics page. | read-only |
oxygen_profile_viewers_import | Promotes '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_status | Shows 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_amplification | Standing 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_analytics | Stored 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_comments | Read 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_accept | Accepts one draft variant into the publish queue as a NEEDS-APPROVAL post. It does not publish: approve the post separately. | |
oxygen_publishing_draft_reject | Rejects a post draft. The reason is filed to the Knowledge Graph, so later drafts learn what this workspace will not publish. | |
oxygen_publishing_drafts_list | Lists AI post drafts awaiting a human decision. Defaults to the open queue (queued + edited). | read-only |
oxygen_publishing_idea_add | Files a content idea into the backlog — a draft with kind=idea and no publish time. | |
oxygen_publishing_import | Bulk-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_url | Creates media and an upload_url. PUT byte_length with upload_headers, then mark uploaded. | |
oxygen_publishing_media_uploaded | Verifies a Publishing media object exists in storage and marks the durable media asset uploaded. | |
oxygen_publishing_mentions_resolve | Resolves LinkedIn identities (@handles, /in/ and /company/ URLs, provider ids, URNs) referenced by a post so they publish as real tagged mentions. | |
oxygen_publishing_notes | The 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_approve | Approves a scheduled Publishing post. This authorizes the worker to publish it through the connected provider account when publish_at is due. | |
oxygen_publishing_posts_boost | One-off amplification of ONE post: creates a post-scoped, already-enabled policy and plans its actions immediately. | |
oxygen_publishing_posts_cancel | Cancels a draft, scheduled, queued, or failed Publishing post so the worker will not publish it. | |
oxygen_publishing_posts_create | Creates a scheduled post; only approved rows publish when due. | |
oxygen_publishing_posts_delete | Deletes a NEVER-ATTEMPTED scheduled post (draft/scheduled/queued, empty attempt ledger). | |
oxygen_publishing_posts_draft | Drafts post variants with AI, grounded in the workspace Knowledge Graph (voice, positioning, campaign learnings). | |
oxygen_publishing_posts_get | Gets one scheduled Publishing post with resolved media assets, preview URLs, provider result, and publish attempt history. | read-only |
oxygen_publishing_posts_list | Lists 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_retry | Moves 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_review | Pre-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_update | Updates an editable draft, scheduled, or failed post. | |
oxygen_publishing_revisions | Content 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_tags | Adds/removes unified workspace tags on a scheduled post. Tags are internal and never published. |
workflows (?toolset=workflows)
| Tool | What it does | Notes |
|---|---|---|
oxygen_observability_approvals | Workspace-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_events | Lists 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_runs | Workspace-wide runs lens: active and failed runs across workflows and table runs (search/sourcing included), newest first. | read-only |
oxygen_runs_get | Returns a workspace run record by id (provider call, AI column, or workflow step) including provenance and steps. | read-only |
oxygen_runs_list | Lists 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_get | Returns 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_items | Lists per-row items for a table action run, optionally filtered by status. Use to inspect failures. | read-only |
oxygen_table_runs_provider_summary | Summarizes provider attempts, no-results, errors, upstream request events, poll statuses, and credit capture/release for a table action run. | read-only |
oxygen_table_runs_wait | Polls 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_activity | Returns 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_failures | Lists failed background worker items — table action runs, table ingestions, and Postgres-queue jobs — with failure reasons and counts. | read-only |
oxygen_worker_queue_stats | Returns 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_apply | Deprecated alias for oxygen_blueprints_apply; creates a disabled workflow. | |
oxygen_workflow_templates_describe | Deprecated alias for oxygen_blueprints_describe. | read-only |
oxygen_workflow_templates_preflight | Deprecated 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_run | Removed alias (HTTP 410). Use oxygen_blueprints_apply, then oxygen_workflows_call. | |
oxygen_workflow_templates_search | Deprecated alias for oxygen_blueprints_list. | read-only |
oxygen_workflow_webhook_deliveries | Lists 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_apply | Publishes 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_approvals | Lists durable mid-run approvals; defaults to pending. | read-only |
oxygen_workflows_call | Enqueues any workflow without simulating its trigger. Requires mode; live needs approved=true and a positive max_credits cap. | core |
oxygen_workflows_cancel | Cancels a queued or running workflow run. | |
oxygen_workflows_delete | Previews or permanently deletes one or many workflows. | |
oxygen_workflows_disable | Disables one or many workflows and their triggers. | |
oxygen_workflows_duplicate | Duplicates a workflow as a disabled copy by default, with new workflow and webhook ids. | |
oxygen_workflows_enable | Enables one or many workflows. | |
oxygen_workflows_events_emit | Emits an event to matching workflows. Live requires approval and a positive cap per delivery. | |
oxygen_workflows_events_get | Gets one curated workspace event by exact catalog id and returns a ready-to-copy workflow trigger object. | read-only |
oxygen_workflows_events_list | Searches 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_export | Exports one graph-native workflow as portable editable JSON. Source account UUIDs and trigger authority are removed. | read-only |
oxygen_workflows_failures | Lists failed workflow runs and trigger scheduler failures for the organization. Durable recipe bundles are omitted unless include_bundle is true. | read-only |
oxygen_workflows_get | Gets a workflow automation definition and current manifest. | read-only |
oxygen_workflows_import | Creates a new current but disabled workflow from a portable graph definition. Never overwrites or enables a workflow. | |
oxygen_workflows_import_preflight | Checks create-only workflow id and exact destination account bindings without creating anything. | read-only |
oxygen_workflows_lint | Validates a compiled workflow manifest without saving it. | read-only |
oxygen_workflows_list | Lists workflows; optionally filter by tag. | core read-only |
oxygen_workflows_mcp_disable | Unpublishes a workflow's dynamic MCP tool without disabling the workflow. | |
oxygen_workflows_mcp_enable | Publishes an active workflow as a dynamic MCP tool; approval and spend gates remain unchanged. | |
oxygen_workflows_rename | Renames only the display label; the next apply may overwrite it from the manifest. | |
oxygen_workflows_resume | Approves 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_retry | Previews 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_revisions | Every published version of one workflow, newest first: version, source hash, compiler version, publisher, and which one runs now (isCurrent). | read-only |
oxygen_workflows_revisions_restore | Re-publishes an earlier version as the newest one. | |
oxygen_workflows_run | Gets one workflow run with step state, outputs, events, and worker claim identity. | read-only |
oxygen_workflows_runs | Lists workflow runs, optionally filtered by workflow and status. | read-only |
oxygen_workflows_schema | Returns the JSON schema for OXYGEN workflow manifests and API calls. | read-only |
oxygen_workflows_tag | Replaces a workflow's tag set; [] clears it. Does not create a revision. | |
oxygen_workflows_tail | Polls until completion, failure, approval, clock wait, or timeout. | core read-only |
agents (?toolset=agents)
| Tool | What it does | Notes |
|---|---|---|
oxygen_agent_approval_decide | Approves 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_create | Creates a user-defined custom Agent and publishes its first immutable version. | |
oxygen_agent_custom | Lists 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_delete | Archives (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_disable | Disables one workspace agent so it stops its drafts/runs next worker tick. The notetaker keeps manual scheduling by design. | |
oxygen_agent_enable | Enables one workspace agent so it resumes its approval-gated drafts/runs. Writes only its enabled flag. | |
oxygen_agent_file_create | Stores a tenant-owned text file for Agent context or sandbox input. Inline content is capped at 1.5 MB. | |
oxygen_agent_files_list | Lists tenant-owned text files available as Agent context and sandbox inputs. File content remains tenant-scoped. | read-only |
oxygen_agent_get | Shows one agent — the Workspace Agent, a specialist, or a custom agent — with its active version, approval boundary, and recent runs. | read-only |
oxygen_agent_list | Lists workspace agents with enabled state, approval boundary, and recent runs. | read-only |
oxygen_agent_run | Starts 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_cancel | Requests checkpointed cancellation of an active Workspace or custom Agent run. | |
oxygen_agent_run_get | Reads one Workspace or custom Agent run plus its append-only event ledger. Use after_seq for incremental polling. | read-only |
oxygen_agent_runs | Recent runs across built-in and custom Agents (or one via slug), newest first, with status, credits, and deep-links. | read-only |
oxygen_agent_trigger_create | Creates a cron, internal event, or signed-webhook trigger for the Workspace Agent. | |
oxygen_agent_trigger_set | Activates, pauses, or archives one Workspace Agent cron, event, or webhook trigger. | |
oxygen_agent_triggers | Lists configured Workspace Agent cron, internal event, and signed-webhook triggers, including the next cron time but never webhook secrets. | read-only |
oxygen_agent_update | Publishes an immutable version (governed model, context, skills, tools, sandbox, limits) for a runtime agent — the Workspace Agent or a custom agent. | |
oxygen_copilot_approve | Resolves one pending approval a Workspace Copilot turn is blocked on. | |
oxygen_copilot_attachments | Lists 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_cancel | Cancels 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_get | Reads 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_send | Sends one user message to a Workspace Copilot session and runs the turn. | |
oxygen_copilot_start | Starts a Workspace Copilot session — a governed, budget-capped conversational agent that operates this Oxygen workspace one turn at a time. |
billing (?toolset=billing)
| Tool | What it does | Notes |
|---|---|---|
oxygen_billing_audit | Summarizes where managed Oxygen credits were granted, reserved, captured, released, or spent for the active organization. | read-only |
oxygen_billing_balance | Returns 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_plan | Previews plan-change tax, amount, and timing, then returns Stripe's confirmation URL. Nothing changes until confirmed there. | core |
oxygen_billing_commitments | Lists 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_plan | Staff only. | staff |
oxygen_billing_topup | Buys 8,000-1,000,000 on-demand credits at $1.25 per 1,000. | |
oxygen_billing_usage | Returns recent Oxygen credit transactions/BYOK usage events, automation action events, or connected-account seat pricing for the active organization. | core read-only |
oxygen_budget_delete | Deletes a standing budget policy by id. Requires an admin or owner role. | |
oxygen_budget_list | Lists the active organization's standing credit caps (budget policies) by scope and window. Read-only. | core read-only |
oxygen_budget_set | Sets, 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_show | Show 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)
| Tool | What it does | Notes |
|---|---|---|
oxygen_custom_integrations_apply | Creates or updates a custom HTTP tool integration from a manifest, registering its operations as custom_http.* tools in the catalog. | |
oxygen_custom_integrations_list | Lists 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_deliveries | Lists recent provider webhook deliveries (Composio triggers, HubSpot webhooks, etc.) for this organization, including the resulting workflow run ids. | read-only |
oxygen_integration_events_disable | Disables a provider event subscription so matching provider webhooks stop triggering workflows. | |
oxygen_integration_events_enable | Enables a provider event subscription so matching provider webhooks can trigger workflows. | |
oxygen_integration_events_list | Lists 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_connect | Connects a supported integration (Composio OAuth toolkits or native API-key/BYOK integrations). | |
oxygen_integrations_disconnect | Disconnects 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_list | Lists 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_actions | Lists 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_destinations | Lists where a connected integration can send, so you never ask a user to paste a raw provider id. | read-only |
oxygen_integrations_run_action | Runs an action for a connected integration — a Composio action or a native-provider operation (Salesforge and the Forge family, Instantly, …). | |
oxygen_integrations_test | Re-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)
| Tool | What it does | Notes |
|---|---|---|
oxygen_admin_costs | Staff-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_kpis | Staff-only. | read-only staff |