Prompt

Clean a contact list before a campaign goes out

Time to build: 3 min
Difficulty: Easy
Tools: ClaudeLusha

The short version: paste your send list and Claude validates every row against Lusha before launch — who has left, whose email will bounce, whose title changed enough to break a {{title}} token. Returns SEND, UPDATE FIRST, DO NOT SEND, or UNVERIFIED per contact plus a deliverability risk rating. A 200-contact check costs 8 credits, before any address is re-revealed.

One bad send damages deliverability for every send that follows. This Claude prompt validates every contact on a list before the campaign launches — Lusha checks who’s still at their company, whose email will bounce, and whose title breaks the {{title}} personalization token. Returns a per-contact send decision and a deliverability risk rating before a single email goes out.

First, connect Lusha to Claude.

The example output below was pulled live via the Lusha connector on May 25, 2026. Contacts are real, masked to initials, with company names replaced by category descriptors. No emails or phone numbers are published.

The prompt

<context>
I'm about to launch an outbound campaign. Before the first email goes out, I want to validate every contact on the send list — so we don't burn deliverability on bounces, send wrong personalization to people who've been promoted, or reach out to contacts who left months ago.

My list:
- Contact list: [PASTE NAME, TITLE, COMPANY, EMAIL — one per line]
- Campaign type: [COLD OUTREACH / RE-ENGAGEMENT / PRODUCT UPDATE / EVENT INVITE]
- Personalization tokens used: [e.g. {{title}}, {{company}}, {{first_name}}]
- Last time this list was validated: [DATE OR "NEVER"]
- Estimated send date: [DATE]
</context>

<task>
1. For each contact, use Lusha to validate:
   - Still at the company?
   - Verified work email — does it match what we have?
   - Current title — does it match the personalization token we're using?

2. Flag each contact with a send decision:
   - SEND: confirmed at company, email verified, title current — safe to include
   - UPDATE FIRST: still there but title changed enough to break personalization — fix the token before sending
   - DO NOT SEND: departed or email undeliverable — remove from this send
   - UNVERIFIED: Lusha can't confirm — manual check before including

3. For DO NOT SEND contacts, suggest whether to find a replacement contact at the same company or remove entirely.

4. Return:
   - Cleaned list with status and corrected fields where needed
   - Summary: X SEND, X UPDATE FIRST, X DO NOT SEND, X UNVERIFIED
   - Estimated bounce rate if sent as-is (% of DO NOT SEND)
   - Deliverability risk rating: LOW / MEDIUM / HIGH based on list quality

5. Flag any company where multiple contacts on the list are DO NOT SEND — may signal a larger org change worth investigating before outreach.
</task>

<constraints>
- Validate in preview mode. Reveal corrected emails only for rows flagged UPDATE FIRST or where the address failed verification.
- Confirm the company domain matches before trusting a match. A misspelled company name can match a different organisation.
- DO NOT SEND is a hard call — don't soften it to "check before sending."
- Title changes matter when they break personalization tokens — a VP who became SVP breaks {{title}} unless updated.
- If 20%+ of the list is DO NOT SEND, flag the whole campaign as HIGH deliverability risk.
</constraints>

What you'll get back

The situation: A demand gen manager is sending a re-engagement campaign to 8 [Customer support SaaS] and [CRM] Sales and RevOps contacts. List hasn’t been validated in 9 months. Using {{title}} personalization. Running the clean before scheduling the send.

Output from live Lusha run, May 25, 2026:

ContactCRM titleCurrent statusSend decisionNote
E.L.VP of SalesSVP of SalesUPDATE FIRST{{title}} will render “VP” — update to SVP before send
A.L.VP Global SalesSVP of Global SalesUPDATE FIRSTSame — promoted, token will break
G.L.VP of SalesVP of Sales ✓SENDTitle confirmed current
J.P.VP Sales OpsVP Worldwide Sales OpsUPDATE FIRSTTitle changed — update token
R.C.Area VP SalesArea VP Sales ✓SENDConfirmed
S.T.Sr Director, SDRSr Director, SDR ✓SENDConfirmed
K.C.Regional VP SalesRegional VP Sales ✓SENDConfirmed
T.W.VP RevOpsSVP, AR & RevOpsUPDATE FIRSTSignificant promotion — update before send

