OXYGENOXYGEN

Find accounts and people

Lead generation that runs inside your own workspace

Lead generation stops being a vendor you buy from and becomes a table you own. Rows arrive from a sourcing run, columns enrich and score them, and the ones that pass go straight into a sequence.

try

Most lead generation tools sell you a list and stop there. The expensive part was never the list. It was everything after it: deciding which rows deserve budget, finding a channel that reaches the person, and keeping the whole thing current when a third of it goes stale in a quarter.

Here the list is a hosted table in your own workspace. A sourcing run writes rows, enrichment and scoring columns run on top of them, and each cell keeps its status, provider, cost and error. Rows that clear your filters are enrolled from the same table, so the list and the campaign never drift apart.

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.

  • A first list from scratch

    find B2B SaaS companies in North America with 10 to 60 employees that sell to engineering teams

    Rows land typed, with the lane that produced each one recorded on the row itself.

  • Narrow a list you inherited

    take this csv of 2,000 accounts and drop anything that is not a software company with a live website

    An import plus one classification column does the cut, and the rejected rows stay visible.

  • Buying committee per account

    for each of these accounts give me the head of engineering and whoever owns product

    Contact rows link back to the account row, so one company never becomes six unrelated leads.

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.

  • From an empty table to an enrolled list

    A segment you described in one sentence ends the week as contacts in an active sequence.

    1. 1Create the table, run a sourcing search into it, and read the first twenty rows before going wider.
    2. 2Add the enrichment and scoring columns, run a sample, then enroll what cleared the bar.
    oxygen lead-sourcing plan
  • Score against the ICP you already wrote

    Qualification stops being a prompt somebody pastes and starts reading one stored definition.

    1. 1Write the ICP once as workspace knowledge, including the disqualifiers everyone keeps forgetting.
    2. 2Point the scoring column at it, then promote the accounts that pass onto company records.
    oxygen columns add
  • Let the list refill itself

    New accounts matching the segment appear without anyone rerunning a query by hand on a Monday.

    1. 1Bind the sourcing run to the table and arm a cadence, with the per-delivery ceiling approved up front.
    2. 2Branch on the score and enroll only what clears it. Everything else waits in the table.
    oxygen feeds bind

Capabilities

What you get

  • One table instead of four tools

    Sourcing, enrichment, scoring, and enrollment run on the same rows. No export step between them and no second copy of the list to reconcile.

  • Rows that carry their own history

    Each cell an action wrote keeps its status, inputs, outputs, provider, cost, and error, so a field that looks wrong is traceable.

  • Spend you approve in advance

    Preview a run on your own rows, read the estimate, then approve a ceiling. A run cannot grow past the number you agreed to.

  • Free while you are still building

    Tables, manual and formula columns, imports, workflows, and sequence drafts cost nothing. Credits are drawn by enrichment, tool, and AI columns when they actually run on a row.

Boundaries

What Tables does not own

This is Tables, the working surface. A row here is a candidate, not canon: it becomes truth when you promote it onto Records. Cadence, suppression, and reply handling belong to Sequences, and the definition it scores against lives in the Knowledge Graph.

Data sources

What the data actually comes from

Every value lands with its provider and cost recorded on the cell.

  • Apollo

    The named paid alternative on the account pass. It runs managed on our key; connect your own Apollo key on a paid plan and it runs on your quota.

  • People Data Labs

    Firmographic breadth for the opening pass, where size, industry, and geography are the only filters.

  • Exa

    Reaches segments a structured filter cannot express, like companies describing a specific workflow.

  • Blitz API

    Head of the contact chain once the account list is settled and each row needs a person to write to.

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

  • Not every filter survives the plan. A segment defined by something no routed lane can express comes back with that filter dropped and the reason named, which is worth reading before the run rather than after it.
  • Coverage differs by lane. A firmographic pass, a hiring pass, and a description pass each miss different companies, which is why the same segment is worth asking of more than one.

FAQ

Questions people ask first

Where does the list actually live?
In a hosted table inside your workspace, on tenant Postgres. You query it, add columns to it, and enroll out of it. Exporting is possible and rarely worth doing.
Can I start from a list I already have?
Yes. Import a CSV and it becomes a table with typed columns. Enrichment and scoring behave the same as on a sourced list, and duplicates collapse on a key you pick.
How do I stop a run from overspending?
Preview it on your own rows and approve a ceiling. The bigger lever is a run condition: keeping a column off rows you already ruled out cuts more than any provider choice.
Do I need a paid plan to build a list?
No. A new workspace arrives with a one-time grant of 10,000 credits, no card and no clock, and the table surface is unmetered. Payment starts when you dispatch to the outside world.
What happens to rows that do not qualify?
They stay put with the score that disqualified them attached. That is what stops the same account being sourced, enriched, and rejected all over again three months later.
How is this different from a database seat?
A seat gives you search. This gives you the rows plus everything done to them afterwards: enrichment, scoring, enrollment, and the provenance behind each field.

Run lead generation that runs inside your own workspace 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.