Blog

How to Build an Outbound List From Scratch: A Step-by-Step Workflow

Building an outbound list from scratch means turning an empty CRM into a campaign-ready file of verified, graded, contactable leads. LeadSonar does the four hardest stages of that job inside one workspace: it sources contacts from 4.2M+ verified B2B records, enriches each one through a waterfall of 18-20 data providers that resolves roughly 85% of contacts and returns 30+ fields per lead, grades every lead with an A/B/C/D ICP score, and gates every email through EmailShield verification before it reaches your export. Based on 2026 LeadSonar production data, that pipeline sustains 23.5 enriched profiles per second on bulk runs and charges only for verified results.

This is a step-by-step workflow, so it reads as a tutorial you can follow from zero. It covers how to define an ICP that saves you credits, how to source and enrich a raw pool, how to grade and verify before a single email goes out, and how to hand the finished list to your own sequencer. Sending itself lives in your outbound tool; everything upstream of the send lives here.


Why building an outbound list from scratch usually fails

Most first outbound lists fail at the data layer, long before the copy or the cadence get a chance to matter. Three things go wrong.

The first is stitched-together tooling. A typical from-scratch build touches a finder for emails, a second tool for phone numbers, a verifier, an enrichment provider, and a spreadsheet for ICP notes. Every handoff between those tools drops fields, duplicates rows, and burns hours. A list assembled across five tools inherits the error rate of all five.

The second is single-source data. When you pull emails from one provider, you inherit that provider's coverage gaps and staleness on every row it misses. B2B contact data decays roughly 25-30% a year as people change jobs and companies restructure, so a list sourced once from a single vendor is already partly wrong the week you build it.

The third is skipping the grade. A raw list treats every contact as equal, so a founder at a perfect-fit account and a junior coordinator at a company that will never buy get the same send. In a 103,000-contact B2B sample scored by LeadSonar, 40.6% of leads earned a top A ICP grade and 8.7% landed at C, which means a list that ignores grading wastes real budget mailing the wrong quarter of its rows.

LeadSonar collapses those three failure points into one pass. One workspace replaces 5-plus point tools, the waterfall cross-checks 18-20 sources on every contact, and AI ICP scoring attaches a grade and a written reason to each lead before you spend a cent on sending. The rest of this guide walks the workflow end to end.


The from-scratch workflow at a glance

The build runs in six sequential stages. Each one gates the next, so a bad row gets caught early rather than at send.

| Stage | What happens | LeadSonar module | What it costs | |---|---|---|---| | 1. Define ICP | Write firmographic + persona criteria | Reference for filters | Free | | 2. Source | Filter and reveal matching contacts | Lead Finder | 1 lead credit per reveal | | 3. Enrich | Cascade through 18-20 providers | Waterfall Enrichment | Enrichment credits per verified hit | | 4. Grade | Attach A/B/C/D + 0-100 fit score | AI ICP Scoring | 1 enrichment credit per call | | 5. Verify | Syntax, MX, SMTP, catch-all checks | EmailShield Verification | Included with the verified hit | | 6. Export | CSV or push to your sequencer | CSV Export / CRM sync | Free |

Search and filtering are always free, and you spend a lead credit only when you reveal a contact, so the ICP and sourcing work at the top of the funnel costs nothing until you commit to a specific person. That structure lets you build and tighten the list shape before you spend, which is exactly what you want when you are starting from zero.


Step 1: Define the ICP before you source anything

Every credit you spend downstream is only as smart as the ICP you write first. Define it in two layers.

The firmographic layer describes the company: industry, headcount bucket, annual revenue, geography, funding stage, and any technology or hiring signal that correlates with a good fit. LeadSonar's Lead Finder maps these directly to filters, including headcount buckets from 1-10 up to 10K+, funding stage, tech stack, and hiring activity, so a written ICP translates one-to-one into search criteria.

The persona layer describes the human: their role, their seniority, and the specific problem your product solves for them. Use job-title include and exclude filters here. Excluding titles matters as much as including them, since it keeps coordinators, interns, and adjacent departments out of a list aimed at buyers.

