Skip to Content
CoursesAI for Sales Reps04 Backfill from an email list

Backfill Profiles From an Email List

Outcome: a list of email addresses turned into named, titled, company-attached records — with dead addresses filtered out before you pay to enrich them.

Surface
MCP server
Level
Beginner
Uses
verify_email · find_linkedin_from_work_email · linkedin_profile_enrich · enrich_person
Credits
~3.3–4.3 per contact
Prerequisite
A list of email addresses

Verify first

The order matters and it is counter-intuitive. Verification is the cheapest step, so it runs first: a dead address is not worth resolving, enriching or profiling.

verify → resolve profile → enrich profile → enrich person cheap moderate moderate moderate

On a list two years old, verification alone may remove a third of the rows. Running it first is the difference between paying three credits for every row and paying three credits for the rows worth having.


The chain

verify_email

Drop invalid and disposable. Keep valid; decide on catch-alls per your policy.

find_linkedin_from_work_email

Resolve the address to a profile URL. This is the step that either works or does not.

linkedin_profile_enrich

Current title, company, location, history.

enrich_person

Any remaining person-level detail you need.

Reference: find_linkedin_from_work_email, linkedin_profile_enrich.


The prompt

Using the SyncGTM MCP server, backfill profiles for these email addresses: [paste 20 addresses] Steps, in this order: 1. verify_email on all of them. Drop anything invalid or disposable. 2. For the survivors, find_linkedin_from_work_email. 3. For those that resolved, linkedin_profile_enrich. Skip any address at a free-mail domain (gmail, outlook, yahoo, etc.) — list those separately, do not process them. Cap at 20. Return a table: email, status, name, title, company, profile URL. For rows that did not resolve, leave the profile fields blank and continue.

The free-mail exclusion matters: those need a different tool and a lower expected match rate, so separating them keeps both the cost and the reporting honest.


What to expect

InputResolution rate
Work email at a corporate domain60–75%
Work email at a small business35–55%
Personal or free-mail address25–45%
Role address (info@, sales@)Near zero

Filter role addresses out before running. There is no individual behind info@acme.com, so every one is a guaranteed non-resolution — and while a miss is not billed, it drags your reported match rate down for no reason.


When the company does not match

Watch for a specific and valuable case: the resolved profile shows a different company from the email domain.

That means the person has moved since you captured the address. Two consequences:

  • The email is dead, whatever verification said about the domain.
  • The person is a job-change lead — warm, in-window, and worth more than the record you were trying to repair.

Flag these separately. See Job Changes & Champions.


Handling the misses

MissFallback
Did not resolve to a profileEnrich the company from the domain — you at least know the account
Free-mail addressTry find_linkedin_from_personal_email
Verified but no profile anywhereKeep as an email-only contact; not everyone has a profile
Nothing worksLeave it. Coverage improves; re-run in a quarter.

Do this now

Separate role addresses and free-mail

Before running anything.

Run verification on the whole list

Note how many survive. That number is a finding about your list’s age.

Resolve profiles for survivors

Flag company mismatches

They are job-change leads.

Enrich the resolved profiles

Compute the match rate

Resolved ÷ verified.

Fall back on the misses

Company enrichment at minimum.


Check your work

  • Verification ran before any resolution
  • Role addresses and free-mail were separated out
  • Company mismatches are flagged as job changes
  • You have a match rate figure
  • Misses have a fallback rather than being dropped

Where this breaks

Enriching before verifying is the expensive ordering, and on an old list it can double the cost for no benefit. A list from two years ago may be a third dead — and every one of those rows costs a resolution and an enrichment attempt before anything tells you the person is unreachable. Verification is the cheapest step in the chain; it goes first.


Further automation

This chain is worth running over every email-only list you own: newsletter subscribers, event registrations, old form fills, support contacts. Most companies have thousands of bare addresses nobody has ever qualified, and it is often the cheapest lead source available to them.


Next lesson

05 — A warm list from post engagement, sourcing people rather than backfilling them.

Reference for this lesson: verify_email, find_linkedin_from_work_email, enrich_person, Waterfall Enrichment.