This workflow shows how to build a functional account map with PhantomBuster, segment contacts by role, and personalize outreach at scale without spending hours on manual research or creating sudden activity spikes on LinkedIn. By the end, you’ll have a repeatable system: define buying committee functions, extract segmented lists, enrich for personalization, then run layered, persona-based outreach with pacing, daily caps, and scheduling to keep activity near your normal baseline.
Why function-based segmentation beats bulk extraction
The problem with “export everyone and blast”
A common ABM failure mode is exporting all employees from a target account, writing one generic message, and sending it to the entire list. That usually hurts reply rates because you’re forcing one story onto multiple personas. It can also create behavior that looks unusual on LinkedIn.
LinkedIn doesn’t only look at counts, it also looks at patterns. Sending a concentrated batch of connection requests to dozens of people at the same company in a short window doesn’t look like normal networking for most accounts.
LinkedIn doesn’t behave like a simple counter. It reacts to patterns over time. —PhantomBuster Product Expert, Brian Moran
Think of your account history as a baseline pattern. When you go from quiet to a one-day sprint, you can trigger enforcement.
What segmentation does for you
Segmenting by function lets you write messages that are relevant for each prospect. Finance tends to care about ROI and risk, IT tends to care about security and integration effort, and end users tend to care about workflow impact. Segmentation also helps you spread outreach over time. That pacing reduces sudden changes in activity and the risk of enforcement.
Step 1: Define the buying committee functions before you extract anything
Identify the roles that matter for your deal
Before you open any tool, list the 3 to 5 functions that typically influence, validate, or block your deals. For many B2B motions, that looks like:
- Economic buyer (Finance, Ops, Procurement)
- Technical validator (IT, Engineering, Security)
- End user (The function that will use the product day to day)
- Champion or sponsor (Often a Director or VP who owns the initiative)
For each function, write down 2 to 3 title keywords you can use to filter. Example for IT: “CTO,” “VP Engineering,” “IT Director,” “CISO.”
Map influence and stance for each stakeholder
If you have prior intel from conversations, referrals, or LinkedIn activity, note who looks like a Champion, Blocker, or Neutral stakeholder. This helps you sequence outreach. You can start with likely champions to learn priorities and constraints, then approach validators and budget owners with more context.
| Function | Example titles | Typical priorities | Outreach angle |
|---|---|---|---|
| Economic buyer | CFO, VP Finance, Procurement | ROI, budget, risk | Cost control, efficiency, reduced risk |
| Technical validator | CTO, IT Director, CISO | Security, integration, implementation | Technical fit, low operational lift |
| End user | VP Marketing, Sales Director | Usability, time saved, adoption | Make daily work easier, remove manual steps |
| Champion or sponsor | Director, VP | Strategic outcomes, internal alignment | Clear wins, proof, roll out narrative |
Step 2: Extract segmented employee lists with PhantomBuster
Use job keyword filtering to extract by function
Use PhantomBuster’s LinkedIn Company Employees Export automation to extract employees from a specific company. In the Job title keywords field, enter terms separated by OR (e.g., Marketing OR Demand Gen OR Growth). Run one export per function. This approach gives you clean segmented lists from the start, instead of exporting everyone and sorting later.
In LinkedIn Company Employees Export, paste the company URL, set the Job title keywords for one function, and launch. The CSV includes profileUrl, fullName, jobTitle, location, plus additional fields. Repeat per function.
Know the platform limits and plan around them
LinkedIn company pages and Sales Navigator views cap visible results. Check the visible count for your view and plan multiple segmented passes when needed. When you use Sales Navigator, pass the company’s Employees view URL into LinkedIn Company Employees Export and keep the keyword filter scoped to one function. Job keyword filtering matches the Job title field on LinkedIn profiles, so plan a manual review for false positives.
Operational note: Schedule each automation on alternating days (e.g., Mon/Wed/Fri per function) and chain Extract → Enrich → Outreach so volume stays near baseline automatically.
Step 3: Enrich profiles for persona-based personalization
Extract structured fields for each segment
Raw employee exports give you names and titles. For persona-based outreach, you usually need more context: headline, location, current role details, and career context. Chain LinkedIn Company Employees Export → LinkedIn Profile Data Extractor. Map headline, currentRole, and location into your CRM fields for routing and message variables. Input your segmented CSV, run the automation, then export enriched profiles with fields you can map into your CRM or sequencing tool.
When profile visits make sense, and the tradeoff
If your outreach play depends on visible context, like referencing a recent post, a profile asset, or a specific detail you want to double-check, profile visits can help. Use PhantomBuster’s LinkedIn Auto-Visit Profiles automation as an optional step when you need visible context. Chain it after enrichment so only high-priority contacts are visited.
The tradeoff is that profile visits can create an observable “viewed your profile” trail, depending on the prospect’s settings and your own. In most ABM mapping workflows, extracting structured fields is enough. If you need visible context, run LinkedIn Auto-Visit Profiles only for a short, high-priority list (e.g., ≤ 10/day per rep) and disable it once you’ve captured the signal you need.
Step 4: Personalize outreach by persona, not just by name
Write messages that match each function’s evaluation criteria
Personalization is about speaking to the job the person is paid to do and the constraints they’re measured against. Use the fields you extracted to tailor the hook and the angle. Keep the message specific, but avoid details that don’t matter to the deal.
| Persona | Focus | Tone | Example hook |
|---|---|---|---|
| IT or technical | Security, integration, implementation | Direct, concrete | “Teams running [stack] often hit [pain] when they try to [goal]. How are you handling that today?” |
| Finance or economic | ROI, cost, risk | Professional, numbers-driven | “We helped [peer company type] reduce [cost area] by [range] by changing [process]. Is that on your radar this quarter?” |
| End user | Time saved, workflow impact | Benefit-oriented | “Most teams in [role] spend hours per week on [task]. We remove the manual step without changing the tool they already use.” |
Use variables, then QA message samples before you send
Use variables that match your CSV headers in the Message template (e.g., {{firstName}}, {{companyName}}). Test a sample of outputs in Preview before launch. LinkedIn sets a character cap for connection notes. Check the current limit in your UI and keep invites concise (1–2 sentences). You can use follow-ups to add detail after acceptance.
Step 5: Run layered outreach, not a blast
Sequence outreach: Connect first, then follow up
Chain LinkedIn Network Booster (connection requests) with LinkedIn Message Sender (1st-degree follow-ups) after acceptance. Set reply-based stop rules in your sequencing tool, or review daily and pause the contact in PhantomBuster before the next follow-up runs.
This avoids automated messages being sent into a live conversation. Upload your segmented enriched list, set the persona-specific invite note and follow-ups. Set a daily cap aligned to baseline (e.g., +/- 10% of last 14-day average). Schedule sequences on weekdays only, staggered by function, using PhantomBuster’s scheduler so sends land during local business hours.
Spread activity across days and functions
Avoid sending 50 invites to one company in one day. Spread outreach across functions and days so the pattern looks like ongoing relationship building, not a campaign burst. Start near your recent manual average. Increase by ~10–20% weekly only if you see no session friction for 7–10 days. Build in layers: extract, enrich, outreach. Only increase volume after you’ve kept a steady rhythm and you’re not seeing session issues.
Layer your workflows first. Scale only after the system is stable. —PhantomBuster Product Expert, Brian Moran
Step 6: Monitor for friction and adjust, not just numbers
What session friction looks like in practice
Early signs that something in your pattern looks unusual include forced re-logins, frequent session cookie expirations, repeated checkpoints, and inconsistent page loading. Treat those signals as feedback. Slow down, reduce action density, and spread runs further across the week before you scale again to prevent more friction.
Session friction is often an early warning, not an automatic ban. —PhantomBuster Product Expert, Brian Moran
Avoid the “slide and spike” pattern
The riskiest pattern is a long quiet period followed by a big extraction and a spike in outreach. Even if your daily counts look reasonable, the change in behavior can stand out against your baseline. LinkedIn enforcement tends to be pattern-based. A more stable approach is consistent, moderate activity. That can include manual browsing and light engagement alongside your outreach routine.
Expert perspective: Warm-up is behavioral storytelling. Start slow, ramp gradually, then stay consistent. Optimize for compounding over months, not maximum volume in a day. Brian Moran, PhantomBuster product expert
Step 7: Make the workflow repeatable in your sales stack
Export, tag, and route into your sequencing tool
Export your segmented enriched lists as CSV. Tag each contact with their function or persona using a custom field in your CRM or sequencing tool. Upload to Outreach, Salesloft, HubSpot, or your platform of choice. Build separate sequences per persona so you don’t mix IT, Finance, and end users into one message stream.
Multi-thread across the account without duplicating outreach
When one stakeholder replies, even with a “not me,” use that intel to route the next conversation. Example: “Thanks, that helps. We spoke with [Name] on the IT side and security came up as a key constraint. From a finance perspective, does budget timing make sense this quarter if the technical path is low lift?”
Refresh account maps on a cadence
Account maps decay as people change roles. Refresh on a consistent cadence, for example monthly or quarterly, and only rerun the segments you care about. Create a chain: (1) LinkedIn Company Employees Export → (2) LinkedIn Profile Data Extractor → (3) LinkedIn Network Booster → (4) LinkedIn Message Sender. Schedule steps 1–2 Mon/Wed; steps 3–4 Tue/Thu with daily caps.
Conclusion
Account-based outreach works better when you treat the account like a set of functions, not a list of names. Map the buying committee by function, extract segmented lists, enrich for context, then run persona-based sequences at a steady cadence. This approach improves relevance, makes reporting cleaner, and reduces the operational risk that comes from one-day spikes and generic messaging.
Ready to build your first account map? Try PhantomBuster free to extract one function at one target account, enrich it, and run a small, paced sequence.
FAQ: Account mapping and function-based outreach
Why extract employees by function instead of exporting everyone from a target account?
Function-based extraction improves relevance and reduces concentrated outreach patterns. It lets you tailor messages to the person’s job constraints, and it spreads activity across the account instead of creating one dense burst of invites to the same company.
How do I choose job title keywords to segment a buying committee?
Start from the functions that influence your deal, then translate each function into a small keyword set. Include seniority variants and common synonyms. Run separate exports per function so your segments stay clean.
What if the company has more employees than LinkedIn shows on the company page?
Your export is limited by what LinkedIn displays in that view. For larger accounts, use Sales Navigator views when available, prioritize the functions that matter most, and run segmented passes over time instead of trying to capture everything in one run.
How do I prevent duplicate people across multiple function exports?
Deduplicate by LinkedIn profile URL, then keep a persona label for routing. Some roles legitimately span functions, like RevOps or Security. In that case, store multiple tags but only place the contact in one active sequence at a time.
How do I enrich profiles for personalization without creating a “viewed your profile” trail?
Use PhantomBuster’s profile data extraction automation (no visits) to pull headline, role context, and location for personalization variables. Reserve profile visits for a small subset when the extra context is worth the added activity.
What does “profile activity baseline” mean, and why does it matter?
It’s your account’s historical pattern of sessions, cadence, and consistency. Enforcement often appears pattern-based, so the same workflow can be tolerated on one account and create friction on another. Scale based on your baseline behavior, not generic limits.
What are early warning signs that I should slow down?
Watch for session friction, like forced logouts, repeated re-authentication prompts, checkpoints, or abnormal loading behavior. When you see it, reduce action density and spread activity across more days.
If LinkedIn actions do not send, how do I diagnose the cause?
Run a manual parity test. Try the same action manually and compare outcomes. If you see LinkedIn prompts, treat it as a behavior signal and slow down. If there’s no prompt, it can be surface variance or execution issues, like a stale session cookie.
How do I keep an account map up to date as people change roles?
Refresh on a consistent cadence, then rerun only the segments you need. A scheduled export plus enrichment keeps your map current without long gaps that force catch-up sprints.