Write the ICP down before you open the finder. A one-paragraph description works: "US SaaS companies, 51-500 employees, Series A or later, using a modern data stack, targeting VP Sales and Head of Growth." That sentence becomes both your filter set and, later, the target_icp input for scoring. When your ICP is explicit, the platform's grading has a clear standard to score against, and your first send goes only to people who already match on paper.

A tight ICP also protects your sending reputation before you have one. A list narrowed to real buyers at real companies produces fewer role-based and catch-all addresses, which is the raw material deliverability depends on. For the downstream side of that equation, our guide on how to improve cold email deliverability covers how list quality drives inbox placement.


Step 2: Source the account and contact pool

With the ICP written, sourcing is mechanical. Open Lead Finder and translate each ICP line into a filter.

Search and filter run across 4.2M+ verified B2B contacts and cost nothing. You can stack filters (industry plus headcount plus funding stage plus title) and preview the match count before spending anything. When the filtered pool matches your ICP shape, reveal contacts. Each reveal costs 1 lead credit, and that is the only place a lead credit is spent.

For a from-scratch build, reveal wider than your target send size, because grading and verification will trim the pool. A rule of thumb: to end with 1,000 campaign-ready A/B leads, reveal 1,800 to 2,400 contacts, since roughly 91% will grade B-or-better in a well-targeted pool and verification removes the invalid and role-based rows on top of that.

If you would rather describe the list in plain language than build filters by hand, Sonya, the in-platform AI sales agent, runs the whole sourcing step from a sentence. Type "find 300 VP Sales and Heads of Growth at US SaaS companies with 51-500 employees, Series A or later" and Sonya runs search, reveal, enrich, score, and export as one flow. Sonya is available on every plan, including the Free Trial, so a first-time builder can source a starter list without learning the filter UI first.

One sourcing discipline carries the whole build: let ICP fit set the size of your pool and treat volume as a byproduct of good targeting. In a 37,040-contact US outbound sample, 95.2% of contacts held founder, C-suite, or VP-level-and-above titles, which is the seniority profile a tight ICP produces. A list that skews junior is a sourcing problem, and it is cheapest to fix here, at the filter, before any enrichment credit is spent.


Step 3: Enrich through the waterfall

A revealed contact is a name and a company. Enrichment turns it into a complete, verified record. This is the stage where single-source stacks lose the most rows, and where the waterfall earns its place.

LeadSonar cascades each contact through 18-20 data providers arranged in tiers: a primary tier that is cheap and fast and always runs, an accuracy tier that widens coverage, and a fallback tier that runs only as a last resort. The cascade uses stop-on-hit logic, so it halts the moment a provider returns a result that survives deliverability verification. Cheaper providers run first, expensive ones only on a miss, and you are charged only for verified results.

Across a full email waterfall, that cascade resolves roughly 85% of contacts. About 50% resolve on the first, cheapest tier, about 35% are recovered by deeper tiers, and about 15% are genuine misses that you are never charged for. Because the billing is stop-on-hit, a miss costs you nothing, which is why waterfall economics beat paying a flat per-lookup fee to a single vendor whether it finds the contact or not.

Each resolved contact returns 30+ fields: email, phone, title, company size, revenue, tech stack, funding stage, founded date, LinkedIn, location, and more. On a bulk build the pipeline sustains 23.5 enriched profiles per second, measured on a production 5,000-record run, and a single-lead enrichment completes end to end in about 2 seconds, with cached or single-source lookups under 1 second.

For CSV or bulk enrichment, billing is per filled cell: you are charged for the fields the pipeline actually populates, and any cell it cannot fill is refunded at its per-field weight. That granularity matters most on a from-scratch build, where you are enriching a raw pool with unknown coverage and do not want to pay for gaps.

Enrichment also writes the AI Openers inline, so each verified contact leaves this stage with a role-aware subject line and first-line opener already attached. Those are the fields you will personalize on when the list reaches your sequencer.


Step 4: Grade every lead by ICP fit

