Prospecting and outbound

How to build a B2B lead list from a CRM export

Build a B2B lead list from a CRM export: enrich the accounts you already closed, qualify them against your ICP with AI, and rank what is worth working.

Oneprofile

Published by

Oneprofile

Updated Oct 16, 2026

ยท 11 min read

Prices restated per rung from the catalog; dedupe step and waterfall wording corrected

Free plan: 200 credits a month, 3 integrations, no card

Guide cover: Start your lead list at closed-won, beside the HubSpot and LinkedIn logos

Your first list should not start with a database subscription. At a company under fifty people, the fastest way to build a B2B lead list is to export the accounts you already closed and work outward from what they have in common.

That export is not a list yet. Contacts are stale, the industry column is free text, and revenue data is missing entirely. Four passes fix it: enrich the accounts, qualify them against your ICP, rank the result, then push the top slice to your CRM and a sequence.

To work through it on your own accounts, connect your CRM to a free workspace and pull the closed-won list in.

Build a B2B lead list from lists you already have

Most b2b lead list building advice opens at a data source database. Set your filters, pick a headcount band, export a hundred thousand contacts. That approach works and plenty of teams run it well. It is also the point where a founder without a data budget closes the tab.

There are four or five lists sitting in systems you already pay for, and each one carries more signal than a filtered database query.

Seed list

Where it lives

Why the signal is good

Closed-won accounts

CRM

The only sample where you know the outcome

Closed-lost, over a year old

CRM

Budget, tooling, and champions have all moved since

Sign-ups that never converted

Product database or CRM

They chose to try you once already

Event scans and webinar lists

A CSV on someone's laptop

Self-selected interest, decaying fast

Churned accounts

CRM plus your support desk

You know exactly what broke

Export the accounts you already know, and start with closed-won. Not because those companies will buy twice, but because they define the pattern everything else gets measured against. Closed won lookalike accounts are the rest of the market filtered by the traits your paying customers turned out to share, which beats the ICP written on slide nine of the seed deck.

Say your first list comes out of a sign-up table nobody has opened in months. The qualification pass can cut a large share of it before anyone writes a single email, which feels wasteful right up until the replies start coming back from the accounts that survived.

While we are here: the TAM spreadsheet needs to stop. Forty thousand rows, eleven filter tabs, a headcount column nobody trusts, and no evidence anyone ever worked past row 300. It is planning theater. A ranked list of 200 accounts with a written reason attached to each one is worth more than the whole file.

What the export needs before you build a B2B lead list

Match rates and score quality are both decided by what you bring, not by which data source runs. Pull these columns out of the CRM:

  • Company domain. The single most important column. "Acme Inc." is a string thousands of companies share a version of; acme.example is an identifier that data sources can actually match on.

  • Outcome and close date. Won, lost, or churned, plus when. This is the evidence the AI pass reads later.

  • What they paid. Contract value or MRR if your CRM holds it. If it does not, connect your billing tool as a second source and the number appears on that account anyway.

  • Any contact, even a stale one. A name from three years ago still tells you which job title bought.

Load the export next:

  1. Connect your CRM as a source and filter to the outcome you want, or import the export file directly if you would rather work from the CSV. The same path covers a conference list, and the mechanics are the same ones in how to enrich a CSV of leads.

  2. Once the accounts are in, open the company domain column's header menu and choose Remove duplicates, so a company that appears as three deals becomes one account. The first row of each duplicate is kept.

  3. Keep the outcome fields visible. Most people drop them at import and then wonder why the scoring pass has nothing to reason from.

Enrich every account with firmographics and contacts

A lead list from CRM data is mostly holes at this point. Old contacts, missing headcounts, no current tech stack. This pass turns those accounts into contacts you can actually reach.

No single data source covers everyone, so the waterfall asks data sources one at a time and stops at the first one that returns an answer. You do not build the chain. Data sources are ordered by accuracy and hit rate, the most accurate one runs first, and a lookup that finds nothing costs nothing. Checking an email address is a separate step, Verify email, which sits beside the lookup.

Enrichment

Up to, per match

Up to, per 500 accounts

Company firmographics, from a domain

15.0 credits

$150

Person enrichment, from an email

