MCP tool reference
Every released oxygen_* MCP tool, grouped by the toolset pack that advertises it.
A fresh general MCP client sees only the core set — 45 curated tools plus the 4 always-listed oxygen_capabilities_* tools — and runs every other customer tool through oxygen_capabilities_read (read-only) or oxygen_capabilities_call, with no reconnect. ?toolset=<pack> or ?toolset=full lists more tools natively. The packs are workspace, collaboration, ugc, knowledge, crm, tables, runs, enrichment, signals, sequences, deliverability, inbox, publishing, workflows, agents, billing, integrations, admin; several may be combined (?toolset=crm,tables). General profiles shape tools/list only: CallTool dispatches over the full registry.
The ChatGPT reviewed profile at ?toolset=chatgpt-v1 is a separate allowlist for both listing and calls. Its named search, recurring-feed and column operations use narrower schemas than the general tools below. Capability dispatch, arbitrary catalog tools and broader packs cannot extend that connection. See the ChatGPT page for its supported operations and approvals.
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. |
Over 900 tools total: 45 core, 7 staff-only, across 18 packs plus the always-listed capabilities pair — every released tool is listed below. Unreleased internal pilots are omitted from this public reference.
capabilities (always listed)
| Tool | What it does | Notes |
|---|---|---|
oxygen_capabilities_call | Run a customer tool by name from any profile with its own previews, spend caps and approvals. Prefer oxygen_capabilities_read for reads. | core |
oxygen_capabilities_read | Run a read-only tool or selected read_operations by name from any profile. Host approval may apply. Refuses writes and credit spend; use oxygen_capabilities_call. | core read-only |
oxygen_capabilities_schema | Get up to 10 customer tool schemas by exact name; unknown names include did_you_mean. Run with the core read/call runners. | core read-only |
oxygen_capabilities_search | Customer MCP tools beyond core; native GTM owners/boundaries, not the provider/enrichment catalog (oxygen_tools_search). oxygen_capabilities_schema →… | core read-only |
workspace (?toolset=workspace)
| Tool | What it does | Notes |
|---|---|---|
oxygen_activation_checklist | Read this workspace's getting-started checklist: leads in a table, a first sequence, a connected sending account and a launched sequence, each with whether it is done and a link to do it; eligible… | read-only |
oxygen_activation_state | Read this workspace's onboarding activation state and next available actions. | read-only |
oxygen_api_keys_create | Create a workspace API key; requires the caller's personal user session. The token is returned once. | |
oxygen_api_keys_list | List workspace API keys without revealing their tokens. | read-only |
oxygen_api_keys_revoke | Revoke a workspace API key; requires the caller's personal user session. | |
oxygen_connector_events_get | What one connected app (ChatGPT…) is subscribed to: the OXYGEN events it gets (reply classified, run settled, approval requested…), each with filters, status, workspace and expiry, plus what… | read-only |
oxygen_connector_events_revoke | Destructive: stops OXYGEN sending events to one connected app (ChatGPT…) by revoking one event subscription, or "all" of its live ones, optionally in one workspace. | |
oxygen_connector_list | Lists your OAuth apps, default workspaces, live event subscriptions and rolling 24-hour credit ceilings/usage; this_app marks the caller. | read-only |
oxygen_connector_settings_read | This app's OXYGEN settings (its default workspace) as a form: schema, values, layout. Read-only. | read-only |
oxygen_connector_settings_update | Saves the settings changed in this app's settings form and returns every value. | |
oxygen_connector_update | Changes one connected app's settings (ChatGPT, Claude, Codex…), leaving your other apps unchanged: default_workspace (same setting as picking a workspace inside that app; latest wins) and… | |
oxygen_customer_credit_prices | Read the customer credit-price catalog, quantity decisions and price provenance used by the Table picker. | read-only |
oxygen_database_attach | Attach an owned PostgreSQL database and initialize this workspace's schema/roles immediately. | |
oxygen_database_cost_policy | Read this workspace's retired Neon cost-policy status. PostgreSQL has no per-workspace sleep control; stored Neon policy is historical. 0 credits. | read-only |
oxygen_database_cost_policy_reconcile | Retired Neon compatibility action: reports applied=false with no operations; does not suspend PostgreSQL. Native workspace write access applies; no preview or confirmation field. 0 credits. | |
oxygen_database_migrate | Apply pending workspace database migrations immediately; optionally repair runtime/read passwords. | |
oxygen_database_query | Read this workspace's database with one bounded SQL statement. | read-only |
oxygen_feedback | Sends feedback as a Plain conversation. | core |
oxygen_home_standup | The workspace standup as one read: what happened since this reader last looked, every queue waiting on a person (unread and positive replies, failed enrollments, cold deals, mailboxes needing… | read-only |
oxygen_onboarding_complete | Complete the active workspace's onboarding step and record its discovery-source choices. The other choice requires source_other. | |
oxygen_onboarding_start | Answer onboarding's choice card. own_agent continues to connecting your own agent. copilot opens the Workspace Copilot with the onboarding conversation already started, billed in credits like any… | |
oxygen_orgs_billing_link | One paid plan for multiple workspaces/agency clients, no duplicate payment. | 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 the OXYGEN workspaces this credential can reach, and which is active. An org-bound API key reaches only its own — credential says if it can switch. | read-only |
oxygen_orgs_select | Switches the active OXYGEN workspace. An org-bound API key cannot: it is refused with org_scoped_credential. | core |
oxygen_sessions_list | List your personal CLI sessions across workspaces, including your organizations; OAuth or personal user session required, organization API keys are refused. | read-only |
oxygen_sessions_revoke | Revoke one personal CLI session; if this client uses it, calls stop until you reconnect with a new session. OAuth or personal user session required; organization API keys are refused. | |
oxygen_settings_beta_features_get | Read this workspace's beta-navigation opt-in. | read-only |
oxygen_settings_beta_features_set | Enable or disable beta navigation for every workspace member; admin or owner only. Approve the preference change. This does not disable routes. 0 credits. | |
oxygen_settings_pages_get | Lists the OXYGEN web app's sidebar navigation pages (Settings → Customise) with which ones you hid from your own sidebar in this workspace; only you see your choices. | read-only |
oxygen_settings_pages_update | Hides or shows pages in your own OXYGEN sidebar navigation in this workspace (Settings → Customise); teammates' sidebars do not change. hide/show take page paths or names from… | |
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_skills_get | Read one authenticated, entitled product-skill entrypoint or manifest-listed supporting file. | read-only |
oxygen_support_ticket_create | Opens a Plain support conversation with a required message and optional subject. | |
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_attach | Replaces workspace tags on one Signal type, saved Dashboard, runtime Agent, or saved Ads search. This is metadata only and never runs a provider. | |
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 this connector session is authorized for, plus factual onboarding markers. | 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 |
oxygen_workspace_billing_owners | Read the current workspace's billing owner, entitlement and payer candidates, including ineligibility reasons. Optional organization asserts the current workspace. Free. | read-only |
oxygen_workspace_create | Create a workspace for the authenticated person's account and begin native company setup. Workspace API keys cannot create personal workspaces. | |
oxygen_workspace_database_provision | Provision or retry this workspace database immediately; already-ready workspaces retain it. | |
oxygen_workspace_database_status | Read this workspace's database status and latest completed provisioning/migration receipt; not a list of current pending migrations. | read-only |
oxygen_workspace_map | What THIS workspace actually contains, by primitive: the newest tables, CRM objects, sequences, workflows, agents, wiki pages, posts and projects, each with its id, name, last activity, tags and… | read-only |
oxygen_workspace_queue_repair | Repair this workspace's stalled execution queues through the native bounded recovery path. | |
oxygen_workspace_skills_archive | Archive a workspace skill, retaining files and Knowledge history; 0 credits, no inference/provider calls or new tool/spend/approval authority. | |
oxygen_workspace_skills_create | Create workspace-<name>, visible to this workspace's members; 0 credits, no inference/provider calls or new tool/spend/approval authority. | |
oxygen_workspace_skills_get | Read a workspace skill's SKILL.md or one supporting text file, with exact content, revision and the document index. Skills are task guidance; they grant no tool, spend or approval authority. | read-only |
oxygen_workspace_skills_import | Import to workspace members atomically, create-only; ≤50 text files/1 MB; scripts inert; 0 credits, no inference/paid provider calls or new tool/spend/approval authority. | |
oxygen_workspace_skills_list | Find skills shared with workspace members by literal substring of name or description; short keywords work best; read-only, 0 credits; next_cursor continues the list. | read-only |
oxygen_workspace_skills_update | Replace a skill file at its expected revision; read first, stale revisions refuse; 0 credits, no inference/provider calls or new tool/spend/approval authority. |
collaboration (?toolset=collaboration)
| Tool | What it does | Notes |
|---|---|---|
oxygen_approval_gates_list | Read this workspace's approval gates, optionally for one exact subject. | read-only |
oxygen_approvals_cancel | Withdraw an approval request you created; grants no approval. | |
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_delete | Retract your own internal workspace comment while retaining its audit trail. | |
oxygen_comments_edit | Edit your own internal workspace comment; records the edit time. | |
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. | |
oxygen_members_client_role_set | Set or clear the restricted client overlay; admin only. May read pending Clerk invitations; sends no invitation. Free. | |
oxygen_members_workspace_role_set | Change a member's workspace role in Clerk; admin only, with self-role and last-administrator protection. Free. | |
oxygen_workspace_members_list | Read workspace member roles, with Clerk profiles and pending invitations. Free. | read-only |
ugc (?toolset=ugc)
| Tool | What it does | Notes |
|---|---|---|
oxygen_ugc_amplification_reconcile | Preview an immutable observation for an effect_unknown action. Confirm with approved as an operator. Records evidence only; authorizes no provider call or retry. | |
oxygen_ugc_amplification_save | Save exact opted-in sender scope and bounded post-specific amplification. Enabling needs explicit approval. | |
oxygen_ugc_application_create | Apply to a public program (oxygen_ugc_get view discover, or a join link's program id). join_policy automatic joins at once (joined: true); otherwise the brand approves or declines, and approval… | |
oxygen_ugc_application_decide | Brand approves or declines a pending application (view applications with program_id). Approval adds the creator at once and emails them; a declined applicant cannot reapply. Free. | |
oxygen_ugc_comment_cancel | Cancel a scheduled program post comment before it runs. Organizer workspace only. | |
oxygen_ugc_comment_schedule | Schedule one exact public LinkedIn comment on a program post from an organizer-workspace sender; on a post not live yet it waits and posts once live (fails after 14 days). | |
oxygen_ugc_creator_profile_update | Save this creator workspace's profile (topics it posts about, its audience), readable by brands whose programs it joined. Free. | |
oxygen_ugc_creator_target_update | Organizer sets one creator's own posting deal (e.g. 1/month vs the program's 2/month) by participation_id or pending invitation_id; null returns them to the program standard. Free. | |
oxygen_ugc_draft_create | Draft a post from the creator's topic, voice and shared program pages. A bare call is a free preview returning request_id; only the creator repeats it with approved and max_credits. | |
oxygen_ugc_get | Read programs, creator memberships, posts, calendar/history, analytics, shared Knowledge, voice, sponsorship or host/peer amplification. post_history uses post_id + enrollment_version; voice… | read-only |
oxygen_ugc_invite_accept | Accept an exact invitation in the creator workspace. Check it first with oxygen_ugc_get view invitation; a refusal names its reason. | |
oxygen_ugc_invite_create | Preview a free creator invite email to one email or up to 50 emails, optionally sponsoring their LinkedIn accounts. | |
oxygen_ugc_invite_revoke | Revoke an unaccepted invitation. | |
oxygen_ugc_invite_send | Preview one pending invite email. | |
oxygen_ugc_participation_update | Change sender or approval authority, or leave permanently: posts and shared history remain, and neither this workspace nor its LinkedIn profile can rejoin. oxygen_ugc_post_remove removes one post. | |
oxygen_ugc_peer_amplification_reconcile | Preview an immutable observation for this creator's effect_unknown peer action. Approval records evidence without a provider call or retry. | |
oxygen_ugc_peer_amplification_save | Preview or save this creator's own peer-engagement consent, sender, voice and caps. The creator wallet pays; the host gate must also be enabled. | |
oxygen_ugc_post_approve | Record the creator's approval of the current post, or the program organizer's if the creator delegated approval (oxygen_ugc_participation_update). Brands cannot require approval. | |
oxygen_ugc_post_enroll | Enroll one existing creator-owned post in this participation. | |
oxygen_ugc_post_remove | Remove a creator-owned post from one program before publication. Keeps the personal draft and immutable enrollment history. | |
oxygen_ugc_post_update | Edit or schedule an enrolled post with creator or delegated authority; publishing gates still apply. | |
oxygen_ugc_program_create | Create a master UGC program from its product link; name defaults to the site's name and its icon is fetched. Creators approve their own posts; brands cannot require approval. Free. | |
oxygen_ugc_program_delete | Permanently delete a program and pending invites. Omit approved to preview. Refused after a creator joins; archive via program_update. | |
oxygen_ugc_program_duplicate | Copy settings, shared Knowledge and posting target to a new active program. Creators, invitations, posts and sponsorship are excluded. | |
oxygen_ugc_program_update | Update program settings and selected shared knowledge. | |
oxygen_ugc_sponsorship_cancel | Preview stopping one sponsorship without revoking participation. | |
oxygen_ugc_sponsorship_confirm | Confirm the exact sponsorship quote as the same signed-in master admin. Card quotes return checkouts; credit quotes start the reservations or fail with insufficient_credits. | |
oxygen_ugc_sponsorship_preview | Preview sponsoring creators who already joined, as a signed-in master admin: funding is card (seat plus 10,000-credit grant) or credits (one LinkedIn reservation per creator). | read-only |
oxygen_ugc_voice_import | Preview LinkedIn history and voice inference. | |
oxygen_ugc_voice_save | Save your writing preferences/examples as a private provisional Knowledge voice. |
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_canonical_get | Read the current canonical (pinned) voice, brand or positioning that AI copy uses, or any type's pinned asset. present=false means none is pinned; grounding_when_absent says what AI copy uses instead. | 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 | Resolves workspace context and assets. purpose='onboarding' adds a research brief, inferred GTM hypotheses (user corrections win), workspace campaigns, data and access, and plays to offer; first… | core read-only |
oxygen_context_synthesize | Runs one low-cost AI synthesis of workspace evidence into durable knowledge; every run spends a few managed AI credits, the preview included, and reports credits_used. kind='voice' learns your… | |
oxygen_knowledge_agent_get | Read scheduled synthesis config: enabled (default off), cadence hours and daily managed-credit cap. | read-only |
oxygen_knowledge_agent_set | Configure unattended synthesis of sources into working learnings, with a UTC-day spend cap. | |
oxygen_knowledge_bootstrap | Research the company domain via LinkedIn and website reads; save company facts, a cited note and separate GTM hypotheses. | |
oxygen_knowledge_file | List/read original Knowledge files or upsert/archive with revision CAS (0=create). Use text, property_patch, or bytes_base64. Canonical edits may need approval. Get supports ranges. | |
oxygen_knowledge_file_download | Download exact bytes for one entitled Knowledge file or pinned revision. | read-only |
oxygen_knowledge_file_get | Read one entitled Knowledge file's metadata and bounded text when supported; revision pins historical content. | read-only |
oxygen_knowledge_files_list | List files in one entitled Knowledge repository mount; returns metadata and a bounded cursor. | read-only |
oxygen_knowledge_folders_create | Creates a persistent folder. Place files with oxygen_knowledge_page_upsert page.folderId. Free internal write. | |
oxygen_knowledge_folders_list | Lists folders and pages, including empty folders. Omit view for the existing explorer; view=folders returns id/name/parentId in bounded windows. Follow next_cursor; no sharing/permission metadata. | read-only |
oxygen_knowledge_folders_move | Moves a folder and its contents. Page slugs stay stable. Free internal write. | |
oxygen_knowledge_graph | Returns page nodes and [[wikilink]] edges, including unresolved targets. | read-only |
oxygen_knowledge_index | Free active/draft catalog with page links/revisions. | core read-only |
oxygen_knowledge_lint | Free structural health report: orphan/dead-end pages, unresolved links, contradictions, competing canonical copy, missing metadata, duplicate/oversized/stale pages, empty seed hubs, decisions… | |
oxygen_knowledge_log_append | Append a wiki filing. Pair with oxygen_knowledge_page_upsert when filing an answer; reference its slug. | core |
oxygen_knowledge_log_list | Read append-only wiki history: seeds, page writes, pins, filings, notes and decisions, newest first. Read-only, 0 credits. Skim before filing more; pass nextCursor as cursor for older entries. | read-only |
oxygen_knowledge_page_archive | Archive a knowledge page; content/history remain, links become unresolved. Pass expected_revision for the version you reviewed. | |
oxygen_knowledge_page_get | Free page read. | core read-only |
oxygen_knowledge_page_list | Index pages filtered by type, status or tags. Read matching pages with oxygen_knowledge_page_get before answering; cite slugs. | read-only |
oxygen_knowledge_page_pin | Pins an existing page as its type's default AI grounding copy; canonical=false unpins. | |
oxygen_knowledge_page_restore | Restore a knowledge page to an earlier revision as a new revision; history is kept. Pass expected_revision to refuse if the page changed since. Sensitive pages still need approval. | |
oxygen_knowledge_page_revision_get | Read full historical page metadata, Markdown and data by slug or id plus revision from oxygen_knowledge_page_revisions_list. | read-only |
oxygen_knowledge_page_revisions_list | Page history, newest first, with metadata, actor and timestamp; no bodies. Address by slug or id. Open a snapshot with oxygen_knowledge_page_revision_get. | read-only |
oxygen_knowledge_page_upsert | Free internal write: create/update by slug/id or title. | core |
oxygen_knowledge_proposal_decide | Approves or rejects an open Knowledge Graph proposal by its id or proposal slug. | |
oxygen_knowledge_proposals_list | Review pending captured Knowledge changes. | read-only |
oxygen_knowledge_repository | Manage GitHub Knowledge mounts after GitHub auth. Preview before connect; two_way permits branch writes. Conflict resolves pin the reviewed revision and SHA. 0 credits. | |
oxygen_knowledge_search | Free wiki search: hybrid when enabled (platform-funded allowance), else keywords. | core read-only |
oxygen_knowledge_seed | Ensure the starter ICP and Offers draft pages exist. Idempotent; preserves edits. Also runs on onboarding and first sync. Returns scaffold state. | |
oxygen_knowledge_sync_delta | Sync complete wiki pages/tombstones; first call may seed missing starter pages. Follow next_cursor; an oversized page is refused without skipping. 0 credits. | |
oxygen_knowledge_sync_manifest | Read complete wiki revision/hash metadata. has_more/truncated mean more pages, not cut entries. last_cursor marks the last returned page; next_cursor resumes when more remain. | read-only |
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_apply | Installs a recipe's kit under one approval: every Blueprint stage in order — tables and columns created or reused, each Workflow registered DISABLED, an already-active stage skipped, a receipt… | |
oxygen_recipes_get | Returns one recipe: the playbook body (or one section), prerequisites with check commands, credit posture, benchmarks, its kit (ordered Blueprint stages) and the kit's install status here. | 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 plays with prerequisites, credit posture, approval gates) ranked by relevance to query. Use when the user asks what to do; view summary to pick one, then oxygen_recipes_get. | read-only |
oxygen_recipes_preflight | Preflights a recipe's kit (its ordered Blueprint stages) into one forecast: missing integrations/context, collisions, priced upper bounds, and which stages are already installed or active. | 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_connections | Read a CRM record's connected conversations, sequence enrollments and related activity. | 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 | Read CRM automatic-enrichment configuration for companies/people: list is free via the call gateway; omit object and set backfill=false to skip backlog counts. | |
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_file_attach | Attach inline base64 bytes to a CRM record; each call creates a new file and attachment, including identical retries. | |
oxygen_crm_file_complete_upload | Verify a reserved CRM upload and attach it to its record; mismatched bytes remain pending. | |
oxygen_crm_file_delete | Detach a CRM attachment by attachment_id, preserving the stored file. | |
oxygen_crm_file_download | Download a tenant-owned record attachment by attachment_id. The native authenticated response contains its exact bytes. | read-only |
oxygen_crm_file_prepare_upload | Reserve a CRM file upload by exact name, length and SHA-256; returns a scoped upload URL. | |
oxygen_crm_files_attach | Attach inline base64 bytes to a CRM record; each call creates a new file and attachment, including identical retries. | |
oxygen_crm_files_detach | Removes the attachment link by attachment_id from files_list; keeps the stored file and any other links. No credits. | |
oxygen_crm_files_list | Lists attached originals, newest first: files[].id is the attachment id; fileId is storage identity, name is filename, sizeBytes is byte length and mimeType is opaque. | read-only |
oxygen_crm_files_read | Reads up to 2048 original bytes by attachment id from files_list, separate from extracted text. Returns base64 and exact same-file continuation. Read-only, no credits. | read-only |
oxygen_crm_files_upload_complete | Confirms a reserved file after its presigned PUT. Server verifies size, SHA-256 and type before attaching. file_id is the reserved file id; detach later uses attachment id. No credits. | |
oxygen_crm_files_upload_prepare | Reserves a record file and returns a presigned PUT URL. Upload the exact declared bytes, then call oxygen_crm_files_upload_complete; this step alone does not attach. No credits. | |
oxygen_crm_merge | Merges two CRM records of the same object into one. | |
oxygen_crm_note_delete | Delete one CRM note in this workspace. | |
oxygen_crm_note_update | Edit a CRM note's body, title or pinned state; an empty title clears it. | |
oxygen_crm_notes_add | Writes a note on a CRM record. Free, internal and editable afterwards, so it writes immediately rather than previewing first. Also lands on the record's timeline. | |
oxygen_crm_notes_delete | Soft-deletes a record note by note id. Its timeline position remains and reads redact its text. No credits. | |
oxygen_crm_notes_list | Lists a CRM record's notes, pinned first then newest, with cursor pagination. | read-only |
oxygen_crm_notes_update | Edits a tenant record note by note id. Omit unchanged fields; title=null clears and pinned=false unpins. No credits. | |
oxygen_crm_object_add_attribute | Adds one attribute (column) to an existing 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_object_remove_attribute | Removes a field the workspace added to a CRM object. | |
oxygen_crm_object_update_attribute | Changes one field on a CRM object: rename it, make it required or optional, or replace the choices of a select/status field. | |
oxygen_crm_objects_list | Lists CRM object names and table bindings in compact cursor pages. Describe one object for field configuration. Defaults to a bounded compact result; full projection is explicit. | read-only |
oxygen_crm_photos | Fills people photos from LinkedIn data already held in this workspace. Free local join; no provider call. Default dry_run preview; live applies. | |
oxygen_crm_photos_backfill | Preview or fill people photos from data this workspace already holds. Free; mode defaults to dry_run. | |
oxygen_crm_pipeline | Reads the deals object grouped by pipeline stage (lead → in_progress → won/lost), with per-stage deal counts and amount totals. | read-only |
oxygen_crm_record_assert | Creates or updates one CRM record by object identity. | |
oxygen_crm_record_connections | Reads the recent Messages and Sequence links for a record, by row id or native identity. | read-only |
oxygen_crm_record_get | Gets one record with identities and relationships. | read-only |
oxygen_crm_record_keep | Keeps one sample record as real. | |
oxygen_crm_record_related | Lists the records linked to one CRM record, grouped by relationship. Each group carries its real total, not just the preview length. | read-only |
oxygen_crm_record_search | Finds CRM records by normalized identity (domain, email, LinkedIn URL, external ID) or label. Read-only and bounded. mode=suggest is ranked typeahead on a partial string. | 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, so 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 scheduled bidirectional CRM sync: arms a cron and standing provider-write permission, then runs an immediate first cycle. | |
oxygen_crm_sync_import | Import records from connected HubSpot, Attio or Pipedrive into Oxygen Records. dry_run returns current unit prices with an unknown run total and makes no provider calls. | |
oxygen_crm_sync_links | Lists the external provider-id registry for one CRM record — which HubSpot/Attio/Pipedrive external ids are mapped to this Oxygen record (the import/sync provenance). | read-only |
oxygen_crm_sync_run | Run one CRM reconciliation cycle: pull provider changes and push changed Oxygen rows, using most-recent-edit-wins without echo loops. dry_run makes no provider calls and returns current unit… | |
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_crm_tasks_add | Creates a task on a CRM record — the human to-do, not the phone queue oxygen_voice_tasks_* serves. Free and internal, so it writes immediately. | |
oxygen_crm_tasks_list | Lists record to-dos, or workspace tasks when object and row_id are both omitted. Workspace defaults to open; assignee=me reads your work. Distinct from the Voice dial queue. | read-only |
oxygen_crm_tasks_queue | Read the workspace task queue by status, assignee and cursor. | read-only |
oxygen_crm_tasks_update | Completes, reopens, reassigns or re-dates a CRM task. Re-completing a completed task keeps its original completion time and adds no second timeline entry. | |
oxygen_directory_apply | Apply for an agency-directory listing for this workspace; reuses an existing open application. | |
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_logo_upload | Upload a public agency-directory logo and read back the updated listing; PNG, JPEG, WebP or SVG, at most 2 MB. | |
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_notetaker_calendar_connect | Create the OAuth authorization URL for a Google Calendar or Outlook notetaker connection. | |
oxygen_notetaker_calendar_schedule | Schedule recording for an existing calendar event after approval; an external CLI or MCP caller must supply an explicit max_credits ceiling. | |
oxygen_notetaker_calendar_sync | Synchronize upcoming Google Calendar or Outlook meeting events into this workspace's notetaker calendar. | |
oxygen_notetaker_desktop_upload_prepare | Prepare an approved desktop meeting recording and its scoped upload URL. Upload and completion remain separate steps. | |
oxygen_notetaker_note_edit | Save the markdown note for one meeting session and return the committed note. | |
oxygen_projects_color | Sets color; auto resets. | |
oxygen_projects_create | Creates table folders. | |
oxygen_projects_delete | Preview/delete folder + tables; oxygen_tables_restore before the purge date restores both. | |
oxygen_projects_list | Lists active folders. | read-only |
oxygen_projects_rename | Renames table folder. | |
oxygen_projects_tag | Sets tags; [] clears. | |
oxygen_table_row_relationship_set | Link one Table row to a target row through a relation (Table or CRM) and return the link. | |
oxygen_table_row_relationships | Read one Table row's linked records, across Table relations and CRM relationships, and the relations it can link through. | read-only |
oxygen_tables_records_import | Copy a Records object or saved view into a new Table, keyed by record id, once or kept in sync. The copy is free; each scheduled sync bills one workflow step. Records stay unchanged. dry_run previews. | |
oxygen_tables_records_status | Read a Records-imported Table's source object and view, last sync counts and schedule. Free. | read-only |
oxygen_tables_records_sync | Copy a Records-imported Table's source again now: adds new records, updates changed cells, keeps edited cells (preserved_cells counts those copied-field cells; added columns are never touched)… |
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 | Workspace Functions: list_functions (all or favorites; credit_estimate/row) → describe → bind → oxygen_columns_run, or create_draft/save_draft → publish. | |
oxygen_cli_file_import_prepare | Authenticated CLI import for any local CSV/JSONL/JSON/XLSX path (JSON/XLSX up to 100 MiB); rows bypass MCP. | core |
oxygen_column_kind_estimates | Read managed credit estimates for available Table column kinds. | read-only |
oxygen_columns_add | Add a column; AI {{column_key}}; inputMapping literals/context. | core |
oxygen_columns_archive | Archives a column. Cell values are retained but hidden from queries. | |
oxygen_columns_catalog | Lists column templates for oxygen_columns_add prompt_key, with the input each reads and its credits per row. Filter by category, kind, search, family. Bundles (preset): oxygen_enrichment_catalog. | read-only |
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's stable key (key required); for a label-only change, use oxygen_columns_update with label. Costs 0 credits; read back with oxygen_tables_describe. | |
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 column's stored type (the web's Data type choices) in one transaction; a non-convertible value rejects it. dry_run previews. | |
oxygen_columns_update | Updates a column's label, semantic type or definition (definition shallow merges: arrays and objects like definition.options or a lookup's match are replaced whole). | |
oxygen_enrichment_catalog | Name the data, not the provider: intents lists every data type a table can fill (profile, email, phone, headcount, funding, tech stack, hiring, news, decision makers, signals) with status… | read-only |
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 exact row IDs; by filter: oxygen_table_rows_remove_selection filter_tree. | |
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 <=500 rows without value dedup. Reuse request_id after a timeout; payload changes are rejected. Use oxygen_rows_upsert for value dedup. | |
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_supabase_catalog | Reads the saved read-only Supabase connection and lists accessible base tables, columns, mapped Oxygen types, primary keys, and estimated rows. | read-only |
oxygen_supabase_connection_open | Returns the secure Oxygen Connections URL and exact setup instructions for a read-only Supabase PostgreSQL role. | read-only |
oxygen_supabase_import_cancel | Requests cancellation of every still-active child table run in a Supabase import. Does not delete rows already imported and never writes to Supabase. | |
oxygen_supabase_import_get | Returns aggregate and per-table status, row counts, failures, and deep-links for a durable Supabase import. Read-only; 0 credits. | read-only |
oxygen_supabase_import_plan | Previews one Oxygen Table per selected Supabase table, exact create/refresh behavior, row-limit posture, deletion marking, and a schema fingerprint. | read-only |
oxygen_supabase_import_retry | Retries failed child table items. Primary-keyed upserts make already-written source rows safe; 0 credits. | |
oxygen_supabase_import_start | Starts the exact previewed selection as durable Postgres-backed table ingestion. | |
oxygen_table_action_item_resolve | Record a human-verified uncertain Table action outcome without repeating it. Use cells resolve for row/column coordinates. | |
oxygen_table_cells_resolve | Records a HUMAN-VERIFIED outcome for a cell whose external write was dispatched but never confirmed. | |
oxygen_table_column_create | Create a Table column at an optional zero-based position; type is a field type, and a choice type takes options (cells store each value). | |
oxygen_table_column_duplicate | Duplicate a Table column and its definition with an optional new label. | |
oxygen_table_column_edit | Save a column's label, type, order or definition. Returns downstream reference warnings rather than silently discarding them. | |
oxygen_table_column_fields | Read the output fields available from one hosted Table column. | read-only |
oxygen_table_column_stats | Read per-column completion and provider statistics; large Tables use labeled samples. | read-only |
oxygen_table_column_web_search_mode | Convert a web-search column between agent, AI or keyword modes. Conversion requires confirm=true; mode plus column seeds an AI or keyword replacement. | |
oxygen_table_export_csv | Download every row in the exact filtered Table view as streamed CSV. | read-only |
oxygen_table_fill_progress | Read hosted Table fill progress and any actionable ingestion failure. | read-only |
oxygen_table_provider_action_column | Preview or create a provider action column; creating it does not execute provider actions. | |
oxygen_table_resource_activity | Read a Table's live runs and queue health. | read-only |
oxygen_table_resource_edit | Rename a Table or move it to a workspace project; returns the saved Table. | |
oxygen_table_resource_upload | Preview or import small uploaded CSV, JSON or XLSX bytes through the exact browser import contract. Preview writes no rows. | |
oxygen_table_row_edit | Patch one row's values and return the committed row. | |
oxygen_table_row_inspect | Read one row; field selects column keys and hydrate_relations=1 includes relations. projection=value returns lossless JSON fragments; resume value_cursor with identical table/row/field/path. | read-only |
oxygen_table_row_remove | Remove one row from a workspace Table. | |
oxygen_table_rows_insert | Insert Table row values and return the committed rows plus any existing automatic run or dedupe grant. | |
oxygen_table_rows_page | Read a Table row page with the same filter, sort, counts and CRM relationship projection as the grid. | read-only |
oxygen_table_rows_range_ids | Resolve a bounded row range into exact ids, preserving the current filter, search, sort and CRM scope. | read-only |
oxygen_table_rows_remove_selection | Permanently delete Table rows by a readable filter tree, exact ids or a matching selection. Unsupported scope fields are refused. | |
oxygen_table_webhook_create | Create an inbound Table webhook or platform LinkedIn feed. Optional auto_run is standing permission with explicit or plan-default delivery ceilings. | |
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 id: mode, auth mode, event field paths, standing auto-run configuration, webhook URL, table deep-link and rate_limit. | read-only |
oxygen_table_webhook_update | Edit a Table webhook's name, state or standing auto_run; auth_mode=secret rotates its secret and returns it once. | |
oxygen_table_webhooks_list | Lists the organization's direct table webhook endpoints, optionally filtered by table or status, each with its webhook URL, table deep-link and standing auto-run columns, plus rate_limit… | 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_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 table private to the active workspace. Mutates tenant schema. AI prompts read {{column_key}} or inputMapping {{name}}; unknown → invalid_prompt_column + near misses. | 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 | Archives a table, frees its slug; oxygen_tables_restore recovers it before purge (default 14 days). now=true purges permanently: preview (409), then approved=true; a large table returns purging. | |
oxygen_tables_describe | Reads columns, types and config; column returns one. A UUID in another accessible org returns table_in_other_org; select the org in details.recovery with oxygen_orgs_select, then retry. | 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_favorite | Star/unstar exactly one table or folder (saved per-member preference). Free (0 credits). Catalog stars differ. | |
oxygen_tables_favorites | Read starred Tables/folders (per-member preference; free (0 credits)); next_cursor. Catalog stars differ. | read-only |
oxygen_tables_followers | Preview, create or inspect a follower order. | |
oxygen_tables_hubspot_import | Import HubSpot contacts/companies into a new table or Records after DNC sync. Never enrolls or sends. Live requires approval and the exact dry-run fingerprint. | |
oxygen_tables_hubspot_lists | List a connected HubSpot account's saved contact/company lists and identity properties for table or Records imports. Definitions only; 0 credits, uses HubSpot API quota. | read-only |
oxygen_tables_import_csv | Imports JSON-provided CSV; omit table to create from headers and queue durable row ingestion. Large local files: oxygen_tables_csv_import_open or CLI. | core |
oxygen_tables_import_file | Import small base64 file bytes through the shared multipart import API; use staged upload for large files. | |
oxygen_tables_import_preview | Preview a staged file's headers, rows and existing-table mapping; writes no imported rows. | read-only |
oxygen_tables_import_staged | Start a durable hosted import from this workspace's staged file; choose an existing table or create_name. | |
oxygen_tables_import_upload | Prepare a scoped storage upload for a hosted Table import; uploads and imports are separate, inspectable steps. | |
oxygen_tables_import_url | Imports a public CSV, TSV, JSON, JSONL or XLSX file — or a Google Sheet shared with anyone-with-the-link or published to the web — into a new or existing table. | |
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_link_suggest | Plan column links and matching row counts between Tables; creates no relation. Apply with tables link --to (MCP oxygen_tables_link_bulk). | read-only |
oxygen_tables_list | Lists 50 summary tables. Resume nextCursor with unchanged filters. null rowCount is unknown; measure with oxygen_tables_describe include_stats:true. Largest: oxygen_limits_show. | 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_pipedrive_filters | Read connected Pipedrive saved filters and custom-field definitions; no people imported. Four BYOK fees may apply: approve with max_credits. Refusal returns the required cap without provider calls. | |
oxygen_tables_pipedrive_import | Preview or run a Pipedrive saved people filter into a NEW Oxygen table, once or on a schedule. | |
oxygen_tables_preview | Rows, columns, stats, and a deep-link; 0 credits. UI in MCP Apps hosts; data in terminals. Fill exact to cap, else summary.statsSampled; rowCount exact. | core read-only |
oxygen_tables_promote | Writes bound rows' columns onto their CRM records. Truth write: dry_run previews; approved=true writes. | |
oxygen_tables_query | Raw rows or grid (JSON null; __oxygen_grid_cell_previews digests). Grid rejects raw selectors; nextCursor pages. Full: oxygen_table_row_inspect projection=value. | core read-only |
oxygen_tables_recover_pending | Recover BetterContact email/phone requests and read verification blockers; no new orders or imports. | |
oxygen_tables_relate | Links two tables (web: Link to another table): a linked-record column on BOTH, empty until rows link; no matching values needed; plain tables are never registered as CRM objects. | |
oxygen_tables_relations | Table relation definitions: list is read-only; update changes display_name, inverse_display_name, or source-perspective cardinality, keeping endpoints/slugs. archive hides both columns and active… | |
oxygen_tables_rename | Renames an existing workspace table. | |
oxygen_tables_restore | Restores table and folder, cancels a purge that has not begun, and reclaims its slug when available. | |
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 between tables, or flattens a JSON array cell into one row per element, as a durable run (free). | |
oxygen_tables_sources | Lists every way a table can start — imports, company/people/signal sources, webhooks, functions — with the provider count and per-row credit estimate behind each, derived from the routing registry. | read-only |
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 named view (type defaults to table). Prefer v2 config; invalid v2 returns invalid_view_config. Legacy config stays unchanged. is_default clears the prior default. | |
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 saved views by position. Read first to avoid duplicate names or find a view to edit. | read-only |
oxygen_tables_views_update | Updates a saved view. | |
oxygen_tables_watcher | Daily LinkedIn profile engagers in one editable table with source posts and employers. Preview is free; create/update/resume need approved, preview_hash and a per-cycle cap. Ask for real profile URLs. |
runs (?toolset=runs)
| Tool | What it does | Notes |
|---|---|---|
oxygen_columns_run | Runs a column on selected rows. Preview, then pass approved=true + max_credits. limit fills empties. Large runs: execution_status=planning. | core |
oxygen_table_action_runs_list | Read durable Table action runs, optionally filtered by status or trace. | read-only |
oxygen_table_column_execute | Run one column over an exact row or bounded selection. Paid execution requires approval and a max_credits ceiling; uncertain prior effects need explicit resolution approval. | |
oxygen_table_ingestions_append_items | Appends small generated row chunks to an existing durable table ingestion. Use oxygen_tables_import_staged for owned CSV/Excel files; do not stream file rows through append. | |
oxygen_table_ingestions_cancel | Requests cancellation for a queued or running durable table ingestion. | |
oxygen_table_ingestions_create | Creates a durable Table ingestion for row chunks or bounded provider pages (source_type=tool_page; items contain the paging payload). | |
oxygen_table_ingestions_get | Returns ingestion status/counts and its web link. | read-only |
oxygen_table_ingestions_items | Lists ingestion items, including completed pages. tool_page item.output.has_next_cursor=true means more pages remain; item.output.stopped_by=provider_exhausted records cursor exhaustion. | 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 an ingestion to a terminal status or timeout. | read-only |
oxygen_table_resource_ingestion_retry | Retry failed items in this Table's hosted ingestion run. | |
oxygen_table_resource_ingestion_stop | Cancel this Table's active hosted ingestion run. | |
oxygen_table_resource_run_pause | Pause one durable Table run without discarding its approved scope. | |
oxygen_table_resource_run_preview | Preview selected Table action costs and provider availability, including draft column definitions; starts no run. | |
oxygen_table_resource_run_provider_summary | Read a Table run's provider outcomes, fulfilled rows, costs and timing. | read-only |
oxygen_table_resource_run_resume | Resume a paused Table run within its existing approved scope and credit ceiling. | |
oxygen_table_resource_run_retry | Retry failed cells; a fresh allowance requires approved, retry_plan_hash and max_additional_credits. Uncertain effects require separate approval. | |
oxygen_table_resource_run_start | Start selected Table actions using the browser's exact row-selection contract. Paid runs require an approved max_credits ceiling. | |
oxygen_table_resource_run_stop | Cancel one durable Table run; never repeats external provider effects. | |
oxygen_table_runs_cancel | Cancels a table action run; imports use oxygen_table_ingestions_cancel. | |
oxygen_table_runs_create | Creates a background table action run over selected rows (tool/AI/enrichment columns). Paid: approved=true + max_credits after a dry run. Large runs: execution_status=planning. | |
oxygen_table_runs_history | Read this Table's action-run history and progress. | read-only |
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 | Retry failed items or wake guarded callbacks from saved results. | |
oxygen_table_runs_retry_plan | Read failed/dependent items or pending guarded callbacks, billing, refusals and approval hash. No writes or calls. Quote paid retries; callbacks-only delivery requires 0 additional credits. | read-only |
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. |
enrichment (?toolset=enrichment)
| Tool | What it does | Notes |
|---|---|---|
oxygen_ads_searches | List, get, save, or update a named Ads search; action=delete archives it. | |
oxygen_adyntel_ads_search | Finds one page of company ads via Adyntel; collect all pages into a Table with oxygen_table_ingestions_create (source_type=tool_page). | |
oxygen_companies_search_plan | The canonical company-search entrypoint for a prompt or nonempty filters. | |
oxygen_companies_search_preview | List native source filters or preview free. view=full adds raw_source. company_search: 50 companies; hiring: 50 job postings, exact total; google_maps: 20 businesses for {q:business type and area}. | core read-only |
oxygen_companies_search_run | Dry-runs or queues company sourcing into a Table. | |
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 one company (domain, name or linkedin_url) via a provider waterfall: firmographics, funding, competitors, corporate structure, news, jobs, tech stack, web URLs. | core |
oxygen_find_email | Find work email via a provider waterfall. | 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_person | Enrich one person: a managed LinkedIn profile lookup returning first/last/full name, current company + its LinkedIn URL, job title, job start date, education, school, headline, bio, location and… | |
oxygen_find_personal_email | Find a person's personal (non-work) email — ad-audience uploads, recruiting, founder outreach — via LeadMagic's personal-email finder, which bills only on a hit; MillionVerifier grades the address. | |
oxygen_find_phone | Find a mobile phone via a 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 | Canonical people/contact search: compiles prompt + persona filters into provider routes, table columns, gates, credit/match estimates, filter coverage, and workspace context. | |
oxygen_people_search_preview | Up to 50 people free; action=filters. Table: oxygen_people_search_plan then oxygen_people_search_run with same source and typed filters. Otherwise run source=people_search + native source_filters. | core read-only |
oxygen_people_search_run | Dry-runs or queues a live table ingestion run for one people-search provider route. | |
oxygen_search_plan | Plans signal, web or source-specific searches; no longer plans people or company search. | 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_run_items | Read durable search ingestion items by run id and optional status. | read-only |
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. | |
oxygen_tool_favorites | Read this member's favorite tool catalog entries in the active workspace. | read-only |
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_favorite | Adds or removes one column-catalog entry from the caller's favourites for this workspace. Entry ids: find_email, preset:person_enrich, prompt:<key>, tool:<tool_id>. | |
oxygen_tools_get | Catalog metadata (summary default); choose view/native field keys. Named omissions; exact schemas. MCP schemas: oxygen_capabilities_schema. enumRef: oxygen_tools_enums_get. | 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 without provider calls/credit spend; returns resolved input, output schema, credit estimate and cache status. | core read-only |
oxygen_tools_run_live | Catalog upstream call or free cached managed lookup (max_credits=0). | core |
oxygen_tools_search | Provider operations and priced native_columns (Table kinds/presets/waterfalls), different from oxygen_capabilities_search (goal/price ownership; start there). | core read-only |
oxygen_verify_email | Verify emails you already have. |
signals (?toolset=signals)
| Tool | What it does | Notes |
|---|---|---|
oxygen_dashboard_summary | Reads the GTM funnel: outbound touches → replies → positive replies across email, LinkedIn and WhatsApp → meetings → deals → won; revenue, channel split, lifecycle funnels and current triage. | read-only |
oxygen_dashboard_tab_create | Create a named tab in a workspace dashboard. | |
oxygen_dashboard_tab_delete | Remove one dashboard tab by its id. | |
oxygen_dashboards_create | Creates a saved dashboard in the CRM with one empty tab. Add widgets with oxygen_dashboards_widget_add. No credits. | |
oxygen_dashboards_delete | Archives a saved dashboard. The definition is kept, the slug becomes reusable, and the data it reported on is untouched. | |
oxygen_dashboards_get | Reads one saved dashboard with its tabs and widget configurations. Read-only. | read-only |
oxygen_dashboards_list | Lists the workspace's saved dashboards — the user-defined ones in the CRM, not the built-in Command Center funnel. Read-only. | read-only |
oxygen_dashboards_tab_add | Adds a tab to a saved dashboard; maximum 20 tabs. Use oxygen_dashboards_widget_add to place widgets on the returned tab. No credits. | |
oxygen_dashboards_tab_remove | Removes a tab and all its widgets. Dashboard keeps at least one tab; server refuses the final tab. No credits. | |
oxygen_dashboards_update | Renames a saved dashboard or changes its description, icon or default flag. No credits. | |
oxygen_dashboards_widget_add | Adds a widget to a saved dashboard. | |
oxygen_dashboards_widget_data | Reads the data behind one widget — the same numbers the web page draws. A live_source serves its cached result and never fetches here. Read-only, no credits. | read-only |
oxygen_dashboards_widget_kinds | Lists every dashboard widget kind with an example configuration and whether it can cost credits. Read this before building a widget. Read-only. | read-only |
oxygen_dashboards_widget_refresh | Refreshes a live_source widget now, calling its external tool. | |
oxygen_dashboards_widget_remove | Removes a widget from a saved dashboard. The data it reported on is untouched. | |
oxygen_dashboards_widget_update | Changes a widget's title, configuration or placement, or pauses/resumes a live_source. | |
oxygen_feeds_bind | Binds a table feed: pull (default) freezes one provider request and can arm a refill cadence; push (row_schema) mints a webhook that refuses rows not matching the schema (typed or rejected). | |
oxygen_feeds_get | Read one stored feed. summary omits long settings; value returns lossless public JSON fragments at path (JSON Pointer, empty=root). | read-only |
oxygen_feeds_list | List stored Table feeds. summary/full windows resume at next_offset with identical filters (live queue, unknown total). | 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_feeds_update | Update an existing Table feed in place. | |
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_preview | linkedin_posts only: list the post-search filters, or preview public LinkedIn posts FREE (up to 25 per keyword) with author, engagement and the optional ai_filter applied. | read-only |
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_linkedin_connections_import_status | Read the durable LinkedIn connections import status and target Table. | read-only |
oxygen_linkedin_followers_import_status | Read the durable LinkedIn followers import status and target Table. | read-only |
oxygen_sender_checkpoints | Read connected sender authentication checkpoints that need human completion. | read-only |
oxygen_sequence_contacts_rows | Read the full contact grid projection with exact contact-state filter and native synthetic status columns. | read-only |
oxygen_sequence_leads_rows | Read the complete enrolled-lead grid projection, including sequence status, step, action and failure columns. | read-only |
oxygen_sequences_analytics | Shows selected-window Sequence health: persisted/operational state, fleet markedActive versus operationallyLive, open work, outcomes by action kind/failure class, exact links and per-campaign… | read-only |
oxygen_sequences_company_pause | Pauses messaging to one company in your campaigns (all, or only sequence_ids) until resumed, e.g. after a meeting is booked. | |
oxygen_sequences_company_pauses | Lists companies paused in your campaigns (by a reply awaiting or after classification, or by hand/automation) with the leads each holds. | read-only |
oxygen_sequences_company_resume | Resumes messaging to a paused company: its held leads continue where they stopped (due steps spread over the next hour). | |
oxygen_sequences_contacts | Lists campaign contacts with every source variable, contact tags, and the factual or assigned sender. | read-only |
oxygen_sequences_contacts_remove | Previews or applies permanent campaign-only removal of table_row_ids or of leads whose source row was deleted (missing_source_rows=true; preview names them). Stops queued work, keeps rows and history. | |
oxygen_sequences_create | Creates a draft multichannel Sequence; nothing sends until approval-gated start. | |
oxygen_sequences_delete | PERMANENTLY deletes a sequence and everything it owns — enrollments, actions, sender links, schedules. | |
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_duplicate | Copies a sequence as a new draft: steps, channels, settings, source table, caps, tags and (unless include_senders=false) senders. | |
oxygen_sequences_enroll | Enrolls leads into a sequence (0 credits; an active sequence contacts them on its next tick, a draft or paused one holds them until started). from_table:true: unenrolled bound rows, no leads… | 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. view=compact gives one short row per lead… | 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 definition, senders, status and credit usage, led by warnings and sending_schedule (each channel's window, labelled). include_readiness=true adds the launch check. | 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 | Status, work state, lifecycle and fleet markedActive/operationallyLive counts. | core read-only |
oxygen_sequences_push_external | Pushes selected Table rows into an EXISTING external sequencer campaign (Smartlead, Instantly, lemlist, HeyReach) through the workspace's own connection; dry_run previews, live requires approved. | |
oxygen_sequences_reconcile | Checks whether one failed/canceled live LinkedIn invite, message, or InMail actually landed at the provider. | |
oxygen_sequences_recover_capacity | Read-only by default: previews the exact terminal Sequence actions Oxygen can prove were not applied and knows how to replay safely—provider-capacity denials plus explicitly allowlisted Oxygen… | |
oxygen_sequences_render | Renders a sequence's copy like the web step editor's Preview: every A/B variant of each step (email subject/body, LinkedIn note/message/InMail, WhatsApp, comments) for leads of the bound table… | read-only |
oxygen_sequences_retry_deferred | Preview or re-ready pending actions deferred by LinkedIn working hours or an email send window. | |
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; one paused at its live send cap re-pauses until… | |
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 | approved=false preview (0 credits, no writes; oxygen_capabilities_read): launch_readiness, sender_journey, copy_preview. | core |
oxygen_sequences_stats | Shows one Sequence's persisted launch status separately from its current shared operational state, reason codes, open work, lifetime sent/terminal-failed/deferral analytics by action kind and… | read-only |
oxygen_sequences_update | Updates one Sequence for 0 credits without sending; pass only changed fields. | |
oxygen_sequences_variants | Shows a sequence's generic per-step action/base-variant scoreboard plus fact-grade email attribution by sending mailbox and sending domain: sent, replies, positive replies, reply-type counts… | 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 on every step with variants (pauses variants… | |
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_spintax_generate | Generate wording or copy variations as spintax: live (default) costs 3 credits and requires approval and a credit ceiling; explicit dry_run is a free preview. | |
oxygen_suppressed_addresses_remove | Remove one email-address sending block or up to 500 exact addresses after approval of the keys. | |
oxygen_suppressed_domains_list | Read domain-wide sending blocks, newest first. Domain reasons differ from address reasons. MCP defaults to bounded summary pages; follow paging.next_offset with the same filters. 0 credits. | read-only |
oxygen_suppressed_domains_remove | Remove one domain-wide sending block or up to 500 exact domains after approval of the keys. | |
oxygen_suppressions_add | Adds or refreshes selected lead ids on the org DNC list. Choose lead_provider_id or lead_provider_ids (1-500). Idempotent; reason defaults to manual. Prevents enrollment and contact. 0 credits. | |
oxygen_suppressions_addresses_list | Read blocked email addresses (bounces, unsubscribes and imports), newest first, with matching CRM identities. | 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_crm_backfill | Creates CRM person records for people already on the do-not-contact list. | |
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 | Import bundled people, typed identities, or legacy entries. | |
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_policy_get | Rules for who is auto-added to do-not-contact: email hard bounce, one-click unsubscribe, opt-out wording in a reply, ANY inbound LinkedIn or WhatsApp reply, do-not-call/wrong-number outcomes, and… | read-only |
oxygen_suppressions_policy_set | Sets one do-not-contact rule, or resets it (reset) or all (reset_all) to the default. effect: off, stop_only (end this enrollment only), suppress (also add to the list). | |
oxygen_suppressions_remove | Removes selected lead ids or every identity of selected subject ids from the org DNC list. Choose one singular selector or a 1-500 item array. 0 credits. |
deliverability (?toolset=deliverability)
| Tool | What it does | Notes |
|---|---|---|
oxygen_dedicated_egress_status | Read dedicated outbound egress status and its current monthly commitment without activating it. | read-only |
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 | Without approved=true, returns a free preview and quote_id; nothing is purchased. | |
oxygen_domains_check | Checks availability + price for 1-20 exact domains: own Cloudflare Registrar (USD) or Oxygen (credits at cost; reason=owned: already theirs). Free; pass registrable ones to oxygen_domains_buy. | read-only |
oxygen_domains_delete | Preview domain and inbox removal; execute with the exact plan hash and confirmation. Oxygen-bought domains stop renewing but stay registered until expiry; no refund. | |
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 planned cold-email DNS records into your own Cloudflare zone. | |
oxygen_domains_dns_plan | FREE cold-email DNS preview: SPF, provider MX, DMARC, DKIM and optional tracking, diffed against live records as create/update/keep/conflict plus plan_hash. | |
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_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_renewal | Turns yearly renewal of a domain bought through Oxygen on or off. No charge; off lets it lapse at expiry. | |
oxygen_domains_search | Searches purchasable domains for a query, with price. | read-only |
oxygen_domains_sync | Refreshes Cloudflare-backed domains only (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 | Converges mailbox policy assignments: managed/shared by default, or the workspace's dedicated IP for every current and future inbox while its add-on is active. | |
oxygen_egress_dedicated_cancel | Cancels at the end of the paid 30-day period. | |
oxygen_egress_dedicated_request | Dedicated native egress add-on: 2,500 credits every 30 days ($25). | |
oxygen_egress_ips | Lists the shared native worker IP and this workspace's dedicated IP history, with endpoint, tier, and status. Staff also see provider metadata. Routing is workspace-scoped. Read-only, 0 credits. | read-only |
oxygen_egress_register | STAFF-ONLY RECOVERY: registers ONE legacy/manual logical policy-inventory row in this deployment environment (dev API -> dev policy inventory, prod -> prod). | staff |
oxygen_egress_rotate | RETIRED compatibility tool: workspace-scoped egress cannot rotate one mailbox. | read-only |
oxygen_egress_status | Shows actual native email egress: shared worker or dedicated drain, active endpoint, IP health, add-on state, and one page of mailbox policy assignments. | read-only |
oxygen_email_send | Previews or sends ONE ad-hoc email without a Sequence. | |
oxygen_mailbox_sequences | Read the sequences using one sending mailbox by id or email address. | read-only |
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 | Composio Gmail/Microsoft 365: owner consent; max 10 exact registered addresses. | |
oxygen_mailboxes_connect_oauth_status | Read consent/history progress by OAuth run id. Connected requires verified mailbox identity/scopes. | 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 deleting exact mailboxes, or whole domains with all their inboxes, at 0 credits; no refund. | |
oxygen_mailboxes_emailguard_auto_enroll_get | Read the workspace's automatic monitoring enrollment grant and last sweep. | read-only |
oxygen_mailboxes_emailguard_auto_enroll_set | Preview, arm or disarm automatic mailbox monitoring. Arming recurring spend requires approved=true and max_credits_per_cycle. | |
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 with connectionRepair/warmupRepair ownership; effective_cap is today's campaign limit and ramp-up. | read-only |
oxygen_mailboxes_health | Fleet email health, 0 credits, pure read: reputation bands per mailbox/fleet, plus OXYGEN's provider-free evidence, scoped by signals.window/sendSource (7d, sequence). | read-only |
oxygen_mailboxes_import | Imports non-secret identities, inline or Zapmail. Every inbox lands under a sender profile; sender_profile_id names it, else names on the row find or create one. Receipts carry the OAuth review plan. | |
oxygen_mailboxes_list | Lists senders with connectionRepair/warmupRepair ownership. Today's limit: oxygen_mailboxes_get. | 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 mailbox's campaign daily cap, default 25; oxygen_limits_show reports the maximum. The campaign ramp-up (oxygen_mailboxes_set_ramp) may lower it. Free write. | |
oxygen_mailboxes_set_ramp | Sets the campaign ramp-up: start_per_day, then +step every increase_every_days sending days until the daily cap. off:true sends the full cap from day one; clear:true restores 5/10/20. | |
oxygen_mailboxes_set_status | Sets a sending mailbox's status. | |
oxygen_mailboxes_sync | Progress: oxygen_mailboxes_sync_status. Preview/approve controls. Disconnect stops sync/sends and mailbox renewals; mail/CRM stays. Seat/add-on contracts remain. | |
oxygen_mailboxes_sync_status | Read mail history/CRM analysis progress. | read-only |
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 | Update a mailbox’s display name, signature or configurable bounce protection. Empty text clears it. No credits. | |
oxygen_mailboxes_warmup_action | Uses each inbox's recorded rail: OXYGEN Warm-up, or TrulyInbox for older rows. pause/resume: 0 credits, no preview, subscription unchanged. disable removes/cancels billing. reconnect uses the… | |
oxygen_mailboxes_warmup_config | Provider warm-up settings, separate from the campaign ramp. | |
oxygen_mailboxes_warmup_enable | STANDALONE path: OXYGEN Warm-up. | |
oxygen_mailboxes_warmup_google | Legacy Google owner consent for 1–10 connected inboxes; managed Gmail uses warmup_enable. | |
oxygen_mailboxes_warmup_microsoft | NON-INBOXKIT FALLBACK ONLY. | |
oxygen_mailboxes_warmup_profile_set | Preview or apply an OXYGEN Warm-up profile to exact mailboxes or domains; approved=true applies the reviewed scope. | |
oxygen_mailboxes_warmup_profiles | Read available OXYGEN Warm-up profiles and current bindings. | read-only |
oxygen_mailboxes_warmup_status | Syncs and persists warmup at 0 credits; conditionally auto-pauses runaways on fresh evidence. | |
oxygen_managed_inbox_avatar_confirm | Verify and normalize a mailbox profile picture owned by this workspace. | |
oxygen_managed_inbox_avatar_prepare | Prepare a scoped mailbox profile-picture upload; confirm the stored bytes before using its URL. | |
oxygen_managed_inbox_domains_search | Search available domains for managed mailboxes; buys nothing. | read-only |
oxygen_managed_inbox_registrant | Read this workspace's domain-registration contact. | read-only |
oxygen_managed_inboxes_add_mailboxes | Adds mailboxes to an owned domain. | |
oxygen_managed_inboxes_cancel | Cancel inboxes and all recurring warm-up/placement add-ons. | |
oxygen_managed_inboxes_exit | Stops every OXYGEN renewal for a managed domain (inboxes, warm-up, placement) after the paid period and records a handoff request. | |
oxygen_managed_inboxes_get | Gets one managed subscription; poll until active; only warmup_activation.automatic_after_provisioning=true on a preview or receipt is authoritative. | read-only |
oxygen_managed_inboxes_list | Lists subscriptions and orders. | read-only |
oxygen_managed_inboxes_recover | Restore original canceled inboxes: 0-credit eligibility, upfront and recurring quote. Verify authorization and warmup after recovery. | |
oxygen_managed_inboxes_subscribe | Quotes or buys managed inboxes on new, existing Cloudflare or Oxygen-bought domains. | |
oxygen_managed_inboxes_verify | Compares purchased inbox inventory with the vendor and legacy Stripe mailbox seats. | read-only |
oxygen_placement_tests_get | Read one directional placement test. Poll Zapmail while awaiting_results. Evaluation summary units are unverified; values are shown as recorded. | read-only |
oxygen_placement_tests_list | Lists recent DIRECTIONAL placement tests with provider, status, billing, seeds, score, and credits, plus pricing (monitoring credits per inbox-month, included and extra tests, own-key platform… | read-only |
oxygen_placement_tests_run | Free directional preview returns provider, cost and plan_hash. | |
oxygen_placement_tests_send | Free EmailGuard preview shows exact sender, transport, all seeds, content and plan_hash. | |
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 | Creates 1-25 10-minute LinkedIn authorizations. | |
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, 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, working hours, 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), working hours, 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. | 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, first_name, last_name, photo, status) and/or membership. | |
oxygen_senders_proxy_country_set | Moves a LinkedIn sender's proxy to another country without reconnecting (zero credits). If none is free there, the sender stays paused and each sync retries. | |
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_attachment_upload | Upload a PDF, DOCX, XLSX, PPTX, TXT, or CSV to one existing email conversation. | |
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, LinkedIn only: 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… | |
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_delete_message | Delete your sent LinkedIn message for everyone within 60 minutes; irreversible. Show the default preview before approved=true. Only your LinkedIn messages are supported. Costs 0 credits. | |
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 review queue: queued + edited by default, across email + LinkedIn. | read-only |
oxygen_inbox_forget_whatsapp_chat | Preview or permanently erase one terminal old WhatsApp chat and its messages from OXYGEN only. | |
oxygen_inbox_get | Get one inbox conversation with its full chronological message thread, sales-intent status and suggested reply. | 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 | Unibox merges email/LinkedIn/WhatsApp by default, newest first; channel picks one. | 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 visible messages in an inbox conversation read, retaining selected DM sender scope: 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 on its own channel, resolved from the conversation when channel is omitted: an email thread replies from its own mailbox (threaded), a LinkedIn thread sends a Unipile… | |
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_start_whatsapp | Preview or send the first message of a one-to-one WhatsApp chat from a connected sender. | |
oxygen_inbox_sync | Forces a backstop sync from Unipile for LinkedIn and WhatsApp sender accounts, 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_inbox_view_create | Saves a named Unibox view for the whole team. filters is a Unibox URL or a query string of oxygen_inbox_list params (e.g. sender_profile_id=<id>&channels=linkedin&status=interested); without… | |
oxygen_inbox_view_delete | Deletes a team Unibox view. Members who used it as their default open on the built-in view. | |
oxygen_inbox_view_update | Renames, re-filters (replaces filters) or reorders a team Unibox view. default=true makes it the caller's own default; default=false stops using it as one. | |
oxygen_inbox_views_list | Lists the team's saved Unibox views (named filter states: senders, channels, statuses), each with its filters as inbox list params and web_url. is_default marks the caller's own default, which the… | read-only |
oxygen_linkedin_inbox_backfill_status | Read the durable LinkedIn inbox backfill status. | read-only |
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 | INBOX-WIDE analytics over the org's whole message corpus. | 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_unibox_metadata | Read the complete authenticated inbox account, filter and tag metadata, including each sender profile (person) and its id. | 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 | Read stored WhatsApp accounts (disconnected hidden by default; presence is not send readiness), health, warm-up and usage. include_disconnected includes retained accounts; status takes precedence. | read-only |
oxygen_whatsapp_chat_action | Acts on one WhatsApp chat (see the action enum). | |
oxygen_whatsapp_connect | Creates pending WhatsApp authorization for QR/phone pairing where supported; users complete it in their browser. | |
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 | Read stored WhatsApp agent drafts; personal composer drafts stay private. | 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 ceiling), daily-reset timezone, and usage. | 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 ceiling, the direct-send versus Sequence cold-initiation… | 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 the connected account owns, returning a de-duplicated people list 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_autoenroll | Binds the standing auto-enroll grant on LinkedIn intent captures: people a capture lands enroll into a Sequence each cycle, paced by the sender's warm-up ramp and the caps set here. | |
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_invitations_pause | Stops checking open connection requests for one account, or every account when account is omitted. | |
oxygen_linkedin_invitations_setup | Keeps one self-updating table of every open LinkedIn connection request on the workspace's own accounts: people who asked to connect (direction received) and requests sent that are still waiting… | |
oxygen_linkedin_invitations_status | Shows the open connection requests table: accounts[] lists every connected LinkedIn account with on, state and next_read_at, plus a table preview and deep-link. | read-only |
oxygen_linkedin_invites_sent | Live provider read of pending sent LinkedIn invitations; 0 credits, no provider write. | read-only |
oxygen_linkedin_invites_withdraw | Withdraws pending sent LinkedIn invitations. | |
oxygen_linkedin_network_pause | Switches LinkedIn network capture off: the worker stops reading that account's connections and followers until oxygen_linkedin_network_setup arms it again. | |
oxygen_linkedin_network_setup | Captures everyone already in the workspace's LinkedIn network — 1st-degree connections AND followers — into ONE self-refreshing table, deduped to a single row per person with a Relationship column… | |
oxygen_linkedin_network_status | Shows LinkedIn network capture progress: accounts[] lists every connected account with on (switched on or not), state and connections/followers counts; which accounts are armed, how far each… | read-only |
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_enrichment | Switches standing automatic full-profile enrichment of NEW profile viewers on or off (Up2Data profile: about, current role and company, experience, education, location). | |
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_pause | Switches the profile-viewers (WVMP) import off for one account or all: rows and the table stay exactly as they are, and oxygen_profile_viewers_import switches it back on. account selects which… | |
oxygen_profile_viewers_status | Shows durable LinkedIn profile-viewers (WVMP) import progress: accounts[] lists every connected LinkedIn account with its display_name, headline, picture_url, per-account on (true when switched… | read-only |
oxygen_publishing_amplification | Standing engagement from named accounts, paced and capped. list/get/actions read; create/update/enable/disable/delete govern policies. create needs approved=true and both caps, lands DISABLED… | |
oxygen_publishing_analytics | Stored LinkedIn/X snapshots; no provider call. summary ranks posts; timeseries reports earned trends and followers; post/account read metric rows (MCP default 20); 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. | |
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_draft_update | Edit a queued publishing draft's text without publishing it. | |
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 | Checks that the LinkedIn identities a post references (@handles, /in/ and /company/ URLs, provider ids, URNs) exist and returns their profiles; it never changes the post. | |
oxygen_publishing_mentions_search | Find LinkedIn company or person identities for a mention; free, subject to the connected account's read quota. | read-only |
oxygen_publishing_notes | Internal post review notes. action=list|add|resolve; add replies with parent_comment_id, resolve settles a note or reopens it with resolved=false. list has resolved/limit filters and a… | |
oxygen_publishing_posts_approve | Approves a draft or scheduled post; drafts become scheduled for publish_at. | |
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 and revokes its approval. oxygen_publishing_posts_uncancel reopens it as an unapproved draft; approve it again before it can publish. | |
oxygen_publishing_posts_create | Creates a personal post. With ugc_participation_id it saves an unapproved program draft; ordinary posts default scheduled and publish only after approval. | |
oxygen_publishing_posts_delete | Deletes OXYGEN copies and settled history only; live platform posts stay intact. | |
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 its sender account, resolved media assets, preview URLs, provider result, and publish attempt history. | read-only |
oxygen_publishing_posts_list | Lists stored Publishing posts. Continue with next_cursor and identical filters; no provider call. | 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_uncancel | Reopens a canceled post as an unapproved draft, keeping its publish time and attempt history. Approve it again to re-arm it. | |
oxygen_publishing_posts_update | Updates an editable draft, scheduled, or failed post. Changing its text or content revokes approval. | |
oxygen_publishing_revisions | Content history of one scheduled post. action=list reads newest-first revisions with limit and a whole-receipt window (MCP default 20 rows). action=restore rolls the post back to revision_number… | |
oxygen_publishing_tags | Adds/removes unified workspace tags on a scheduled post. Tags are internal and never published. | |
oxygen_visual_file_download | Download a tenant-owned visual source or rendered file as exact bytes. | read-only |
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 | Recent workspace runs (provider calls, AI column runs, workflow steps), newest first. One run's full provenance: oxygen_runs_get. | core read-only |
oxygen_table_runs_effect_unknown | Lists the items of a table action run whose external write (a custom HTTP POST) was dispatched but never confirmed — codes custom_http_effect_unknown / worker_step_outcome_unknown. | read-only |
oxygen_table_runs_get | Read one Table run: status, counts, costs and failures. Summary omits inputs/metadata. | 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 | Wait for a Table run to finish or time out; repeat to continue watching. | 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_observed_output | Inspect observed output paths and bounded samples from an exact run or recent matching workflow revision. | read-only |
oxygen_workflow_resource_status_set | Enable or disable a Workflow and record an optional reason. Enabling paid recurring execution requires standing approval and max_credits; CRM-sync workflows use their paired lifecycle instead. | |
oxygen_workflow_run_events | Read the exact Workflow run's bounded event history and whether it is still active. | read-only |
oxygen_workflow_run_step_statuses | Read the current Workflow run status and every step status for immediate execution readback. | 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; view=summary/names enables bounded lists with next_cursor. | read-only |
oxygen_workflow_tool_output_paths | Discover bounded workspace-observed tool output paths and run/revision provenance, without exposing provider values. | read-only |
oxygen_workflow_webhook_deliveries | Lists webhook payloads, safe headers, auth outcomes, and started runs. rejected=auth failed; blocked=authenticated/no run; ran=run started. | read-only |
oxygen_workflow_webhook_delivery_replay | Durable inspectable dry_run of a verified outcome=ran delivery's exact revision/payload. | |
oxygen_workflow_webhook_rotate | Previews or rotates the current published webhook secret. Call without approved first; approved=true invalidates the old secret and returns the replacement once. | |
oxygen_workflows_apply | Saves a draft or publishes a Workflow. Autonomous tools need standing approval and an explicit or plan-default delivery cap. | |
oxygen_workflows_approvals | Lists durable mid-run approvals; defaults to pending. | read-only |
oxygen_workflows_call | Enqueues any workflow without simulating its trigger. 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 registered app-native event (including Meeting Notetaker), plus connected integration events. | 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 | Validate draft/publish readiness without saving, running, or spending. | read-only |
oxygen_workflows_list | Lists workflows; optionally filter by tag. Newest 200 by default; see capped. | core read-only |
oxygen_workflows_mcp_callable | List this workspace's published MCP-callable Workflow definitions and interfaces. | 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 | Republish an earlier version as a new revision. Restore stays append-only and reruns lint, effect, cadence, authority, and spend-cap gates. | |
oxygen_workflows_run | Gets one workflow run with step state, outputs, events, and worker claim identity. | read-only |
oxygen_workflows_runs | Stored runs newest first; default 50. | 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_session_activate | Approve the exact preview revision and activate scoped standing authority. | |
oxygen_agent_session_archive | Archive this ongoing session, retaining conversation and run history. | |
oxygen_agent_session_complete | Complete this ongoing session, retaining conversation and run history. | |
oxygen_agent_session_configure | Replace settings at the expected revision. Clears standing authority and pauses active work; review again before activation. | |
oxygen_agent_session_create | Create a draft ongoing session. Explicit caps are required; review and activate separately. | |
oxygen_agent_session_get | Read this session's configuration revision, conversation, memory, next check, approvals and budget reservations. | read-only |
oxygen_agent_session_list | List independent ongoing sessions under an Agent, including status, next check and spend. | read-only |
oxygen_agent_session_message | Queue durable human steering. Draft chat proposes settings for review; active chat resumes the same memory. A bounded run reserves the approved per-run cap. | |
oxygen_agent_session_pause | Pause this ongoing session, retaining conversation and run history. | |
oxygen_agent_session_preview | Preview the exact pinned Agent version, resource scope, actions, schedule and caps. Returns the revision and approval token; starts no inference. | |
oxygen_agent_session_resume | Resume this ongoing session. Requires unchanged approved settings. | |
oxygen_agent_session_run | Run this active session's next check now, within its approved caps. Refused while a check runs or a cap is reached. | |
oxygen_agent_session_templates | Discover eight ongoing Agent job templates, reviewed actions, required resources, the full config schema and a draft example. Staff on dev only; legacy Agents remain available. | read-only |
oxygen_agent_session_webhook | Create this session's webhook or rotate its secret (returned once); remove deletes it. A delivery wakes the active session within its caps; its external writes then ask first. | |
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 Workspace Agent cron, event and webhook triggers: next cron time, plan slowdown, webhook URL and rate_limit; never 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_attachment_complete | Verify and describe an uploaded Copilot attachment in its session. | |
oxygen_copilot_attachment_delete | Detach an unsent Copilot attachment; attachments already quoted by a turn cannot be removed. | |
oxygen_copilot_attachment_prepare | Reserve a Copilot attachment and return its scoped upload URL; complete only after uploading the exact bytes. | |
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_attachments_list | List sent and unsent attachments in one Copilot session. | read-only |
oxygen_copilot_cancel | Cancels an in-flight Workspace Copilot session: stops the current turn and marks the session cancelled so it makes no further inference calls. Cancelling an already-cancelled session is a no-op. | |
oxygen_copilot_feedback | Rate one attended Copilot turn and optionally explain the rating. | |
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_interrupt | Request cancellation of one Copilot turn. Read the session again to confirm it stopped. | |
oxygen_copilot_send | Sends one user message to a Workspace Copilot session and starts inference for that turn. | |
oxygen_copilot_session_update | Set an attended Copilot session's approval and screen-follow policies. Paid auto-approval is explicit standing authorization. | |
oxygen_copilot_sessions_list | List attended Copilot sessions in this workspace. | read-only |
oxygen_copilot_start | Starts an attended Workspace Copilot session on Oxygen Balanced by default. | |
oxygen_oxygents_activity | List an Oxygent's recent work: its runs and the actions taken in its chats, as metadata only (no goals or messages). | read-only |
oxygen_oxygents_chat | Open your ongoing private chat with an Oxygent, creating it the first time. Starts no inference. | |
oxygen_oxygents_create | Add an Oxygent to the workspace, named "New Bot" unless you name it; tell it its job in your chat with it. | |
oxygen_oxygents_forget | Remove one entry from an Oxygent's team memory. | |
oxygen_oxygents_get | Read one Oxygent's profile and your ongoing private chat with it. | read-only |
oxygen_oxygents_group | Read one of your group chats: its name, members and the chat's state. | read-only |
oxygen_oxygents_group_create | Start a private group chat with 2 to 6 Oxygents (members, by slug), named name. Starts no inference: @mention a member in a message to have it answer. | |
oxygen_oxygents_group_end | End a group chat: nobody answers in it again, and its messages stay readable. | |
oxygen_oxygents_group_message | Send a message in a group chat. | |
oxygen_oxygents_group_read | Mark a group chat read up to its newest turn, or up to turn_index. | |
oxygen_oxygents_group_update | Rename a group chat, or add or remove Oxygents (by slug); it keeps 2 to 6. A removed member's earlier messages stay. | |
oxygen_oxygents_groups | List your group chats with Oxygents: name, members and the chat (working or waiting for you, unread, the latest words and who said them). Private to you. | read-only |
oxygen_oxygents_handoff | From your chat with an Oxygent, ask another Oxygent (to) to do something: an unattended run of it, as you, within max_credits. | |
oxygen_oxygents_hide | Hide an Oxygent from your own sidebar, or show it again with hidden:false. Its chat is kept; only your sidebar changes. Free. The first Oxygent cannot be hidden. | |
oxygen_oxygents_list | List this workspace's Oxygents, the first one (is_default) on top: name, what each does, its look and your chat with each (working or waiting for you, unread, its latest words). | read-only |
oxygen_oxygents_memory | List what the team asked an Oxygent to remember. Every chat with it reads this; it is a Knowledge page. | read-only |
oxygen_oxygents_message | Send a message in your ongoing private chat with an Oxygent. Starts a turn billed from workspace credits; paid or external actions still need approval. | |
oxygen_oxygents_notes | Read what an Oxygent keeps about you: private to you, read only in your own chat with it. | read-only |
oxygen_oxygents_notes_set | Replace what an Oxygent keeps about you; empty clears it. Private to you. | |
oxygen_oxygents_pin | Pin an Oxygent near the top of your own sidebar, or unpin it with pinned:false. Only your sidebar changes. Free. | |
oxygen_oxygents_read | Mark your chat with an Oxygent read up to its newest turn, or up to turn_index. | |
oxygen_oxygents_remember | Add one thing to an Oxygent's team memory: every chat with it reads it, and the whole workspace can see it. Free. | |
oxygen_oxygents_routines | List your routines with an Oxygent: schedule, status, next run and last report. Manage one with agent session (pause, resume). | read-only |
oxygen_oxygents_task | Start a background task from your chat with an Oxygent: an unattended run of it, as you, within max_credits. | |
oxygen_oxygents_update | Edit an Oxygent's name, what it does (description) or its look (avatar_key, avatar_color). Its instructions, tools and versions are unchanged. Free. | |
oxygen_visual_file_get | Read a visual file's metadata, editable source when HTML, provenance and authenticated download URL in the current workspace. | read-only |
oxygen_visual_image_view | Return actual PNG pixels to a vision-capable client for visual review of a rendered infographic. | read-only |
oxygen_visual_render_cancel | Request cancellation of one render. Queued jobs stop before compute; running jobs stop at a bounded cancellation checkpoint. Read the job to verify terminal status. | |
oxygen_visual_render_get | Read durable visual-render status, outputs, provenance and downloads. An effect_unknown run never automatically repeats billed compute. Read again while queued/running. | read-only |
oxygen_visual_render_preview | Preview isolated HTML-to-PNG/PDF rendering without starting compute. source_file_ids defines page order. | |
oxygen_visual_render_start | Approve one exact render preview and enqueue bounded isolated compute. | |
oxygen_visual_source_create | Save editable, immutable HTML/CSS/inline SVG source for a GTM infographic or carousel page. |
billing (?toolset=billing)
| Tool | What it does | Notes |
|---|---|---|
oxygen_billing_activate | Activate a trial subscription now and charge its saved payment method; administrator approval is required. An optional tier reprices the active trial in the same call. | |
oxygen_billing_allowance | Inspect this workspace's recurring credit allowance and period; due plan grants or credit expiry may apply. 0 credits; reserves nothing. | |
oxygen_billing_allowance_view | Inspect the current-cycle allowance, billing owner and partner-bonus eligibility; due plan grants or credit expiry may apply. 0 credits; reserves nothing. | |
oxygen_billing_audit | Summarizes where managed Oxygen credits were granted, reserved, captured, released, or spent for the active organization. | |
oxygen_billing_balance | Due plan grants or expiry may apply. | core |
oxygen_billing_cancel | cancel records comment and stops renewal; resume restores it. offer reads only: 30% off one monthly invoice; retain accepts offer_id. | core |
oxygen_billing_change_plan | Preview via approval_url; confirm to apply/pay. First purchase: admin/owner; existing plan: unrestricted members. Terms: oxygen_billing_balance. | core |
oxygen_billing_checkout | Open browser Checkout; payment approves purchase. First purchase: admin/owner. New yearly plans use interval month, term year and the current terms_version. | |
oxygen_billing_commitments | Read current connected-resource commitments, or view=connection-prices for LinkedIn/WhatsApp/X/mailbox monthly prices and first billing timing before authorization. | read-only |
oxygen_billing_commitments_view | Read the complete fixed-credit commitment view and linked billing-owner display, without enumerating a child's sibling resources. | read-only |
oxygen_billing_confirm | Confirm a plan-change preview within 15 minutes; approved accepts payment, term and effective date. Unrestricted members allowed; restricted clients denied. | |
oxygen_billing_estimate | Quote prospective enrichment, senders, X/WhatsApp, EmailGuard managed/own-key tests and an unsaved Workflow. | read-only |
oxygen_billing_invoices | Read this workspace's billing invoices and their hosted payment links. | read-only |
oxygen_billing_invoices_view | Read the browser invoice-history projection, including exact native timestamps, amounts and signed Stripe invoice links. | read-only |
oxygen_billing_ownership_clear | Restore this workspace's own billing ownership after the same administrator checks as the browser. | |
oxygen_billing_ownership_get | Read the active workspace's shared billing owner, candidate owners and credit cap. | read-only |
oxygen_billing_ownership_set | Set the billing owner and optional monthly credit cap using the browser's administrator and workspace eligibility checks. | |
oxygen_billing_portal | Create a Stripe billing-portal URL. Unrestricted members allowed; restricted clients denied. | |
oxygen_billing_seats | Read sending seats, current billing-period end, monthly credit prices and connection affordability/sponsorship (null: unknown, with reason). | |
oxygen_billing_seats_set | Set purchased legacy sending-seat quantity. Retired seats cannot increase; reducing existing seats lowers the next renewal charge. | |
oxygen_billing_set_plan | Staff only. | staff |
oxygen_billing_summary | Read wallet, plan, partner-bonus eligibility/timing and billing owner without grants. | read-only |
oxygen_billing_topup | No amount: free quote via oxygen_capabilities_call; no checkout. credits/pack: creates Stripe Checkout/billing resources; no charge until payment. | |
oxygen_billing_usage | Due grants/expiry may apply. Ledger default; steps, BYOK fees, seats, holds. Workspace splits; ledger ISO from/to. Shares: oxygen_billing_audit via oxygen_capabilities_call. | core |
oxygen_billing_usage_view | Credit spend over 7, 30 or 90 days by category and provider, each with its share, plus permitted linked-workspace rollups. totalSpent is reserved minus released; billing usage managed_credits_used… | read-only |
oxygen_budget_delete | Deletes a standing budget policy by id. Requires an admin or owner role. | |
oxygen_budget_list | Lists the organization's standing credit caps by scope and window, plus the plan defaults that apply without one: the daily guard and per-run Agent and trigger ceilings. | 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 | Plan/storage summary: capacity=largest retained-row Table when all row counts reconciled; pricing=compare current plan prices/capacity; plan=one band. | core read-only |
oxygen_provider_limits_delete | Clear one provider request-limit override; admin or owner only. | |
oxygen_provider_limits_list | Read provider request limits and BYOK warning defaults. | read-only |
oxygen_provider_limits_set | Set an enforced provider request limit; admin or owner only. Approve the exact provider, operation and window: raising a cap may permit more provider use. 0 credits. | |
oxygen_workspace_infrastructure_exit | Preview all external infrastructure belonging to this workspace and, after explicit user confirmation, stop its renewals and begin teardown through already paid terms. |
integrations (?toolset=integrations)
| Tool | What it does | Notes |
|---|---|---|
oxygen_cloudflare_connect | Verify a Cloudflare token, choose an account when required, and save the encrypted connection. account_id is optional for initial account discovery; no credential is returned. | |
oxygen_custom_integration_connect | Store an encrypted API key for an applied custom HTTP integration; the secret is never returned. | |
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_github_connection_start | Create the authenticated GitHub authorization URL for this workspace. | |
oxygen_hubspot_connection_start | Create the authenticated HubSpot authorization URL for this workspace. | |
oxygen_integration_connection_test | Test one workspace integration connection and save its health without changing its default or returning credentials. | |
oxygen_integration_default_set | Set the default active integration connection within this workspace. | |
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_integration_managed_endpoints | Read a managed integration's full action catalog and parameter schemas. | read-only |
oxygen_integration_status | Read active connection counts, sender connection state and the workspace's usable BYOK plan entitlement. | read-only |
oxygen_integrations_connect | Connect a provider account, including X (integration_id=twitter). | |
oxygen_integrations_connections | List this workspace's stored integration connections and health without credentials. | read-only |
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. | |
oxygen_openrouter_models | Read model and pricing metadata using this workspace's connected OpenRouter account; credentials are never returned. | read-only |
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 |
oxygen_admin_price_book | Staff-only. | staff |
oxygen_admin_primary_providers | Staff-only provider board with default, conditional and legacy selection, configuration, health, balances, COGS and limits. | read-only staff |