Enrichment tells you who the contact is. Scoring tells you whether they are worth mailing. AI ICP Scoring runs against the target_icp you defined in Step 1 and returns, for every lead, a letter grade (A, B, C, or D), a 0-100 fit score, a high/medium/low fit label, and a written reason, plus buyer-persona and company-type context. This is a number with a reason attached, so an ops reviewer can audit the grade before a send rather than trusting a black-box score.

The distribution in real data shows why grading is the highest-leverage step in a from-scratch build. In a 103,000-contact B2B sample scored by LeadSonar, 40.6% of leads earned an A grade, 50.8% earned a B, 8.7% landed at C, and 0% at D, so over 91% qualified at B-or-better. Fit ran 85.8% high, 13.5% medium, and 0.7% low, and the median fit score was 77 out of 100. The scoring engine also sorted those 103,000 leads into 22,772 distinct company-type descriptions, none exceeding 1.8% of the corpus, which is the segmentation granularity that lets you split a raw list into tight campaigns.

The practical rule for a first build: send to A and B grades in your opening campaign, and route C and D into a lower-priority queue or drop them. Grading before you send is the difference between a 1,000-lead list that converts and a 10,000-lead list that burns your domain reputation on poor-fit rows. For the broader quality framework behind grade-first list construction, our reference on B2B lead list building best practices goes deeper on using ICP grade as the primary quality filter.


Step 5: Verify deliverability

A graded list is still not safe to send until every email is verified. Verification is where deliverability is won, and LeadSonar builds it into the pipeline rather than leaving it as a separate step.

Every email the waterfall returns is gated through EmailShield, LeadSonar's sister verification engine, before it is ever stored or exported. EmailShield runs syntax, MX, SMTP, and catch-all detection on each address and returns one of six flags: Valid, Invalid, Risky, Catch-all, Disposable, or Role-based. An email is not treated as found until it clears verification; a rejected result sends the cascade to the next provider. The engine runs at 99.9% verification accuracy, paired with 94.6% measured deliverability across a trailing 30 days, so the accuracy claim holds if it is challenged.

The payoff shows up in real send data. In a 37,040-contact US outbound sample, 99.98% of contacts had a valid MX record (only 6 of 37,040 lacked one), and when the list was actually mailed, only 0.55% produced a hard bounce, dominated by Google's 550-5.1.1 (no such user) and 550-5.2.1 (disabled mailbox) responses. That 0.55% sits far under the 2% bounce threshold that starts to damage sender reputation at the major mailbox providers. The SMTP status codes behind those checks are defined in RFC 5321, and the reputation thresholds themselves are documented in Google's sender guidelines and the sending best practices published by M3AAWG.

Catch-all and role-based addresses deserve a deliberate policy. A catch-all flag means the domain accepts every address at the SMTP layer, so verification cannot confirm the specific mailbox. Include catch-all rows from high-confidence sources and hold back the low-confidence ones. Verification failures are refunded instantly, so the rows that could not be confirmed do not cost you. For a full treatment of removing the risky rows from a raw file, see our guide on how to clean a B2B email list.


Step 6: Export to your sequencer and segment

The list is now sourced, enriched, graded, and verified. The final step hands it to the tool that actually sends. LeadSonar is a lead-intelligence platform: it finds, verifies, enriches, and scores. The sending, the warm-up, and the cadence happen in your own sequencer.

Export the finished list to CSV or XLSX, or push it one-way into HubSpot, Salesforce, or an outbound tool like Instantly or Smartlead. Because the AI Openers were written during enrichment and the ICP grade and company-type strings are already on every row, the file arrives with everything your sequencer needs to personalize and segment.

Segment before the first send. A practical split for a from-scratch list:

| Segment | Rule | First-send priority | |---|---|---| | Core | Grade A, Valid email, high fit | Full volume, personalized | | Secondary | Grade B, Valid email | Second wave after Core reply data | | Cautious | Grade A or B, Catch-all from a trusted source | Low volume, monitor bounce | | Hold | Grade C/D, or Risky/Role-based | Excluded from the first send |

Sending only from the Core and Secondary segments first gives you clean reply and bounce signal before you widen the send. Once the campaign is running in your sequencer, the outbound list you built from scratch is doing its job, and your next build reuses the same six steps.