10.0 credits

$100

Work email plus Verify email

10.8 credits

$108

Phone number

39.4 credits

$394

At $0.02 a credit, each figure is the most a matched account can cost, and an account is charged the price of the data source that answered it. No list matches every account. The total appears before the run, so an expensive enrichment can be dropped while dropping it is still free.

Two sources most people forget on this pass: your billing tool, which puts real contract values on your closed-won accounts and makes the ICP definition quantitative instead of vibes, and your support desk, which knows which of the churned accounts left angry and which just ran out of runway. Both connect the same way the CRM did.

Qualify the lead list against your ICP with AI

Now the pass that changes the list rather than widening it. You describe your ideal customer once, in a sentence or two, and AI scores every account against that description.

Holding every account to the same written standard is the part that matters. Eyeballing one company at a time can tell you it has 80 employees, but your standards drift somewhere around row 50. Scoring each of the 400 accounts against the same description is what makes a sort by score mean something.

Write the description from evidence, not aspiration. Something like: "Seed to Series A B2B SaaS, 20 to 150 employees, sells to sales or marketing teams, already runs a CRM and a billing tool, and pays us above $8,000 a year." Every clause in that sentence should trace back to something you've actually enriched.

What comes back is a score and a reason for each account. The reason reads like a note from a junior analyst: this one matches on size and category but has no CRM in its stack, that one is a category fit but has fewer than ten employees. Reps skim scores and act on reasons, which is also how you catch a scoring rubric that has quietly gone wrong.

Rank the list and cut the accounts not worth working

Sort by score and the shape of the list appears immediately. There is usually a clear top band, a long middle, and a tail of accounts that got into the export because someone once scanned a badge.

Cut the tail. Then read ten reasons from either side of wherever you drew the line, because that is where the model's judgment is weakest and where you will find out whether your ICP sentence said what you meant.

Back to the domain for a second, because it matters again here. Accounts that missed enrichment come back unscored, not low, because there was nothing to score. Filter for empty scores and empty firmographics before you cut anything, fill the domains by hand, and re-run enrichment on just those accounts. It is the one manual hour in this whole guide worth spending.

Build a B2B lead list your CRM and sequencer can use

Push the finished list to your CRM and sequencer. A ranked list nobody works is a nicer version of the spreadsheet you started with, so the last pass gets it back out:

  • To the CRM. Create score, reason, and tier properties in the CRM once, then map them. Re-running the export writes fresh values to them rather than leaving them frozen at export time. The same write-back pattern powers HubSpot lead scoring.

  • To a sequence. Enrol the top slice in email and LinkedIn steps on one canvas. Start from a campaign the agent tailors to that slice, or build the steps yourself. All the research that ranked the account also writes the opening line of the message that reaches it. If the team already sends from Instantly, Smartlead, or lemlist, export the list and import it there instead.

  • On a schedule. Re-run enrichment monthly. People change jobs, companies raise rounds, and the list decays whether or not you look at it.

Export your closed-won accounts and run them through. The free plan covers 200 credits a month and three tables of up to 100 rows, which is enough to score a real sample end to end, and credits never expire. Get started free and rank your first 100 accounts.

Do this in Oneprofile

Every account scored against your closed-won pattern

The ICP scorer rates each account strong, possible, or poor with a 0 to 100 score and the facts behind it, so a sort by score means something.

  • HubSpot logo
  • Salesforce logo
  • Stripe logo
  • Zendesk logo
  • Oneprofile sequences logo

6 steps to build it

Before you start

CRM access to export closed-won, old closed-lost, and churned accounts

A company domain on each account, or time to fill in the missing ones

Score, reason, and tier properties in your CRM, created once

1

Export the accounts you already know

Pull closed-won accounts, closed-lost deals older than a year, and product sign-ups out of your CRM. These are the highest-signal seed lists a small team owns, and you already paid for them.

2

Load the export

Connect the CRM as a source or import the CSV. Every account arrives ready to enrich. Remove duplicates on the company domain column, and keep the outcome fields so the qualification pass has evidence to read.

3

Enrich every account with firmographics and contacts

