# How to Match a Stale Record to a Current Job Title and Professional Email *How-to — 2026-02-22 — by Mahmoud Zalt* Match a stale CRM record to a current job title and professional email by anchoring on a stable identifier, then re-enriching on a schedule. **Short answer.** Anchor the record on a stable identifier (LinkedIn URL, personal domain, or a unique full-name plus past-company pair), then re-enrich it against a current data source to recover the new job title and professional email. Apollo, Clay, and Clearbit are honest tools for the lookup. If you do not want to babysit the matching workflow, Sistava ships an AI Sales Employee that re-enriches your CRM on a schedule and updates titles and emails without manual stitching. ## Why does a CRM record go stale in the first place? A B2B CRM record decays the moment the person on it changes job, gets promoted, or switches their email domain, and that happens far more often than most founders model. Industry surveys put B2B contact decay between 25% and 30% per year, which means a quarter of your pipeline silently becomes wrong within twelve months even if you never add a row. The two breakage points are predictable: the job title field still says Marketing Manager when the person is now a Director at a different company, and the email field still points at the old company domain that now bounces. You do not lose the human, you lose the routing. The fix is not to scrub the record by hand: it is to anchor the row on something stable (LinkedIn URL, personal name plus a strong tiebreaker, sometimes a phone), then run a re-enrichment pass that pulls the current title and the current professional email back into the row. ## At a Glance - **25-30%** Annual B2B contact decay rate - **2.1 yrs** Median B2B tenure before a role change - **70%** Of bounced emails are role changes, not typos - **1 anchor** Minimum stable identifier needed to re-match ## What is the most reliable anchor for matching a stale record? Not all identifiers are equal when you are trying to find the same human at a new company. The most reliable anchor in 2025 is the public LinkedIn profile URL, because it survives company changes, name spellings, and email switches. Second strongest is a personal domain or personal email (founders and developers often keep them across roles). Third is the unique tuple of full name plus past employer plus city, which is good enough when LinkedIn is missing. Phone numbers are weaker than they look because business lines die with the role, but a mobile is gold if you have it. The general rule is to pick the anchor that is least likely to change with the job, and to refuse to match on the email itself: matching stale email to stale email is how you end up updating the wrong person and silently breaking a different row in your CRM. ## Benefits ### LinkedIn profile URL Strongest single anchor. Survives job changes, email changes, and name spelling variants. ### Personal domain or mobile Founders, devs, and senior operators keep these across roles. Great as a tiebreaker. ### Full name + past employer + city The fallback tuple when LinkedIn is missing. Add seniority or function for tighter matches. ### GitHub or personal site Strong for technical roles. Often public, often current, often the easiest to scrape. ### Common name plus company Avoid as a sole anchor. Always pair with a second signal or you will collide rows. ## How do you actually run the match-and-enrich pass step by step? The cleanest workflow is the same whether you do it by hand, in Clay, or via an AI Employee. You start by exporting only the rows that look stale: last touched more than six months ago, missing title, or with a bounce on the last campaign. You then pick the strongest available anchor on each row, send the anchor to a person-data provider (Apollo, Clearbit, Lusha, ZoomInfo, or a Clay waterfall across several), and pull back the current company, current title, current email, and the confidence score. You only accept matches above a threshold (usually 0.85 confidence and at least two corroborating signals), and you write the result back as a new revision rather than overwriting in place. The last step is the one most teams skip: log the source, the timestamp, and the previous values so the next person who looks at the row can audit how it changed. ### Match-and-enrich playbook 1. **Filter the stale rows** — Pull rows older than 6 months, missing title, or bounced. Do not re-enrich every row, only the broken ones. 2. **Pick the strongest anchor on each row** — Prefer LinkedIn URL; fall back to personal domain, then to full name plus past employer plus city. 3. **Run a waterfall lookup** — Send the anchor through 2 or 3 providers (Apollo, Clearbit, Lusha, Clay) and keep the highest-confidence return. 4. **Verify the email before writing it back** — Use ZeroBounce, NeverBounce, or the provider's own deliverability score. Reject anything under 0.85. 5. **Write a new revision, do not overwrite** — Save the old title and old email as previous_title and previous_email so the change is auditable. The big mistake at this stage is treating the lookup as a one-time clean-up project. People keep changing jobs after you finish your sweep, so a record you fixed in March is stale again by November. The teams that win at data hygiene treat re-enrichment as a recurring background task, not a quarterly fire drill. You want a thin loop: detect the staleness signal, run the anchor lookup, write a revision, alert the owner if the company changed. That loop is what turns CRM hygiene from a project into a property of the system. Once you have run the playbook once by hand and you have seen what a clean row looks like compared to a stale one, the next question is whether to keep doing it manually, glue together Clay plus Zapier plus a verifier, or hand the loop to an AI Sales Employee that already knows the shape of a CRM and runs the match-and-enrich cycle on a schedule. The honest answer depends on volume and stack maturity, which is what the next section walks through. ## What tools should you use to find the current title and email? The category splits into four honest lanes. Pure data providers like Apollo, Clearbit, Lusha, and ZoomInfo sell you a database and an API: cheapest per lookup, but you build the workflow yourself. Workflow tools like Clay and Cargo sit on top of those providers and let you build a waterfall in a spreadsheet UI: faster than code, still your job to maintain. Automation glue like Zapier, Make, and n8n connects the providers to your CRM: powerful, but every step is a fragile node you have to debug when a field name changes. AI Employees like Sistava bundle the lookup, the verification, the writeback, and the schedule into one role that watches your CRM the way a human SDR Ops person would, without the per-task wiring. If you already have a clean Clay setup that works, keep it. If you are starting from scratch, the AI Employee path skips the glue tax. ## Benefits ### Data providers (Apollo, Clearbit, Lusha) Lowest per-lookup cost. You write the matching logic and the writeback yourself. ### Workflow tools (Clay, Cargo) Spreadsheet-style waterfalls across providers. Great middle ground for ops-savvy founders. ### Automation glue (Zapier, Make, n8n) Connects the providers to your CRM. Fragile when fields rename or providers change shape. ### AI Sales Employee (Sistava) Anchors, looks up, verifies, writes back, runs on a schedule. No glue to maintain. ## How do you stop the same records from going stale again next quarter? Three habits stop the decay from compounding. First, run the match-and-enrich loop on a schedule, not as a one-off: monthly for high-value rows (customers, top of pipeline), quarterly for everything else. Second, capture the anchor at ingest time, not later: every form, every import, every Zap should require a LinkedIn URL or a personal domain alongside the email, because those are the fields that survive the role change. Third, log every revision: keep previous_title, previous_company, and previous_email columns so you can detect a change as a signal (someone who just changed jobs is a fresh outbound trigger, not just a maintenance task). If you wire those three habits in once, your CRM stops being a snapshot of who these people were last year and starts being a live picture of where they actually are today, which is the only state in which it is worth anything to sales. ## Frequently asked questions ## FAQ ### How do I find someone's current email if their old one bounces? Look them up on LinkedIn, take the profile URL as your anchor, then run that anchor through Apollo, Clearbit, or a Clay waterfall. The provider returns the current company and current professional email. Verify deliverability with ZeroBounce or NeverBounce before writing it back to your CRM. ### Can I match a record on name and company alone? Only if you add a second signal, like city, function, or seniority. Common names plus common companies collide constantly. Always pair name plus company with one more field, or you will silently overwrite the wrong row. ### How often should I re-enrich my CRM? Monthly for customers and active pipeline, quarterly for everything else. B2B contact data decays at 25 to 30 percent per year, so a full sweep less than once a quarter means a quarter of your rows are wrong at any given time. ### What confidence threshold should I trust on a provider match? 0.85 or higher is the working floor for most providers, paired with at least two corroborating signals (current company plus current title, or LinkedIn URL plus verified email). Anything below that should be flagged for human review, not written back blindly. ### Does an AI Sales Employee actually save time over Clay? It depends on stack maturity. If you already have a Clay setup and an ops person maintaining it, stay there. If you are starting fresh and do not want to learn a spreadsheet automation tool, an AI Sales Employee on a platform like Sistava bundles the lookup, verification, writeback, and schedule into one hire. If you want the deeper companion piece on how a single AI Sales Employee actually owns the full CRM-enrichment loop (which providers it calls, how it handles low-confidence matches, how it logs revisions, and where I keep a human in the loop), the next read walks through the architecture I run on my own pipeline. It is the practical follow-on to this matching playbook and goes one layer deeper into the writeback step that most teams skip. The honest framing for the whole exercise: matching a stale record to a current title and email is not a data problem, it is a workflow problem. Anyone can buy an Apollo seat. The teams that keep their CRM clean are the ones who turned the lookup, verification, writeback, and audit into a recurring loop. Pick your anchor strategy first (LinkedIn URL plus a fallback tuple), pick the provider lane that fits your stack (data API, Clay workflow, or an AI Sales Employee that owns the whole thing), and wire the loop to run on a schedule. Do that once and the stale-record problem stops compounding. **Tags:** crm-enrichment, stale-records, professional-email-lookup, job-title-update, data-hygiene, sales-operations, ai-sales-employee