Two production examples

An agency building a client list from an empty CRM. A 6-person outbound agency onboarding a new fintech-lending client started from zero: no list, no CRM records, no verified contacts. The client's ICP was heads of lending operations and VPs of Risk at US consumer-lending companies with 201-1,000 employees. Working in LeadSonar, the team filtered Lead Finder to that shape, revealed about 7,400 contacts, and ran the full pool through the waterfall, which resolved roughly 85% of them and returned 30+ fields per lead. ICP scoring graded the enriched pool, the team kept the A and B rows, and EmailShield verification removed the invalid and role-based addresses. The build ended with about 4,100 campaign-ready leads, delivered to the client's own Smartlead workspace with openers attached. The agency had previously assembled client lists across a finder, a separate phone tool, a standalone verifier, an enrichment provider, and an ICP spreadsheet; consolidating those five tools into one workspace cut the build from roughly two weeks to two days, and the per-seat cost of the old stack was replaced by a single LeadSonar plan billed per verified result.

A seed-stage founder building a first outbound motion. A seed-stage B2B SaaS founder in HR-tech built the company's first outbound list with no data budget and no sales hire yet. The ICP was Heads of People and HR Directors at US companies with 51-500 employees. Starting on the Free Trial and moving to Starter at $29/mo, the founder used Sonya to source the list from a plain-language description, revealed about 1,900 contacts, graded them, and kept roughly 1,050 A and B leads after EmailShield verification. The list exported to the founder's own Instantly account for sending. When the campaign ran, the bounce rate held around 1.2%, consistent with the sub-0.55% hard-bounce and 99.98% valid-MX profile the verification pipeline produces, and the founder never had to buy or stitch together a separate finder, verifier, and enrichment tool to get a clean first list out the door.


What it costs to build the list

Pricing on a from-scratch build is easy to reason about because LeadSonar runs a single monthly credit balance and charges only for results.

The two pools are tracked separately. Lead credits are spent when you reveal a contact (1 lead credit per reveal). Enrichment credits are spent on AI actions: each ICP score, company summary, subject line, and email or phone enrichment costs 1 enrichment credit, and CSV or bulk enrichment is billed per filled cell, with unfilled cells refunded. Failed and invalid lookups are never charged, and verification failures are refunded instantly, so the misses in your first raw pool cost nothing.

| Plan | Monthly | Credits/mo | |---|---|---| | Free Trial | $0 (7 days, no card) | 1,000 | | Starter | $29 | 50,000 | | Growth (most popular) | $79 | 250,000 | | Pro | $199 | 800,000 | | Scale | $499 | 3,000,000 | | Enterprise | Contact sales | Custom |

Annual billing runs about 16-17% below monthly. For a first build, the Free Trial's 1,000 lead credits are enough to source, grade, and verify a starter list of several hundred leads before you pay anything. The category starts at $59 to $199 for comparable tools, so LeadSonar undercuts it by 2 to 10 times, and one plan replaces the 5-plus point tools a manual build would otherwise require. Canceling a single Apollo seat covers a year of LeadSonar.

When you source data for outbound, keep the compliance layer in view: build lists against the rules that apply to your recipients, including the GDPR in the EU and the CAN-SPAM Act in the US. A verified, well-targeted list built from a clear ICP is also the easier list to keep compliant, since it carries fewer stale and mis-targeted rows.


FAQ

How do you build an outbound list from scratch?

Build an outbound list from scratch in six steps: define a firmographic-plus-persona ICP, source matching accounts and contacts, enrich each contact through a multi-provider waterfall, grade every lead by ICP fit, verify deliverability on every email, then export to your own sequencer. In LeadSonar the sourcing filters and search are free, the waterfall cascades through 18-20 providers and resolves roughly 85% of contacts, and every email is verified through EmailShield before it reaches your export. A first list of 1,000 to 4,000 campaign-ready leads takes one to two days instead of the one to two weeks a manual stack requires.

How many contacts do you need to start outbound?

