CRM data decay audit: bounce risk and job changes in a small contact sample
LeadMagic + HubSpot
Who it's for
RevOps teams who want to know how stale their contact data is, segment by segment, before a big campaign or a data-vendor renewal, without changing any records. LeadMagic can be swapped for ZeroBounce, and HubSpot for Salesforce, Attio or Pipedrive.
What you get
Decay rates by segment from a 60-contact sample. Sample output: every company and person in it is fictional.
Sample: 60 HubSpot contacts, 20 per segment, picked at random from contacts not updated in 12 months. LeadMagic credits: balance checked before and after. 15 credits for 60 email checks, plus the people lookups you approved. | Segment | Checked | Valid | Invalid | Couldn't confirm | Changed company | |---|---|---|---|---|---| | Enterprise (1,000+) | 20 | 15 | 3 (15%) | 2 | 4 (20%) | | Mid-market | 20 | 17 | 2 (10%) | 1 | 3 (15%) | | SMB | 20 | 13 | 6 (30%) | 1 | 5 (25%) | | Total | 60 | 45 | 11 (18%) | 4 | 12 (20%) | Examples: - Dana Okafor, [email protected], Larkspur Freightworks (fictional): email invalid. Now VP Operations at Brindle Cargo (fictional). - Sam Whitlock, [email protected], Quarry Lane Analytics (fictional): email valid, same company, new title. Not a job change. - Alex Rivera, [email protected], Mossgate Labs (fictional): email couldn't be confirmed. Two people with this name found. Marked 'not sure'. Rough read: about 1 in 5 old contacts in this sample would bounce or has moved on, and SMB decays fastest. With 20 per segment, one contact moves a rate by 5 points, so treat these as rough rates. No HubSpot records were changed.
Time and cost
Estimate About 20–30 minutes, most of it picking the sample and reading the results.
Assumptions: One run over a sample of 60 contacts, 20 in each of three segments.
- LeadMagic: A free credit balance check before and after, one work email check per sampled contact, and one people search per contact you approve for the job-change check. Both kinds of call spend credits and run only after you approve. Some tools use credits. Most tools use credits (e.g. find_work_email 1, validate_work_email 0.25, detect_job_change 3, find_mobile_number 5 if found, account_intel ~2-58, enrich_contact ~1-20); check_credit_balance, preview_cost and get_account_analytics are free. MCP uses the same credits as the REST API with no extra cost. Source: leadmagic.io, checked 2026-10-16
- HubSpot: Reads only: a contact count per segment and a search that pulls the sample's name, email, company, title and segment. Credit use not confirmed by HubSpot.
Exact credit costs depend on your plan with each vendor. Check the tool pages before a large run.
MCP servers
Every server is confirmed in: ClaudeChatGPT
-
ClaudeChatGPTClaude CodeCursorCopilotRead + writeSome tools use credits
https://mcp.leadmagic.io/mcp -
ClaudeChatGPTRead + writeCredits not confirmedNeeds admin or IT
https://mcp.hubspot.com
Set up in a chat app
Every server in this recipe is confirmed for Claude and ChatGPT. Connect each one, then paste the prompts below into one conversation.
- Connect LeadMagic without code (Claude, ChatGPT)
- Connect HubSpot without code (Claude, ChatGPT)
Developer setup
Auth setup and mcp.json for Claude Code and Cursor
- LeadMagic: Sign in with OAuth in your client (run
/mcpin Claude Code). Do it once interactively, and the client stores and refreshes the token. - HubSpot: Sign in with OAuth in your client (run
/mcpin Claude Code). Do it once interactively, and the client stores and refreshes the token.
Put this in .mcp.json (Claude Code, project root) or ~/.cursor/mcp.json (Cursor). Swap the example keys for your own, and don't commit real ones. Remove the // comment lines if your client requires strict JSON.
{
"mcpServers": {
"leadmagic": {
"url": "https://mcp.leadmagic.io/mcp"
},
"hubspot": {
"url": "https://mcp.hubspot.com"
}
}
}
Step-by-step prompts
- Count my HubSpot contacts by {segment_field} and show me a table. Then pick a random sample of {n_per_segment} contacts per segment from contacts not updated in {months} months: name, email, company, company domain, job title and segment. Don't change any records.
- Check my LeadMagic credit balance. Tell me how many email checks and people lookups this sample needs, and wait for my approval.
- After I approve it, check each work email in the sample with LeadMagic's validate_work_email. Show me a table per segment with valid, invalid and couldn't-confirm counts and rates.
- Only after I approve the lookups, use LeadMagic people search to find each sampled person by name and old company domain. Flag anyone now at a different company, with the new company and title, and mark weak matches 'not sure'. Then check my credit balance again.
- Give me a short summary by segment: invalid rate, job-change rate, the combined decay rate, and three example records. Keep it here as text. Don't write anything to HubSpot or LeadMagic.
Run it on a schedule (optional)
- Run it quarterly, or before a big campaign or a data-vendor renewal, and compare the rates with the last run.
- Keep the same segments, filter and sample size each time so the rates are comparable.
- If you schedule it, stop after the sample and the credit check. Approve the credit spend yourself each time.
Where this goes wrong
- The sample isn't random. Sorting by created date or name skews the result. Ask for a random pick in each segment, and check that the sample's created dates spread across the segment instead of bunching up.
- Segments too small to compare. At 20 contacts a segment, one bounce moves the rate by 5 points. Show counts next to every rate, and don't rank segments that differ by only one or two contacts.
- A name match finds the wrong person. A people search by name can return someone else with the same name. Match on name plus the old company domain, and mark anything weaker as 'not sure' instead of a job change.
- A promotion counted as a job change. A new title at the same company isn't decay. Compare the old and new company domain, and count only people whose company changed.
Gotchas
- Most LeadMagic tools use credits. check_credit_balance is free, and validate_work_email costs 0.25 credits per email.
- LeadMagic can also create Tables and submit bulk enrichment jobs, which spend credits. This recipe uses neither, so say no if it offers.
- On Claude Team or Enterprise, an Owner adds LeadMagic as a custom connector in Organization settings first. In ChatGPT, an admin may need to enable developer mode, and ChatGPT may expose only some of the tools.
- HubSpot's setup needs an admin: non-admin users need a Super Admin to approve the connector before they can connect.
- ZeroBounce instead? It has validate_email and validate_batch, but its listing doesn't confirm Claude or ChatGPT support or its credit costs. It uses an API key, and on Claude Team or Enterprise only an Owner or Primary Owner can add its hosted connector.
- Using Salesforce instead? Count and sample contacts with a SOQL query. Salesforce needs Enterprise Edition or above and an admin-created External Client App, and every tool call counts against the org's daily API request quota.
Download
Get the prompts, guardrails and expected output as one Markdown file. Paste it into a Claude Project or ChatGPT project's instructions, or save it as CLAUDE.md for Claude Code.
New recipe and breakage notes every week
Vendor sites: HubSpot. If we join an affiliate program, these links will be labeled as affiliate links.