# Enrichment by a rule: what happens to a record from rule to result

Source: https://listplus.ai/en/help/pipelines/enrichment-in-pipelines
Last updated: 2026-10-17

A rule's **Enrich** action doesn't send a record anywhere: it fills the
record's own missing fields. This article follows one record through it —
from the rule that picks it up to the filled cells — and explains what you
see while it runs and what is charged. For setting it up, see "[Enrich in a
rule — fill a record's own missing fields](https://listplus.ai/en/help/pipelines/enrich-pipeline)".

## What Enrich does with a record

The action has three settings: the **fields to reach** (up to 8 content
types — e-mail, phone, job title, company …), **At most per record** (a credit
limit per record that you choose; a default is preset) and the **fill rule**, by default
**Fill empty cells only**. For each record ListPlus looks at what the row
already holds and plans the cheapest route to the missing fields — a
domain is better than a company name, a LinkedIn URL better than a name,
and so on. A field the record already has is not bought again.

## From rule to run

When a record meets the rule's conditions, the rule starts an **enrichment
run for that one record** by itself — the same kind of run as an enrichment
of selected rows, just with one row. Nobody releases it. The run calls the
provider, charges, stores the answer with the record and fills the cells.
While it works, the record shows a moving ring in the list and the last
column is animated.

## Multi-step plans

Often one call isn't enough — a job title may need a LinkedIn URL first.
The plan runs **one step at a time**: when a run ends, the next step is
planned again from what the record holds *now*, so a found LinkedIn URL
opens the next route. A route that was already tried (hit or miss) is
never called twice, a step whose nominal cost would push the record over
its budget is not started, and there are at most 12 calls per record. If
another enrichment of the list is already doing the very same call for
this row, the rule waits for it instead of paying for a second one.

## How fast it goes

The end of a run starts the next step within seconds; a check every five
minutes catches anything that was missed. Records are taken up to 10 at a
time, in the order they came, and the providers set the pace — a few
hundred records take a while.

## When a record could not be enriched

A record whose enrichment failed shows under **Flows → To do → Failed or held**,
under the rule's name, with the reason: **"Not enough credits."**,
**"Stopped – the provider is not answering"**, **"The enrichment run was
cancelled"**, **"The enrichment run stopped"** or **"The enrichment run is
gone – try again"** (the run's record was deleted after 48 hours or with
the list). Fix the cause and click **Try again**: the record is planned
afresh from what it holds now, and fields already reached are not bought
again. A record for which nothing could be found, or from whose data no
route starts (a name without a company, say), is simply left as it is.

## What is charged

The runs charge exactly as runs started from the list do: an e-mail or
phone lookup only when it finds one, other lookups per call as the price
list says, and nothing for an answer that is still in the cache. The budget
per record caps the **nominal** cost of the planned steps — a step that
would exceed it is not started. In a workspace the runs spend the
workspace owner's credits, and when the balance is empty the record fails
with "[Not enough credits](https://listplus.ai/en/help/plans-credits-billing/not-enough-credits)." instead of starting a run.

## Everything found is kept

Choosing three fields doesn't throw the rest away. Whatever the provider
returns is stored in the record's enrichment data, and with the default
fill rule every **empty** column that has a matching value is filled — not
only the chosen ones. A cell that already has a value keeps it (unless you
chose one of the replace rules); the found value stays in the record panel
and can be taken over later.

**Related topics:** enrich-pipeline · list-triggers · pipeline-marks ·
running-jobs-and-limits · continue-stopped-enrichment · fill-empty-cells.

## FAQ

### Can hundreds of records be enriched by a rule at once?

Yes. They are taken 10 at a time, in the order they came, until none is left — paced by the providers, so a few hundred records take a while.

### How do I see that an enrichment is running?

The record's row shows a moving ring and its last column is animated until the enrichment is done; the cells fill in as results arrive. There is no Entries tab for a rule's enrichment.

### Does the rule fire again when the enrichment writes the row?

No. The run's writes do make the rule look at the record again, but a record it has already enriched is not taken a second time — so Enrich acts once per record. Only a condition like "Pipeline X last more than N days ago" (N at least 1) can take the record again — the next time the record changes after those N days, not by itself.

### Does Enrich take several steps for one record?

Yes, one at a time: after each run the next step is planned from what the record holds now, a route is never called twice, a step over the per-record budget is skipped, and there are at most 12 calls per record. Fields the record already has are never bought again.

### What if nothing is found for a record?

Then the record stays as it is: either calls were made and none of the missing fields could be reached, or no provider can start from what the record holds, so nothing was called. Add a starting point (a company domain, a LinkedIn URL) and the rule can try again once its conditions take the record again.

### Are only the chosen fields filled, or everything the provider returns?

Everything the provider returns is kept in the record's enrichment data, and with "Fill empty cells only" every empty column with a matching value is filled, not just the chosen fields. Cells that already have a value keep it; the found value stays in the record panel for taking over later.
