For fractional CMOs
One workspace per client, one bill for all of them
Five clients, five stacks, five invoices, and none of them yours. The fix is separate workspaces that share one plan and one set of playbooks.
A fractional CMO's economics are simple. The same motion has to work at five companies, and the hours spent rebuilding it at the sixth are hours nobody pays for. What kills the margin is rarely the strategy. It is the setup, repeated.
Each client gets its own workspace, its own data and its own senders. A billing owner pays for the set, so there is one plan and one shared credit pool instead of a subscription per client. A blueprint then carries a proven motion into the next workspace.
- Who this is for
- A fractional CMO or part-time revenue leader running GTM for several B2B SaaS companies at once, usually alone, usually paid for outcomes rather than for the hours setup eats.
- What it looks like today
- Every client arrives with a different half-built stack. You rebuild the same motion in their tools, expense a separate subscription for each, and lose an evening explaining why a campaign spent what it spent.
- What changes
- One plan covers every client workspace, spend stays attributed per workspace, a blueprint carries the motion across, and client sign-off becomes a recorded decision on the object instead of a chat message.
Example searches
Ask for it the way you'd say it
Every search below runs on the same hosted Tables, with the cost previewed before anything is spent.
Clone the motion for a new client
set up the same list build and enrichment steps i already run for another client, in their own workspace
A blueprint applies the tables, columns and a disabled workflow; you swap the ICP page and the senders before anything runs.
Where the month went
show me how much each client workspace spent this month and on which kind of work
Credit usage breaks down by workspace and by run, so an invoice line has evidence behind it.
Ad shelf for a client review
list the ads this client's three closest rivals ran this quarter and the offer each one leads with
Rows carry the creative, the network and the run dates, so the positioning half of a client update cites evidence.
Plays
Three motions you can run this week
Each one is a chain of Oxygen primitives — the same hosted objects your workspace already has, composed.
Carry a motion to the next client
The tables, columns and workflow behind the motion standing up in a new workspace in one sitting, ready for its own ICP and senders.
- 1Save the motion as a blueprint, then apply it in the new client's workspace.
- 2Swap the ICP page, the senders and the suppression list before sending.
oxygen blueprints applyOne plan, many client workspaces
A single subscription covering every client, with spend still attributed per workspace.
- 1Link each client workspace to the billing owner so they draw one shared pool.
- 2Read spend grouped by workspace, and cap any client that needs a ceiling.
oxygen billing auditClient sign-off before it ships
The client's decision recorded against the object, and the beta gate holding a sequence launch until it arrives.
- 1Share the draft, collect threaded comments, and file a Collaboration approval request naming the client who answers it.
- 2Arm the launch gate on the sequence so a live send waits on that decision; the post itself still needs your own approve step.
oxygen approvals request
Capabilities
What you get
Separate workspaces, one subscription
Each client keeps its own data, senders and records. A billing owner pays for the set, so a new client is a workspace, not another subscription.
Playbooks that travel
A blueprint moves the tables, columns, prompt templates and the workflow into the next workspace, and the workflow arrives disabled. Senders, the sequence and the suppression list are built fresh per client.
Spend you can invoice against
Credit usage is attributable per workspace and per run, and an optional monthly cap bounds a client before an overage becomes an awkward call.
A review step that is recorded
An approval is a decision with an author and a timestamp against the object, not a remembered conversation, and it can block a launch until somebody gives it.
Instead of
The stack this replaces
Native, on one contract and one credit balance — not another tab wired to the last one.
- Buffer
- Hootsuite
- Clay
- HubSpot
- Notion
- Zapier
Data sources
What the data actually comes from
Every value lands with its provider and cost recorded on the cell.

Adyntel
Competitor ad libraries per network, which makes a client's positioning review evidence-led.
LinkedIn Scraper
Public profiles, posts and engagers on LinkedIn with no client account connected.

People Data Labs
Firmographics for a client's ICP, so a new list starts from data rather than a guess.

Exa
Neural web search behind the AI columns that summarize an account before you write.

Blitz API
Resolves the contact behind an account and heads the work-email chain.
Run these on Oxygen's managed credits, or connect your own provider keys and pay the vendor directly — the same columns, the same runs, the same provenance either way. See every integration.
Limits
Where this stops
- Client review inside the product is in beta and enabled per workspace. The CLI, the MCP tools and an emailed deep-link work without it, but the restricted role and the blocking gate are early.
- Workspaces are separate by design, which is the point and also the cost. There is no cross-client rollup, so a portfolio number is something you assemble rather than something reported.
FAQ
Questions people ask first
Do I pay for a separate plan per client?
Can a client log in without breaking anything?
How is one client's data kept apart from another's?
What actually moves between clients?
Can I cap what one client is able to spend?
What happens when an engagement ends?
Put your GTM motion on one stack
Sign up, get a working workspace with a one-time credit grant, and run the first play end to end without wiring five tools together.