A viable outbound motion usually needs a few thousand addressable companies, then contacts segmented into campaigns of 500 to 2,000 for personalization. Quality outweighs raw volume: in a 103,000-contact B2B sample scored by LeadSonar, 40.6% earned a top A ICP grade and over 91% qualified at B-or-better, so a graded 1,000-lead list built from scratch can outperform an ungraded 10,000-lead dump. Start with a tight ICP, grade every lead, and only send to A and B rows first.

What is the best way to enrich a prospect list?

Waterfall enrichment beats any single data source. LeadSonar cascades each contact through 18-20 providers in tiered order and stops on the first result that survives deliverability verification, so cheap sources run first and expensive ones only run on a miss. The cascade resolves roughly 85% of contacts (about 50% on the first tier, about 35% recovered deeper, about 15% genuine misses that are never charged) and returns 30+ fields per lead including title, company size, revenue, tech stack, and funding stage.

How do you verify emails before cold outreach?

Verify every address through syntax, MX, SMTP, and catch-all checks before it enters a campaign. LeadSonar gates every enriched email through EmailShield, its sister verification engine, which flags each address as Valid, Invalid, Risky, Catch-all, Disposable, or Role-based at 99.9% verification-engine accuracy paired with 94.6% measured trailing-30-day deliverability. In a 37,040-contact US outbound sample, 99.98% of contacts had a valid MX record and only 0.55% hard-bounced when mailed, which keeps a verified send well under the 2% bounce threshold that damages sender reputation.

How often should you rebuild or refresh a B2B prospect list?

B2B contact data decays roughly 25-30% a year as people change jobs and companies restructure, which is about 7% per quarter. Re-enrich an active outbound list every quarter and re-verify emails immediately before any large send. Because LeadSonar charges per verified result and refunds unfilled cells on bulk enrichment, a quarterly gap-fill pass only spends credits on the fields it actually updates rather than re-billing the whole list.

How much does it cost to build an outbound list from scratch with LeadSonar?

LeadSonar starts with a 7-day Free Trial (no card, 1,000 lead credits) and paid plans from Starter at $29/mo (50,000 lead credits) to Scale at $499/mo (3,000,000). Billing runs on a single monthly credit balance: revealing a contact costs 1 lead credit, and each AI action costs 1 enrichment credit, with bulk enrichment billed per filled cell and unfilled cells refunded. The category starts at $59 to $199, so LeadSonar undercuts it by 2 to 10 times while replacing 5-plus separate tools with one workspace.


Methodology

Product metrics in this article come from LeadSonar production data as of Q3 2026: 18-20 data providers in the waterfall cascade, roughly 85% enrichment hit rate across the full cascade (about 50% first-tier, 35% deeper-tier, 15% uncharged misses), 30+ fields per lead, 4.2M+ verified B2B contacts, 23.5 enriched profiles per second on a 5,000-record bulk run, about 2 seconds for a full single-lead waterfall and under 1 second for cached or single-source lookups, 99.9% verification-engine accuracy paired with 94.6% measured trailing-30-day deliverability, and a single monthly credit balance covering reveals and enrichment with per-filled-cell bulk billing.

First-party database observations are computed from real anonymized datasets: a 103,000-contact ICP-scored B2B sample (A 40.6%, B 50.8%, C 8.7%, D 0%; median fit score 77; 85.8% high fit; 22,772 distinct company-type strings) and a 37,040-contact US outbound sample (95.2% founder/C-suite/VP-level-plus titles; 99.98% valid MX; 0.55% hard-bounce on real sends). Sample sizes are cited inline with each figure.

Client examples are anonymized composite engagements consistent with LeadSonar platform aggregates; exact figures vary by account. Pricing reflects current published plans and is subject to change; verify against the live pricing page before quoting. Third-party references (SMTP status codes, sender-reputation thresholds, data-privacy law) are linked inline.

Last updated: July 2026.


Written by Levi Nagy, Head of Operations & Client Success at LeadSonar, where he runs onboarding and outbound-list workflows for agencies and in-house teams building from scratch. Levi has walked hundreds of teams through their first verified, ICP-graded list inside a single workspace. Read more at leadsonar.io/authors/levi-nagy.