OXYGENOXYGEN

For lead gen agencies

Lead gen delivery your clients can inspect

A lead list is a claim, and the argument that follows is always about where the rows came from. Make that the part a client can read.

try

The quality argument with a client is rarely about quality. It is about evidence. A spreadsheet cannot say why a row is in it, so the conversation becomes two opinions, and the side without an audit trail writes the credit note.

Delivery here is a hosted table, not a file. Each cell records the run that wrote it, the provider that answered, and what it drew, and a client with a login reads exactly what you read. Rows that pass promote onto Records, so next month's build dedupes against this one.

Who this is for
An agency whose deliverable is the list itself: sourced accounts, matched contacts, verified addresses, handed over every week. Two to twenty people, paid on volume.
What it looks like today
Margin lives between what a row costs you and what you charge for it, and nobody can see either number. A file arrives, a client challenges ten rows, and you absorb it.
What changes
Every cell keeps its provenance: the provider that answered, the run, the time, the credits drawn. Work-email and phone waterfalls charge on a hit, so misses stay off the bill.

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 delivery from a brief

    build 500 b2b saas companies with 20 to 200 staff and the head of revenue at each

    The plan returns the filters and an expected cost band before any paid lane runs.

  • Where one row came from

    who wrote this email address, when did it land, and what did it cost

    Cell history names the provider, the run, and the credits, so a disputed row has an answer.

  • Catch-alls, separated

    verify every address in this delivery and mark the catch-all domains separately

    Only accept-all verdicts escalate to the deeper check, so the bill tracks the subset that needed it.

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.

  • Price the delivery before it runs

    A per-row cost band and a hard ceiling agreed before the first paid lane fires.

    1. 1Preview the enrichment on the real column shape and read the expected cost.
    2. 2Set the run ceiling so a long list cannot outrun the number you quoted.
    oxygen enrich-column preview
  • Hand over a table, not a file

    The client opens the rows you worked on and sees the source behind each value.

    1. 1Invite the client on the read-and-comment role, then point them at the view.
    2. 2Promote the passing rows onto records so the next build dedupes against them.
    oxygen cells inspect
  • Push accepted rows into their CRM

    Accepted contacts land in the client's own system without a manual import.

    1. 1Map the objects and fields once for that client, then run the sync.
    2. 2Read the link ledger: what was created, what matched, what failed and why.
    oxygen crm sync run

Capabilities

What you get

  • Provenance on every value

    A cell carries the provider that produced it, the run that wrote it, the timestamp, and the credits drawn. A dispute becomes a lookup.

  • Email and phone billed on a hit

    The work-email and mobile lanes charge when they return a value, and a row stops at the first lane that answers. Other cascades pay for each managed leg they attempt, so preview the cost before it runs.

  • Verification paid on the subset

    Every found address is graded on the cheap leg, and only an accept-all verdict escalates. You pay the deeper check on catch-alls, not the whole file.

  • Deduped against last month

    Rows promoted onto records carry identity, dedupe lineage, and merge history, so a repeat build recognizes the contacts you already sold.

Instead of

The stack this replaces

Native, on one contract and one credit balance — not another tab wired to the last one.

  • Clay
  • Apollo
  • ZoomInfo
  • Airtable
  • Google Sheets
  • Zapier

Data sources

What the data actually comes from

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

  • People Data Labs

    Firmographic and person records at scale, where a delivery's shape comes from.

  • Apollo

    Search on the client's own account when they already pay for it and want it used.

  • Blitz API

    The lane most rows resolve on, and the one whose price sets what a delivered row costs you before you mark it up.

  • LeadMagic

    Works the leftovers a client will query line by line, and bills only when it hands back an address.

  • MillionVerifier

    Grades every address found and passes only accept-all verdicts onward.

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

  • Some rows come back empty, and they should. Small private companies resolve less often, and a blank cell you can explain beats a padded one you cannot.
  • This is delivery infrastructure, not the brief. The segment logic stays yours, and a weak brief enriched perfectly is still a weak list.
  • Bill on a hit is not the whole bill. Company-field enrichment, profile lookup, and search or sourcing intents charge for each managed leg they attempt, hit or miss, which is why the preview is the number to quote from.

FAQ

Questions people ask first

How do I show a client where a row came from?
Open the cell. Its history names the run, the provider that answered, the timestamp, and the credits drawn, and a client on the read-and-comment role sees it without an export.
Do I pay for rows that never resolve?
Not on the work-email and phone waterfalls. There a lane charges when it returns a result, and a row stops at the first lane that answers. Other cascades bill each leg they attempt, which the preview prices before the run.
How does verification avoid eating the margin?
Two legs. Every found address is graded cheaply, and only an accept-all verdict escalates to the deeper check. An inconclusive result is a verifier hiccup, not a catch-all domain.
Can I keep using my own provider accounts?
On the lanes that support it. Managed access is the default, so nothing needs connecting before the first delivery, and a key you bring draws your own vendor balance.
How do repeat deliveries avoid duplicates?
Promote the delivered rows onto records. That layer is canonical, with dedupe and merge lineage, so the next build matches what exists instead of treating each month as fresh.
What if the client wants it in their CRM?
Sync it. The record layer maps both ways with an existing CRM, and the sync ledger shows what was created, what matched, and what failed, so a partial run is visible the same day.

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.