Find the right contacts
Personas, job titles and buying committees.

Map the buying committee first, translate it into job titles by company size, then fetch one to five named people per account according to its tier. Exporting everyone with a relevant-sounding title gives you a big list and a poor reply rate.
The example continues: payroll software, French SMEs, 6,000 qualified accounts after enrichment. The committees and volumes below are illustrative, so replace them with what your own deals show.
Write the buying committee before you search
Open your last 20 won deals in the CRM and note who replied first, who attended the demo and who signed. The patterns from your ICP work tell you which deals to read first.
| Role in the deal | In this example | What they care about | Contact them |
|---|---|---|---|
| Economic buyer | Finance director, CEO in smaller companies | Cost, risk of payroll errors | Yes, primary |
| Day-to-day user | Payroll manager | Time spent on each pay run, compliance | Yes, often the best first reply |
| Influencer | HR director | Employee experience, HR data | Yes, secondary |
| Technical check | IT manager | Integrations, security | Later, in the deal |
| Outside party | The company’s accountant | Often runs payroll for the company | Separate channel, separate message |
That last row matters more than any title list. Plenty of small companies outsource payroll to their accountant, and for those accounts there is no payroll manager to find. Keep it in mind when a search comes back empty: it can be a qualification result.
Adjust the committee to company size
| Headcount | Primary contact | Secondary | What changes |
|---|---|---|---|
| 50 to 99 | CEO, or head of admin and finance | Accountant in the company | Few dedicated functions, one person wears several hats |
| 100 to 249 | Finance director | HR manager, payroll manager | A payroll function usually appears |
| 250 and up | HR director | Payroll manager, HRIS manager, IT | Longer process, more people involved |
Treat this grid as a hypothesis until your CRM confirms it. It takes an hour to check and it decides every search you run afterward.
Turn personas into titles a search can match
French job titles have variants that a lazy filter misses: masculine and feminine forms, spelled out and abbreviated, French and English in the same company.
| Persona | Include | Exclude |
|---|---|---|
| Finance | directeur administratif et financier, directrice administrative et financière, DAF, RAF, responsable administratif et financier, CFO | assistant, assistante, alternant, stagiaire |
| HR | DRH, directeur des ressources humaines, directrice des ressources humaines, responsable RH, HR manager, HR director | chargé de recrutement, talent acquisition |
| Payroll | responsable paie, gestionnaire de paie, payroll manager | assistant, consultant, éditeur |
In a boolean search field, one block per persona:
("directeur administratif et financier" OR "directrice administrative et financière"
OR "responsable administratif et financier" OR DAF OR RAF OR CFO)
NOT (assistant OR assistante OR alternant OR alternante OR stagiaire)
Whatever you fetch, classify it afterward from the raw title, so one persona column drives the rest of the pipeline. With the title in column A:
=IF(REGEXMATCH(LOWER(A2),"assistant|alternant|stagiaire"),"exclude",
IF(REGEXMATCH(LOWER(A2),"financi|\bdaf\b|\braf\b|\bcfo\b"),"finance",
IF(REGEXMATCH(LOWER(A2),"paie|payroll"),"payroll",
IF(REGEXMATCH(LOWER(A2),"\bdrh\b|ressources humaines|\brh\b|\bhr\b"),"hr","other"))))
Read the other rows. They are where you discover the title you forgot.
Pull the people account by account
I co-founded Derrick, so take this with that in mind. You already have the LinkedIn company URLs from the previous chapter, and there are two ways to go from there.
| Your situation | Feature | What goes in | What comes out | Credits |
|---|---|---|---|---|
| No Sales Navigator, or broad function search | Find a company’s people | LinkedIn company URLs, optional job function | Name, role, location, connection degree, profile URL, in a new tab | 1 per person imported |
| Precise title and seniority search | Import Leads from Target Companies | LinkedIn company URLs and a Sales Navigator people search | Name, title, company, location, profile URL | 1 per lead imported, Sales Navigator required |
| You already know the name | Search Leads | Full name, optionally the company | LinkedIn profile URL | 1 per profile |
The function filter in the first option is broad, so run the classification formula on the output. Then get the address only for the people you keep: Email Finder takes the profile URL and costs 5 credits per email found, nothing when it finds none. If you already hold addresses from elsewhere, Email Verification checks them at 1 credit per email. Verified doesn’t mean certain, so expect some bounces and keep your sending volume sensible. Phone Finder costs 200 credits per number found, which is why I’d reserve it for the top tier.
These features depend on LinkedIn data and your own LinkedIn account, so they find nothing about people who aren’t there. A payroll manager at a 60-person manufacturer may well have no profile. In that case, SIRET/SIREN Enrichment returns the directors of French companies, which gives you a name for the CEO. For the rest, the manual route still works: the company’s team page, a search on the name of the company and the title, or a call to the switchboard to ask who handles payroll. For high-value accounts, that call is often the fastest option anyway.
Cap the contacts and record what you found
| Tier | Contacts per account | Who |
|---|---|---|
| A | 3 to 5 | Whole committee |
| B | 2 | Primary and day-to-day user |
| C | 1 | Primary only |
The tiers come from the next chapter. Until you have them, stop at two per account and top up afterward. A contacts table separate from accounts keeps this clean:
| Column | Example | Note |
|---|---|---|
contact_id, account_id |
c_8841, a_2210 |
One account, many contacts |
full_name, title_raw |
Claire Dupont, Responsable paie | Fictional person, title as found |
persona, deal_role |
payroll, user |
From the classification and your grid |
linkedin_url, email, email_status |
profile URL, address, verified | One status per address |
source, collected_at |
find_staff, 2026-11-09 |
For freshness and for data subject requests |
opt_out |
false |
Checked before every send |
Track coverage per account with =COUNTIFS(contacts!B:B,A2,contacts!E:E,"finance"), and mark accounts with no match as no_contact rather than deleting them. A sector where most accounts come back empty tells you the channel is wrong for that sector.
Treat people data differently from company data
From this step on your database holds personal data, and the rules that apply are different from those for a company list. Collect only what the campaign needs, record the source, and be ready to tell someone where you got their details and to remove them. Rules on B2B prospecting depend on the country and the channel. The CNIL’s page on electronic prospecting is the reference for France, nothing here is legal advice, and you should check your setup with counsel and read each source’s terms of use. The maintenance chapter covers opt-outs in practice.
Your next step: write the committee grid from 20 won deals, build the title blocks for each persona, and run them on 50 accounts. Read the other rows and the empty accounts, fix the lists, then launch the full pull.