general personalization-from-linkedin

personalization-from-linkedin

This skill should be used when the user asks to "personalize from LinkedIn", "mine LinkedIn for personalization", "use LinkedIn data for cold email", "research prospects on LinkedIn for personalization", "extract personalization tokens from LinkedIn", "personalize outbound using LinkedIn profiles", "use LinkedIn posts for email personalization", "find personalization data on LinkedIn", "build personalization from LinkedIn research", or any variation of using LinkedIn profile and activity data to personalize B2B SaaS cold outbound.
Download .md

Personalization from LinkedIn

LinkedIn is the richest source of personalization data for B2B cold email. Every prospect's profile is a research document: their title, tenure, career path, posts, comments, skills, and connections. The goal is to extract one specific, relevant data point from LinkedIn and use it as the personalized element in your cold email opener. Not a summary of their profile. Not a compliment about their headline. One data point that connects their situation to a problem you solve.

The principle: LinkedIn research should take 2-3 minutes per prospect for Tier 2 personalization. If it takes longer, you're over-researching. If it takes less, you're under-personalizing. Extract one token, write one line, move on.

What to Extract from LinkedIn

The 5 LinkedIn data layers

Layer What to look for Where to find it Personalization value
1. Profile data Title, tenure, company, headline, about section Profile page Low-medium. Everyone has this. It's table stakes
2. Recent posts Topics they've written about, opinions they've shared Activity tab → Posts High. Shows what they care about right now
3. Recent engagement Posts they've liked, commented on, or shared Activity tab → All activity Medium. Shows interests. Slightly creepier to reference
4. Career history Previous companies, role progression, time in role Experience section Medium. Career moves = buying signals
5. Connections and groups Mutual connections, group memberships Connections tab, Groups Medium. Warm intro paths and shared communities

What to extract per layer

Layer 1: Profile data (minimum viable personalization)

Data point Where Personalization example
Current title + tenure Profile header "Starting as VP Sales in Q1 usually means the playbook is getting rewritten"
Headline Profile header If they wrote a custom headline (not just their title), it reveals priorities. "Building the outbound engine at [Company]" = they care about outbound
About section (first 2 lines) About Their self-described priorities. "Focused on scaling pipeline for Series B growth" = direct signal
Company name + size Profile + company page "{Company} at 80 employees with a 12-person sales team" = context for problem framing

Layer 2: Recent posts (highest value)

Data point Where Personalization example
Post topic Activity → Posts "Your post about attribution last week was spot-on"
Specific take or opinion Post content "Your point about attribution being a data problem, not a tool problem"
Question they asked Post or comment "You asked about [topic]. We see teams handle that by..."
Data they shared Post with stats or results "The 3x pipeline number you shared matches what we see at similar-stage teams"
Content they created Article, carousel, video "Your framework for [topic] in the carousel you posted"

Layer 3: Career history (medium value)

Data point Where Personalization example
New in role (< 6 months) Experience section (start date) "Congrats on the move to [Company]. First 90 days is when most [role]s audit the stack"
Came from a company you sell to Experience section "I know you used [tool] at [old company]. Curious if you're bringing that approach"
Promoted internally Experience (same company, different title) "Going from Director to VP at [Company] usually means new budget and new priorities"
Career pattern (ops roles) Multiple ops roles in experience "With RevOps roles at [Company A] and [Company B], you've seen this pattern before"

Layer 4: Connections (for warm intro context)

Data point Where Personalization example
Mutual connections Connections tab (Sales Nav shows mutual) "[Mutual name] and I work together on [topic]. They thought we should connect"
Shared group Groups section "We're both in the [group name] community. Your question about [topic] last week got me thinking"

The 2-3 Minute LinkedIn Research Process

For Tier 2 personalization (the default for most outbound), spend 2-3 minutes per prospect.

The checklist (in order of priority)

1. Check Activity → Posts (30 seconds)
   → Did they post in the last 30 days?
   → YES: Read the most recent relevant post. Extract the topic and their take
   → NO: Move to step 2

2. Check profile header (15 seconds)
   → Custom headline? Note it
   → Tenure in current role? Note if < 1 year
   → Company size? Note if relevant to your angle

3. Check About section (15 seconds)
   → Read the first 2 lines only
   → Any stated priorities or goals? Note them

4. Check Experience (30 seconds)
   → Previous company: did they use tools in your category?
   → Recent role change? (< 6 months = new-broom signal)
   → Promoted or lateral move?

5. Check for mutual connections (15 seconds)
   → Any warm intro path?

6. Write the personalization line (60 seconds)
   → One sentence, 15-25 words
   → Connect the strongest data point to the email's angle

Total: 2-3 minutes per prospect. For a 200-person list, that's ~7-10 hours of research. For a 50-person ABM list, that's 2-3 hours.

