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

Updated Markdown

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." 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.