Checks any email address against a waterfall of verification providers and returns a valid and deliverable verdict for 0.3 credits.
verify-email wraps the SyncGTM MCP verify_email tool, which takes one email address and returns whether it is valid and whether it is deliverable. It runs waterfall verification across several providers in sequence and stops at the first verdict, so you are charged once per address rather than once per provider tried. The skill drives it over a whole list: it deduplicates the column, prices the run, then splits the output into a clean list you can import and a risky list you hold.
Takes one input — the `email` parameter, one full address per call. No name, no company, no LinkedIn URL, and no array input.
Runs waterfall verification across multiple providers in sequence and stops at the first one that returns a verdict.
Returns three fields per address: `email`, `valid`, and `deliverable`. Nothing else comes back.
Costs 0.3 credits per address, charged once per call and not once per provider the waterfall walks through.
Does not find addresses. Use `find_work_email` (1 credit) or `find_personal_email` (3 credits) when the row has no address yet.
Returns no name, title, company or phone — use `enrich_person` (1 credit) for that. The verdict is a point-in-time signal, not a delivery guarantee, so re-verify a list that has sat for months.
Download the skill file — it saves as verify-email.zip.
In Claude, open Settings → Capabilities → Skills and upload the .zip (or unzip the verify-email/ folder into .claude/skills/ for Claude Code).
Connect the SyncGTM MCP server at docs.syncgtm.com/mcp_server/setup — browser sign-in, no API key.
Type /verify-email and paste your addresses or point at the CSV column that holds them. Ask for a split into clean and risky, not a written report.
The tool has no options to tune — it takes one address per call, so the only dial is how many calls you authorize. At 0.3 credits an address, 1,000 addresses is 300 credits, so set the cap up front and run `check_credits` (free) first.
Verify every address in a sequencer import the morning it launches. Splitting deliverable from risky keeps bounce rate below the threshold that gets a sending domain throttled.
After `find_work_email` fills the email column on a fresh list, verify each address so only deliverable rows reach the sequencer. `find_work_email` returns an address without checking it.
Re-verify contacts collected six or more months ago and flag the ones that broke. Then run `check_job_change` on the LinkedIn URLs behind the failures to see which of them moved employers.
Check addresses pulled off company sites with `scrape_emails_from_website` before treating any of them as a reachable contact. Most of what that tool returns is a generic inbox.
Outcome: One import-ready CSV of verified contacts plus a separate hold file of failures, produced in a single session for about 160 credits before the scrape fallback.
Outcome: A refreshed CRM contact table where every sendable row carries a dated deliverability verdict and every job-changer carries a new work email.
Outcome: A warm outbound list of up to 25 rows where every address is verified and every row carries a first line taken from that person's public comment.
Paste any of these into Claude once the skill is installed and the SyncGTM MCP is connected.
Verify jane@stripe.com and tell me whether it is valid and deliverable.Verify these 50 addresses — cap the run at 50 calls, 15 credits — and return two lists: deliverable and not deliverable.Run check_credits first, then verify every address in the work_email column of this CSV. Stop at 200 addresses (60 credits) and add valid and deliverable columns to the same rows.Find work emails for these 25 LinkedIn URLs with find_work_email (25 credits), then verify each one with verify_email (7.5 credits) and drop anything not deliverable. Limit: 25 profiles.Re-verify the 100 contacts in this CSV that we collected in January (30 credits). For the first 20 that come back not deliverable, run check_job_change on their LinkedIn URL from the linkedin_url column (40 credits) and tell me who moved companies.Verify right before the send, not when you build the list. A verdict reflects what the providers could see at the moment of the call, and people change jobs.
Ask for a split, not a report. A clean list and a risky list are directly importable; a paragraph of commentary is not.
Never verify an address you constructed. A pass on a guessed first.last@company.com tells you the pattern resolves, not that the person is behind it.
Deduplicate and lowercase the column before the run. The same address in three exports is three charges for one verdict.
Finding and verifying are two tools with two costs. `find_work_email` (1 credit) returns an address without checking that it is deliverable — ask for both explicitly.
The tool takes `email` only and never says why an address failed. Diagnose failures with `check_job_change` (2 credits), which needs the LinkedIn `profile_url`, not the email.