Summary: 8 contacts · 4 SEND · 4 UPDATE FIRST · 0 DO NOT SEND · 0 UNVERIFIED

What it cost: 1 credit. Contact search bills at 1 credit per batch of up to 25 records, so validating 8 contacts is a single batch. A 200-contact list would be 8. Re-revealing a corrected email costs 1 credit each, and only for the rows that need it — on this run, none did, since every address was still valid.

The cost scales with corrections, not with list size. That’s what makes running it before every send affordable rather than a quarterly exercise.

Estimated bounce rate if sent as-is: 0% — no departures detected. Deliverability risk: LOW — all contacts still at their companies. Personalization risk: MEDIUM — 4 of 8 contacts will receive wrong {{title}} token if sent without updating. Fix before scheduling.

Company flag: Both [CRM] and [Customer support SaaS] contacts show multiple title changes — consistent with org restructures at both companies over the past 9 months. Worth checking for additional contacts before the send if the list is larger.

If a contact comes back UNVERIFIED: check the company name on that row before treating it as a data gap. An abbreviated or misspelled company name can match a real but unrelated organisation and return a confident-looking result for the wrong company. Confirm the domain on the returned record matches the one you have.

Contacts verified live via Lusha connector, May 25, 2026. Names masked to initials.

Why use Lusha in Claude

A personalization token that renders wrong — “Dear VP of Sales” to someone who has been SVP for eight months — is not a minor issue. It tells the recipient you are working from stale data, which is the opposite of the impression you want on a first touch.

The deliverability risk rating and bounce estimate give the campaign manager a single number to act on before scheduling. And the company-level flag is the output that changes behaviour beyond this campaign: when several contacts at the same account all show title changes, that is an org restructure, and it means the rest of your records for that company are probably stale too.

Repeated hard bounces damage sender reputation, and that damage outlasts the campaign that caused it. Validating costs 1 credit per 25 contacts. A damaged sending domain costs considerably more.

Data drawn from 290M+ verified contacts, sourced and processed under GDPR, CCPA, SOC 2 Type II, ISO 27001, ISO 27701, and TRUSTe Responsible AI. Full detail in the Trust Center and privacy notice.


FAQ

How do I check a contact list before sending a campaign?

Validate three things per row: whether the person is still at the company, whether the email address is still deliverable, and whether the title still matches any personalization token you are using. The third is the one people skip, and it is the one that produces a technically successful send that reads as obviously stale to the recipient.

How many credits does validating a contact list cost?

1 credit per batch of up to 25 contacts, so a 200-contact list is 8. Re-revealing a corrected email costs 1 credit per contact, and only for rows that need correcting. On a healthy list that is a small share of the total, which is why validating before every send is affordable rather than something to save for large campaigns.

Does UPDATE FIRST mean I have to delay the campaign?

No, it means fixing a field before the send rather than after the reply. UPDATE FIRST is a token problem, not a deliverability problem — the email will arrive, it will just address someone by a title they left behind. Update the field in your sending tool and schedule as planned.

What if 20% or more of my list is DO NOT SEND?

Treat it as a list problem rather than a row problem. A fifth of contacts departed usually means the list is old enough that the remaining 80% is also drifting — titles stale, companies restructured, seniority wrong. Rebuild from current data rather than sending to the survivors, and check whether the source that produced this list is still worth using.

What counts as a title change that breaks personalization?

Anything that changes what the token renders. VP to SVP breaks {{title}}. A scope expansion — VP RevOps to SVP covering AR and RevOps — breaks it twice over, because the title is wrong and the remit reference in your copy is now too narrow. A lateral move within the same title does not break the token but may change whether the person is still the right recipient.

Why do several contacts at the same company all show title changes?

That is usually a restructure rather than a coincidence, and it is worth acting on beyond this campaign. If three contacts at one account all changed titles in the same window, the account has reorganized, which means your other records there are likely stale and there may be new decision-makers who are not on your list at all. Re-map the account before the next campaign rather than patching row by row.

Ready to run this?

One data connection. Works in Claude, ChatGPT, your CRM, or any agent you build.