Turns a LinkedIn profile URL into that person's personal email address. Waterfall enrichment across six providers, 3 credits per lookup.
find_personal_email is a SyncGTM MCP tool that takes a LinkedIn profile URL and returns that person's personal email address. It runs waterfall enrichment across Datagma, RocketReach, LeadMagic, Forager, Findymail and LinkedIn, stops at the first provider with a match, and charges 3 credits per lookup. Treat it as the fallback for when a business address is dead, bouncing or was never published — find_work_email covers the standard case at a third of the cost.
Takes one linkedin_url per call — the full profile URL. No URL, no lookup, and there is no batch parameter: 25 people is 25 calls.
Accepts three optional inputs that cost nothing — first_name, last_name and organization_name. They lift the hit rate on sparse profiles and separate two people with the same name.
Runs six providers in sequence — Datagma, RocketReach, LeadMagic, Forager, Findymail and LinkedIn — and stops at the first hit. You pay once per lookup, not once per provider tried.
Returns three fields: email, status and the linkedin_url you passed. One address per call.
Does not check deliverability, does not return work emails, phone numbers or a full person record. Chain verify_email (0.3 credits), find_work_email (1 credit) or enrich_person (1 credit) for those.
Costs 3 credits per lookup, charged on empty results too. A 100-row list is 300 credits whether it returns 100 addresses or 40.
Download the skill file — it saves as find-personal-email.zip.
In Claude, open Settings → Capabilities → Skills and upload the .zip (or unzip the find-personal-email/ folder into .claude/skills/ for Claude Code).
Connect the SyncGTM MCP server — browser sign-in, no API key, nine supported clients — then run check_credits (free) to see your balance. At 3 credits a lookup, a 100-row list costs 300 credits.
Type /find-personal-email and paste your LinkedIn URLs, or point it at a CSV with a linkedin_url column plus first_name, last_name and organization_name where you have them. Say "personal email" out loud — a vague "find her email" routes to find_work_email, a different address at 1 credit.
The setting worth tuning is the batch cap. Add "stop after 25 and report credits used" and "do not guess email patterns" to every list run, so a miss stays a miss instead of becoming a fabricated address.
A work address hard-bounces and the sequence stalls on that row. Pull the personal address from the LinkedIn URL you already have and restart the thread instead of dropping the account.
Someone who backed your deal has left and their old inbox is dead, but the new one is not indexed yet. A personal address keeps the relationship alive through the gap.
Solo founders and two-person teams often have no published business address or route it to a shared inbox nobody reads. This gets you the inbox they actually check.
Recruiters cannot approach a candidate through a monitored work inbox. A personal address is the only appropriate channel for the first message.
Outcome: A clean re-entry list of verified personal addresses that replaces bounced rows, for 6.3 credits per recovered contact across the four tools.
Outcome: A 40-name warm list carrying a verified address on most rows, where the 3-credit lookup only touched the handful the 1-credit pass missed.
Outcome: A win-back list where every former champion has one verified address and a dated reason to be contacted, for about 140 credits at those caps with a dozen movers.
Paste any of these into Claude once the skill is installed and the SyncGTM MCP is connected.
Find the personal email for https://www.linkedin.com/in/janedoe. Pass first name Jane, last name Doe and organization name Stripe with the lookup.Here are 20 LinkedIn URLs. Run find_work_email first at 1 credit each, then run find_personal_email only on the ones that come back empty. Stop after 20 rows, do not guess email patterns, and report credits used.Check my SyncGTM credits, then find personal emails for the first 15 rows of this CSV using the linkedin_url, first_name, last_name and organization_name columns. Skip rows with no LinkedIn URL and stop at 15.Find personal emails for these 10 LinkedIn profiles, then run verify_email on each result. Return a table of name, company, personal email, verification status and credits spent. Cap the run at 10 lookups.Run check_job_change on these 25 CRM contacts, then find the personal email for everyone it flags as a recent job change. Cap the personal email lookups at 8, mark misses as not found, and report total credits.Say "personal email" every time you ask. A vague "find her email" lands on find_work_email — a different address at 1 credit — and you will not notice until the send.
Run find_work_email across the list first and send only the empties here. One credit beats three, and most B2B sequences want the business address anyway.
Pass first_name, last_name and organization_name on every call. They are free, they lift the hit rate on thin profiles, and they stop the waterfall returning the wrong Jane Smith.
Add "do not guess email patterns" to every batch prompt. A fabricated address looks identical to a real result in the output table and bounces like a fake.
Never retry an empty. The retry hits the same six providers and bills another 3 credits. Empty means no provider held the address, not that the person has no personal email.
Deduplicate profile URLs, cap the batch, and run check_credits (free) first. There is no batch or limit parameter — 50 profiles is 50 calls and 150 credits, spent whether or not the addresses come back.