Define who you sell to
Write your ICP once and let every run read it
An ICP living in a slide is a document nobody opens twice. Written here it becomes the definition every AI column, draft, and agent reads by default, with a revision history for the day it changes.
Everyone has an ICP and almost nobody has it written where a machine can read it. It lives in a deck from last year, in the founder's head, and in whatever prompt the last person pasted into a scoring column. The three disagree, which is how one account gets qualified twice and rejected once.
Writing it here puts the definition in the workspace knowledge layer as a typed company profile with linked pages behind it. The typed profile is the half every AI action injects today, so a scoring column reads your words rather than whatever somebody pasted into it last quarter. The part that earns its keep is the disqualifiers, because the sentence beginning 'we never win when' saves more credits than any search filter.
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.
Write the definition down
our ICP is B2B SaaS, seed to series A, US led, selling to engineering teams, and we lose to incumbents
It lands as a stored revision rather than a prompt, so the next run reads the words you approved.
Check what the workspace believes
what does this workspace currently think our ideal customer is and where did that come from
Resolving returns the profile plus the pages grounding it, which is how a stale definition gets caught.
Ground a qualifying pass
score these 500 accounts against our ICP and tell me why you rejected the ones you rejected
The column reads the stored definition instead of a pasted prompt, and its reasoning lands in the cell.
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.
Derive the ICP from closed-won
The definition reflects the deals you actually win rather than the market somebody hoped for.
- 1Pull won and lost accounts and look at what the winners share beyond size and industry.
- 2Write that as a profile revision, then rescore the open pipeline against the new wording.
oxygen knowledge profile updateGround every column that judges
Scoring, research, and copy read one definition, so two runs cannot quietly disagree about fit.
- 1Store segments, triggers, and the evidence behind them as linked pages anyone on the team can read.
- 2Keep the disqualifiers inside the typed profile, since that is the half every column reads today.
oxygen knowledge page upsertTest a definition before you trust it
A rewritten ICP is validated on a sample where you already know which accounts were good.
- 1Score a mixed sample of happy customers and churned accounts against the new revision.
- 2Compare its verdicts with what you know, then edit the definition rather than the prompt.
oxygen context resolve
Capabilities
What you get
One definition, read by default
AI columns, sequence drafts, and agents inject the stored profile automatically. Nobody has to remember to paste a company description into a prompt again.
Revisions with an author on them
Each change is a logged revision carrying who made it and when. A shift in how accounts score can be traced back to the sentence that actually changed.
Definitions instead of pasted prompts
A scoring column points at the stored profile rather than carrying its own copy. Change the wording once and the next run reads the new version, so nobody hunts through six columns for the paragraph that went stale.
Approval only where it matters
Working pages write themselves as revertible revisions anyone can fix. Canonical positioning and voice pages sit behind a proposal queue a person approves.
Boundaries
What Knowledge Graph does not own
The Knowledge Graph describes the kind of customer you want. It does not hold the actual companies, which are Records, and it does not build the list, which is Tables. Packaging a motion somebody else can install is Recipes.
Data sources
What the data actually comes from
Every value lands with its provider and cost recorded on the cell.

TheirStack
Hiring text from accounts you won, where the pattern behind a genuinely good segment usually shows first.

BuiltWith
A free label resolver rather than a detection lane. It turns a technology you named into the canonical form a search can filter on, which is where most stack filters quietly fail.

People Data Labs
Firmographics on won and lost accounts, for the size and industry bands the profile ought to name.

Exa
Research that tests a proposed segment against how companies inside it describe themselves in public.
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
- Grounding ships in two halves. The typed company profile is injected into AI actions today, while page-level retrieval sits behind an operator switch. Canonical positioning and voice pages route through approval, so an edit there is a proposal rather than an instant change.
- An ICP written from twelve customers is a hypothesis. Treat the first revision as something to disprove on a scored sample before pointing it at a whole market.
FAQ
Questions people ask first
Where is the ICP actually stored?
Do I have to reference it in every prompt?
What belongs in it besides firmographics?
Can two people edit the definition?
How do I know an edit actually helped?
Does writing knowledge cost anything?
Run write your icp once and let every run read it on your own workspace
Sign up, get a working workspace with a one-time credit grant, and run the first play from the web app, the CLI, or your AI assistant over MCP.