PROMPT

Find missing fields on a contact list

A Claude prompt that takes a partial contact list — names without emails, LinkedIn URLs without phones, emails without titles — and fills the missing fields with verified data. Paste whatever you have, get back a complete row per contact. Built for RevOps and SDR managers running list backfill before a campaign loads.

Once Lusha is connected in Claude, the connector runs in the background — no special syntax needed. Just paste the list and run.

Images on this webpage are for illustrative purposes only. Any named individuals shown in live demo outputs are real, with last names abbreviated for privacy.

The prompt

<context>
I have a partial contact list. Different rows are missing different fields — some have only name and company, some have a LinkedIn URL, some have an email but no phone. I want to fill the gaps.
</context>

<task>
1. Take this partial contact list (one row per line, any combination of fields):
   [PASTE LIST — name, company, LinkedIn URL, email, phone, title]

2. For each row, use Lusha to fill the missing fields. Use whatever input the row has as the lookup key:
   - LinkedIn URL → full profile
   - Email → matched person record
   - Name + company → resolved contact
   - Name only → ask for company before searching

3. Return a unified table:
   Name | Current title | Company | Email (grade) | Phone | LinkedIn | What was missing | What got filled

4. Flag any row where Lusha cannot match. No-match rows do not consume credits.

5. Summarize at the top: total rows, total filled, total partial, total no-match.
</task>

<constraints>
- Use the strongest available input as the lookup key (LinkedIn URL is strongest, then email, then name + company).
- Do not invent fields. If Lusha returns no email, the row stays partial — don't fabricate an address.
- Surface email confidence grade and Do Not Call flags inline. A partial fill without compliance signals is not a clean row.
- When a name resolves to multiple people (same name, different companies), the company input disambiguates. Show the resolution so the user can confirm.
</constraints>

What you'll get back

Input: 4-row partial list — one row with name + company only, one with a LinkedIn URL only, one same-name match testing disambiguation, one designed to fail.

Output: 3 of 4 fully filled, 1 no-match (no credit charged). The disambiguation case correctly resolves to the right company. Below is the real result from running the prompt against the live Lusha connector.

RowInputFilled outputWhat was filled
1Sean Kelley + DatadogVP of Enterprise Sales, [email protected] (A+), 2 direct phones, LinkedIn URL, promoted Jan 2026Title, email, phones, LinkedIn, job start signal
2LinkedIn URL: linkedin.com/in/laurazfuLaura Fu, Head of RevOps and Strategy at DevRev, A+ email, mobile, locationName, title, company, email, phone, location
3Tori Moss + Pigment (disambiguation test)Resolved to Pigment Tori Moss (not the Notion one). 2 A+ emails, mobile + office, LinkedInTitle, emails, phones, LinkedIn (correct company)
4Tyler Wills + IntercomNo match — flagged for re-research, no credit charged

Names abbreviated for privacy. Full records — including emails and direct dials — are returned inside your Claude session. The Pigment / Notion same-name case shows how the prompt handles disambiguation: input the right company, Lusha returns the right person.

Three credits consumed for three filled rows. The no-match row charged nothing.

Built by: Lusha
Time to build: 1 min
Difficulty: Easy
Tools: Claude

Why use Lusha

Most “enrichment” tools assume the input is clean and the missing field is obvious. Real RevOps lists are messier than that. Three patterns repeat across every CRM, every export, every webinar registration list.

Different rows need different lookup keys. A list assembled from LinkedIn Sales Navigator has URLs but no emails. A list typed by an SDR has names and companies but no LinkedIn. A list from a webinar tool has emails but no titles. The prompt routes each row to the strongest available key — LinkedIn URL first, then email, then name + company — so each lookup gives the highest-confidence result.

Same names need disambiguation by company, not by guessing. Tori Moss at Notion and Tori Moss at Pigment are two real people. A prompt that returns “Tori Moss” without resolving to the right company guesses. The Lusha connector resolves the right record because the company is part of the lookup key, and the prompt surfaces the resolution inline so the user can confirm.

No-match results don’t charge credits. A row that returns nothing returns nothing — the rep flags it for re-research and moves on. Lusha credits go only to successful fills. That’s an honest pricing model for list hygiene work, drawn from 300M+ verified contacts under GDPR, CCPA, SOC 2, ISO 27701, ISO 31700, and TRUSTe.

FAQ

  • What inputs does the prompt accept?

    Any combination of name, company, email, phone, or LinkedIn URL. The prompt uses the strongest available key per row — LinkedIn URL first, then email, then name plus company. If a row has only a first name, the prompt will ask for the company before searching.

  • What if the same name exists at two different companies?

    The company field disambiguates. Tori Moss at Notion and Tori Moss at Pigment are two real people in Lusha’s data. Providing the correct company resolves to the right record. The prompt surfaces the resolution so you can confirm the right one came back.

  • Can I enrich from a LinkedIn-only export?

    Yes. LinkedIn URL is the strongest lookup key — it pulls the full verified profile in one call. Paste the URLs, run the prompt, and Claude returns name, title, company, email, phone, location, and job history per row.

  • How is this different from cleaning a CRM export?

    The CRM cleanup prompt assumes the rep has a full record per row and needs to validate decay (stale title, DNC status, role changes). This prompt assumes the rep has a partial record per row and needs to backfill. Different starting points, different output buckets. Some lists need both — run the cleanup first, then the fill on whatever the cleanup couldn’t validate.

  • Will this enrich a list that's already in my CRM?

    The Claude output is a structured table you can copy back into the CRM, or push through Lusha’s standard CRM integrations. The prompt itself doesn’t touch your CRM directly — it works on the pasted list inside your Claude session.

  • What if the field I need is something Lusha doesn't return (intent data, custom field, scoring)?

    Lusha returns verified contact and firmographic fields — title, email, phone, LinkedIn, company size, industry, location, funding, signals. Intent data and custom CRM fields are outside the prompt’s scope. For intent and signal-based enrichment, pair with the funding-companies or job-changers prompts in the prospecting gallery.

Ready to build this?

Get started with Lusha and set up this play in minutes.