When to go deeper (Tier 1, 5-10 min per prospect)

For Tier 1 ABM accounts (top 10-20 prospects), extend the research:

Additional research Time What it adds
Read 2-3 of their posts in full, not just the topic 2 min Deeper understanding of their perspective. Enables more nuanced references
Check their comments on other people's posts 2 min Shows what they engage with even when they don't post
Review their company's recent news and blog 2 min Company-level context layered on individual data
Listen to a podcast or watch a video they appeared in 5-10 min The deepest personalization possible. Reference something from the appearance

Turning LinkedIn Data into Email Openers

The bridge formula

{LinkedIn data point} + {implication for their situation} = opener

Data point alone is an observation. "I saw you posted about attribution." So what?

Data point + implication is personalization. "Your post about attribution being a data problem matches what we see at Series B teams. The gap usually shows up when..."

Examples by data type

LinkedIn data Bad opener (observation only) Good opener (data + implication)
They posted about attribution "Loved your attribution post!" "Your take on attribution being a data problem, not a tool problem, matches what we see at Series B. The teams that fix it first see [result]"
New VP Sales (3 months in role) "Congrats on the new role!" "Three months in as VP Sales is usually when the stack audit starts. Most new VPs we talk to inherit [problem]"
Custom headline: "Building outbound at [Company]" "I saw you're building outbound" "Building outbound from scratch is where most teams make the wrong tool decision. [Peer] went through the same thing and [result]"
Came from a company using your competitor "I see you worked at [old company]" "At [old company] you were on [competitor]. Curious if you're bringing that approach to [new company] or going a different direction"
Posted a question about sequencing tools "I saw your question about sequencing" "Your question about sequencing tools is one we hear every week from teams at your stage. Short answer: [insight]. Happy to compare notes"

Bridge rules

  • The implication must connect to a problem you can help with. A data point about their vacation photos doesn't bridge to your product. A data point about their SDR hiring spree bridges to sequencing infrastructure
  • One sentence max for the bridge. The opener is 15-25 words total. Don't write a paragraph analyzing their LinkedIn activity
  • If you can't find a bridge, use a category observation instead. "Most Series B teams we talk to..." is weaker than a LinkedIn-sourced opener but stronger than a forced, weak personalization

What NOT to Reference from LinkedIn

Don't reference Why
Posts they liked (not wrote) Feels like surveillance. "I saw you liked [person]'s post" is creepy
Education history Irrelevant to business. "I see you went to Stanford" adds nothing to outbound
Personal milestones (birthday, anniversary) Unsolicited personal attention from a stranger
Endorsements or skills section "I see you're endorsed for Salesforce" is trivial and automated
Number of connections "I see you have 5,000 connections" means nothing
Profile views (if they viewed yours) "I saw you viewed my profile" feels like a trap
Photos or personal content Professional data only. Never reference personal photos, travel, family
Very old posts (6+ months) Referencing a post from a year ago feels like deep-stalking

The line between thoughtful and creepy

Thoughtful Creepy
"Your post about attribution last week" "I saw you liked 3 posts about attribution this month"
"Congrats on the move to [Company]" "I see you left [Old Company] on March 15"
"Your take on SDR productivity resonated" "I noticed you've been commenting on a lot of sales posts lately"
"We're both connected to [Mutual]" "I see you're connected to [Person]. Do they like their job?"

Rule of thumb: Reference what they've published (posts, articles, talks). Don't reference what they've consumed (likes, comments on others' posts, profile views).


LinkedIn Research for AI Personalization

When using AI for bulk personalization (per bulk-personalization-with-ai skill), LinkedIn data must be structured for the AI.

What to feed the AI per prospect

{
  "name": "Jane Kim",
  "title": "VP Sales",
  "company": "Acme Corp",
  "tenure_months": 4,
  "headline": "Building the outbound engine at Acme",
  "recent_posts": [
    "Attribution is a data problem, not a tool problem. Here's why...",
    "We just hit 10 SDRs. The processes that worked at 3 are breaking"
  ],
  "previous_company": "Ramp",
  "previous_tools": ["Outreach", "Salesforce"],
  "about_section_first_line": "Focused on scaling pipeline for Series B growth"
}

AI input rules

  • Structured data, not raw profile text. Don't dump the entire LinkedIn profile into the prompt. Extract the specific fields listed above
  • Include 1-2 recent posts (titles or first sentences). This is the highest-value personalization data. The AI can reference their take
  • Include previous company and tools. The AI can generate openers like "At Ramp you were on Outreach. Curious if..."
  • Mark "no posts" explicitly. If the prospect hasn't posted, tell the AI: "recent_posts: none." The AI should fall back to profile data, not hallucinate a post

