# Enrichment in pipelines: what happens to a record from trigger to result

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

A pipeline with the **Enrich** target doesn't send a record anywhere: it
fills the record's own missing fields. This article follows one record
through it — from the trigger that hands it over to the result in the
pipeline's History — and explains what you'll see under Entries while it
runs and what is charged. For setting the target up, see "The Enrich
pipeline target".

## What the Enrich target does with a record

The target has three settings: the **fields to reach** (up to 8 content
types — e-mail, phone, job title, company …), **At most per record** (5,
10, 25 or 50 credits; 10 by default) 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 trigger to run

Records reach an Enrich pipeline like any other: by hand from the
selection bar, from the record drawer, or automatically from a list
trigger. In a trigger's **Then** menu, **Enrich** is a shortcut for "hand
over to a pipeline" pointing at your first Enrich-target pipeline (it tells
you to create one if there is none yet).

When the pipeline sends the entry, ListPlus starts an **enrichment run for
that one record** — the same kind of run as an enrichment of selected rows,
just with one row. The run calls the provider, charges, stores the answer
with the record and fills the cells. The entry stays in the pipeline until
the run ends: under **Entries** it shows as **Waiting**, and the record
shows the **running** mark with a moving ring in the list.

## Multi-step plans

Often one call isn't enough — a job title may need a LinkedIn URL first.
The pipeline runs the plan **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 pipeline waits for it instead of paying for a
second one.

## Manual and automatic pipelines

How quickly the entry settles depends on the pipeline's **Release**:

- **Automatic**: the end of a run wakes the pipeline within seconds; it
  then starts the next step or settles the entry. A cron every five minutes
  catches anything a wake-up missed.
- **Manual**: nothing moves until someone clicks **Send** (or **Send all**)
  again. The first Send starts the runs; a later Send checks which runs
  have ended, starts the next steps and settles the finished entries. So a
  manual Enrich pipeline needs at least two Sends — or switch it to
  Automatic.

A pass takes up to 10 entries at a time, in the order they were added. With
a **daily limit** set on an automatic pipeline, the limit counts the
records that were finished that day; the rest continues the next day.

## What the result shows

Once settled, the entry leaves Entries and appears in **History**:

- **"N empty fields filled"** — fields the record didn't have at the start
  and has now.
- **"Nothing new found"** — calls were made, but none of the missing fields
  could be reached.
- **"No route – not reachable from the data at hand"** — no provider can
  start from what the record holds (for example a name without a company).

A failed entry stays under Entries as **Error** 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 Send again: the entry
is planned afresh from what the record holds now, and fields already
reached are not bought again. "Enriching works for list records only."
means the entry came from the Watchlist — add that contact to a list
first.

## What is charged

The pipeline's runs charge exactly as runs 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 entry 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 · pipelines-overview · automatic-release ·
pipeline-marks · list-triggers · running-jobs-and-limits ·
continue-stopped-enrichment · fill-empty-cells.

## FAQ

### Can hundreds of records go through an Enrich pipeline at once?

Yes. A pass takes 10 entries at a time, in the order they were added, and an automatic pipeline keeps taking passes until Entries is empty — paced by the providers, so a few hundred records take a while. With a daily limit set, the rest continues the next day; a manual pipeline moves only when someone clicks Send.

### Why does the entry say "Waiting" even though the enrichment is running?

Under Entries an entry whose enrichment run is under way is shown as Waiting until the run ends and the pipeline settles it; the record itself shows the running mark and a moving ring in the list. On an automatic pipeline that happens within seconds of the run's end, on a manual one at the next Send.

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

No. The run's writes do make the trigger look at the record again, but a record that already carries the pipeline's mark is not handed over a second time — so an "Enrich" trigger acts once per record. Only a condition like "Pipeline X last more than N days ago" (N at least 1) hands the record over again after that many days.

### Does an Enrich pipeline 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 does "Nothing new found" or "No route" mean in the pipeline's History?

"Nothing new found" means calls were made but none of the missing fields could be reached; "No route – not reachable from the data at hand" means no provider can start from what the record holds, so nothing was called. Add a starting point (a company domain, a LinkedIn URL) and send 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.

### Why does a manual Enrich pipeline need a second Send?

The first Send only starts the enrichment runs; the entries stay as Waiting while the runs go. The next Send (or Send all) checks which runs have ended, starts the next steps and moves the finished entries to History — switch the pipeline's Release to Automatic on the Flow tab if you'd rather not click twice.
