OXYGENOXYGEN

Fill in the blanks

Enrich accounts and contacts where the work happens

Enrichment goes wrong when it happens somewhere else. Run it as columns on the rows you are already working and the answer, its source, and its cost stay attached to what you act on.

try

Enrichment is usually bought as a bulk job: upload a file, wait, download a wider file, and hope the mapping survived the round trip. What comes back is a snapshot with no memory of which vendor said what, which is why nobody can ever answer where a wrong field came from.

Here enrichment is a column. Each cell records the provider that answered, the inputs it was given, the outputs it produced, the cost, and any error. Dependencies between columns are explicit, so a company lookup feeding a contact lookup runs in that order without anyone sequencing it by hand.

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.

  • Widen an account list

    add headcount, funding stage, and country to every company sitting in this table

    Three columns, one run, and each cell names the lane that filled it so a surprising value is checkable.

  • Standing fill on new records

    whenever a new company record appears, fill in its firmographics automatically

    The saved configuration is the standing permission, so new records arrive filled rather than queued.

  • Refresh what has gone stale

    reenrich anything we last touched more than six months ago and leave the rest

    A filter on the last-run timestamp keeps a refresh off rows that were already updated last week.

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.

  • Enrich once, then promote

    Fields you decide to trust become part of the account record with the run that produced them.

    1. 1Run the enrichment columns on the working table and inspect a sample of the cells by hand.
    2. 2Promote the fields you accept. The ones you reject stay in the table rather than in your CRM.
    oxygen enrich-column run
  • A standing rule for new records

    Records created by a form, an import, or a webhook get filled without anyone remembering to.

    1. 1Enable enrichment on the object and choose which attributes it is permitted to write.
    2. 2Read the backfill preview first, then let records enrich as they arrive from then on.
    oxygen crm enrichment enable
  • Refresh a segment on a schedule

    A market map stays roughly current without the quarterly rebuild nobody has time for.

    1. 1Schedule the run against rows whose last enrichment is older than the threshold you set.
    2. 2Cap each delivery, then promote only the differences that changed the account's shape.
    oxygen tables schedule set

Capabilities

What you get

  • Columns, not a bulk upload

    Enrichment runs where the rows already live. No export, no re-import, and no mapping step that silently drops a field on the way back in.

  • Dependencies that resolve themselves

    A column that reads another column runs after it. The order comes from the references you wrote, not from somebody remembering the sequence.

  • Every cell explains itself

    Provider, inputs, outputs, cost, retries, and errors are inspectable on the cell. Tracing a wrong value takes a click rather than an argument.

  • Your own keys where you have them

    Managed access is the default lane. Where you already pay a vendor directly, connect that key on a paid plan and the call runs on your vendor account rather than drawing credits.

Boundaries

What Tables does not own

Enrichment is Tables work. The enriched row is a candidate until you promote it onto Records, which owns canonical attributes and their merge history. Scheduling a recurring refresh across several steps belongs to Workflows.

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 attributes for the broad fill, which is where most of the blanks on a fresh table are.

  • Crustdata

    Headcount trend, funding, and job-posting context, the fields that turn a static row into a moving one.

  • Blitz API

    Company and profile detail from LinkedIn, and the head lane when a row needs a work email next.

  • LeadMagic

    Company and contact attributes that plug gaps the broad firmographic pass leaves behind on smaller companies.

  • LinkedIn Scraper

    The cookieless LinkedIn Scraper for public profile and company detail without touching a connected account.

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

  • Every provider sounds confident and some of them are wrong. Sample a dozen rows by hand before promoting a field across a whole table, headcount and revenue bands most of all.
  • Enrichment only surfaces what a source already holds. A company nobody has indexed stays mostly empty however many lanes you stack behind it.

FAQ

Questions people ask first

Is this a bulk upload job?
No. Columns run against rows already in the workspace, in place. Nothing is exported and re-imported, which is where most enrichment projects quietly lose a field or a row ordering.
How do I know which provider filled a cell?
The cell records it, with the inputs it was given, the outputs, the cost, and any error. That record is the difference between fixing a wrong value and arguing about it.
Can enrichment run on new records automatically?
Yes. Enable it on the object and choose the attributes it may write. The saved configuration is the standing permission, so records created later fill in without a per-row approval.
What stops a run from enriching everything?
Run conditions plus a ceiling you approve. Most tables only need enrichment on rows that cleared qualification, and shrinking the input set saves far more than switching provider.
Do enriched fields overwrite what I already have?
Only where you say so. Promotion is explicit and records its provenance, so an attribute a person set by hand is not silently replaced by a provider that disagrees.
What does enrichment cost?
It is metered in credits and previewed on your own rows first. A dollar buys 1,000 credits and a top-up runs $1.25 per 1,000, so an estimate converts into money without arithmetic.

Run enrich accounts and contacts where the work happens 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.