Prospects with No LinkedIn Activity

Not everyone posts on LinkedIn. For prospects with empty activity feeds:

Fallback data sources (in order)

Source What it provides Time
LinkedIn headline (custom) Their self-described priorities 10 seconds
LinkedIn About section Goals, focus areas 15 seconds
Tenure in role New-in-role signal 10 seconds
Previous company Career context, tool history 15 seconds
Company news (from company page or Google) Company-level signal 30 seconds
Job postings at their company Hiring signals, stack data 30 seconds

Fallback rules

  • If they have no posts, no custom headline, and no about section: Use company-level data (stage, size, hiring) or a category observation. Don't force LinkedIn-based personalization when there's nothing to personalize from
  • A clean Tier 1 segment observation beats a forced Tier 2 LinkedIn reference. "Most Series B SaaS teams we talk to..." is better than "I see you've been at [Company] for 2 years" (which adds nothing)
  • Mark inactive profiles in your data. When building lists, flag prospects with no recent LinkedIn activity. Route them to category-observation templates instead of LinkedIn-personalized templates

Scaling LinkedIn Research

Time per prospect by personalization tier

Tier Research time Data extracted Output
Tier 1 (ABM) 5-10 min 3-5 data points across all layers Fully custom opener + body personalization
Tier 2 (standard) 2-3 min 1-2 data points (post or profile) One personalized opener line
Tier 3 (template) 0-1 min Title + company only (from list data) Segment-level template. No LinkedIn research

Scaling options

Approach Prospects per hour Quality Cost
Manual research (SDR) 15-20 per hour Highest SDR time ($20-40/hr)
Chrome extension (Evaboot, Phantombuster) + manual review 30-40 per hour High (data extracted automatically, SDR writes the line) Tool cost + SDR time
AI personalization (per bulk-personalization-with-ai skill) 100-200 per hour Medium-high (depends on data quality and prompt) $0.10-0.30 per prospect
No LinkedIn research (segment-level) Unlimited Low (no personalization) Zero

Scaling rules

  • Manual research is the ceiling on quality. A human reading the prospect's LinkedIn profile and writing a custom line produces the best personalization. But it doesn't scale past 100 prospects per week per SDR
  • AI with structured LinkedIn data is the best balance. Extract profile data programmatically (Evaboot, Phantombuster). Feed structured data to AI. AI generates the opener. Human spot-checks 10-20%. This scales to 200+ prospects per batch at near-manual quality
  • Don't skip LinkedIn research entirely for prospects above $30K ACV. The 2-3 minutes per prospect pays back on any deal worth > $30K. The only reason to skip is volume pressure on low-ACV campaigns

Pre-Send Checklist

  • [ ] LinkedIn data point is from the last 30 days (posts) or current (profile data)
  • [ ] Data point connects to a problem, not just an observation
  • [ ] Nothing references what they liked, viewed, or consumed (only what they published)
  • [ ] Opener is 15-25 words with the LinkedIn data point + implication
  • [ ] If no LinkedIn data was found, fallback to company-level or segment-level personalization (not a forced LinkedIn reference)
  • [ ] For AI-generated personalization: cross-checked that the referenced post or data point actually exists in the input data (no hallucination)

Anti-Pattern Check

  • "Loved your LinkedIn post!" with no reference to what the post said. Generic. Every SDR tool generates this. Reference the specific topic and their specific take, or don't mention the post at all
  • Referencing a post from 8 months ago. Feels like deep-stalking. LinkedIn research should use posts from the last 30 days. Older than 30 days = stale
  • "I noticed you liked [Person]'s post about [Topic]." Referencing their likes (not their own posts) crosses from thoughtful to surveillance. Only reference content they created
  • Spending 15 minutes researching a $10K ACV prospect. The ROI doesn't justify it. 2-3 minutes for Tier 2. 5-10 minutes for Tier 1 ABM only. Cap it
  • Forcing LinkedIn personalization when there's nothing to personalize. A prospect with no posts, no custom headline, and a minimal about section. Forced personalization ("I see you've been at [Company] for 3 years") adds nothing. Use a segment observation instead
  • Copying the entire about section into the email. "You mentioned in your LinkedIn bio that you're passionate about..." is a paragraph of their own words quoted back to them. Extract one insight, write one sentence, move on
  • Using LinkedIn data that doesn't connect to the email's purpose. "I see you're a marathon runner" in a cold email about sequencing tools. Professional data only. The data point must bridge to a problem
  • AI-generated personalization referencing a post that doesn't exist. The AI hallucinated "Your post about pipeline velocity" when the prospect never posted about that. Cross-check every AI-generated LinkedIn reference against the actual input data
Want agents that use skill files like this?
We customize skill files for your brand voice and methodology, then run content agents against them.
Book a call