Fill in firmographics, decision-maker contacts, and work emails, with Verify email beside the lookup. The waterfall asks data sources one at a time, most accurate first, and stops at the first answer. Cost is shown before the run, and a lookup that finds nothing costs nothing.

4

Qualify the lead list against your ICP with AI

Describe your ideal customer once, using what your closed-won accounts have in common. AI scores each account against that description and writes a short reason next to the score.

5

Rank the list and cut the accounts not worth working

Sort by score and read the reasons on the boundary accounts. Keep the slice your team can genuinely work this month. The rest stays saved for the next campaign rather than being deleted.

6

Push the finished list to your CRM and sequencer

Create score, reason, and tier properties in your CRM once, then map them. Enrol the top slice in an email and LinkedIn sequence built from the same enriched list.

Free plan: 200 credits a month, 3 integrations, no card

6 steps to build it

Before you start

CRM access to export closed-won, old closed-lost, and churned accounts

A company domain on each account, or time to fill in the missing ones

Score, reason, and tier properties in your CRM, created once

1

Export the accounts you already know

Pull closed-won accounts, closed-lost deals older than a year, and product sign-ups out of your CRM. These are the highest-signal seed lists a small team owns, and you already paid for them.

2

Load the export

Connect the CRM as a source or import the CSV. Every account arrives ready to enrich. Remove duplicates on the company domain column, and keep the outcome fields so the qualification pass has evidence to read.

3

Enrich every account with firmographics and contacts

Fill in firmographics, decision-maker contacts, and work emails, with Verify email beside the lookup. The waterfall asks data sources one at a time, most accurate first, and stops at the first answer. Cost is shown before the run, and a lookup that finds nothing costs nothing.

4

Qualify the lead list against your ICP with AI

Describe your ideal customer once, using what your closed-won accounts have in common. AI scores each account against that description and writes a short reason next to the score.

5

Rank the list and cut the accounts not worth working

Sort by score and read the reasons on the boundary accounts. Keep the slice your team can genuinely work this month. The rest stays saved for the next campaign rather than being deleted.

6

Push the finished list to your CRM and sequencer

Create score, reason, and tier properties in your CRM once, then map them. Enrol the top slice in an email and LinkedIn sequence built from the same enriched list.

Free plan: 200 credits a month, 3 integrations, no card

Building a B2B lead list: common questions

How do you build a B2B lead list from a CRM export?

Export your closed-won and old closed-lost accounts, fill in the missing contacts and firmographics with the waterfall, then have AI score every account against your ICP and write the reason. Sync the top slice back to your CRM.

What makes closed won lookalike accounts a good lead list?

Your closed-won accounts are the only sample where you already know the outcome. What they turn out to have in common is a sharper ICP definition than any persona document. Ranking new accounts against that evidence is what makes the list worth working.

How many accounts should a B2B lead list have?

Fewer than most people think. Two hundred accounts you can research and follow up on beat two thousand you cannot. Rank the whole list, work the top slice, and keep the rest saved for the next campaign.

What does it cost to enrich a lead list from CRM data?

Each enrichment is charged per record at the price of the data source that answered it, at $0.02 a credit. The run shows the most it can cost and what it usually costs before it starts, and misses cost nothing.

Can I build a lead list without a data source subscription?

Yes. Start from data you already hold: closed-won accounts, product sign-ups, event lists. Enrichment is billed per operation on one meter, so there is no database contract to sign before the first list. The free plan covers 200 credits a month.

How do I keep the lead list from going stale?

Keep it in Oneprofile instead of a spreadsheet on someone's laptop. A scheduled refresh re-enriches the accounts that go stale, and writing the results back to the CRM keeps the copy your reps open current rather than frozen at the moment you exported it.

About this article

Oneprofile

Oneprofile

Publisher of this page

Oneprofile finds the right people, enriches them, and helps you reach them.

Drafted with AI from our product docs and code, and published by Oneprofile.

Turn your closed-won export into a ranked lead list

Enrich the accounts you know, score them against your ICP, and push the top slice.

Free plan: 200 credits a month, 3 integrations, no card

Turn your closed-won export into a ranked lead list

Enrich the accounts you know, score them against your ICP, and push the top slice.

Free plan: 200 credits a month, 3 integrations, no card