Generate Personalized Cold Email Icebreakers with GPT-4 Mini, Apify & LinkedIn
Last edited 58 days ago
This n8n workflow scrapes LinkedIn data for your leads, feeds it into a GPT-4 AI agent, and generates laser-targeted, personalized icebreakers you can drop into your cold email campaigns.
It automates the personalization process at scale — saving you hours of research while sounding human and thoughtful.
Step-by-Step Setup (Beginner Friendly)
Step 1: Prepare Your Leads (Input Sheet)
- Get your lead list based on your industry and niche from Apollo (free)
- Copy the entire link
- Go to Apify and use this Apollo Scraper to scrape the leads.
- Download the result as CSV and upload the CSV to Google Sheets
- Add a column at the end of the Sheet. Name this column as "status". Mark the entire column (every row) as "un-enriched" (this is important)
- Connect your Google Sheets account to n8n
- The workflow will pull leads from this sheet where status = un-enriched
Step 2: Set Your Credentials
- Google Sheets: Connect your account to n8n using OAuth2
- OpenAI: Add your OpenAI API credentials
- Apify: Visit Apify Console to get your Apify API key
- Use this Apify LinkedIn Profile Scraper and copy the actorID --> get it from the URL : https://console.apify.com/:actorID/input
- Paste both Apify API Key and ActorID into the “Set Apify Tokens” node
Step 3: Customize the AI Agent
- In the node “Generate Personalized Icebreaker”, adjust the system prompt.
- Update it with your own niche, offer, tone, and insights
- Keep the JSON output format exactly as shown. The rest of the workflow depends on it
Step 4: Run the Workflow
- Click "Execute Workflow"
- The system will:
-- Pull all unenriched leads
-- Filter out entries without email
-- Scrape LinkedIn profiles using Apify
-- Use GPT-4 to write a short, personalized icebreaker
-- Save the result to a separate “Enriched” sheet
-- Mark those leads as “enriched” in your original sheet
How It Works Behind the Scenes
- Manual Trigger starts the workflow
- Get Raw Leads from a Google Sheet (filter = un-enriched)
- Filter for Valid Emails (hasEmail?)
- Loop Over Leads
- Set Apify API credentials
- Call Apify’s LinkedIn Scraper using each lead's LinkedIn URL
- Aggregate the scraped data
- Simplify fields for AI prompt
- Call OpenAI GPT-4.1 Mini with structured, data-rich prompt to generate icebreaker
- Append results to Enriched Sheet
- Update original list’s status to prevent reprocessing
- Loop continues to the next lead
Best Practices for Successful Use
- Clean your leads: Remove unnecessary columns from your Google Sheet raw lead list
- Throttle large batches: The Apify actor and OpenAI calls may hit rate limits. Process in small batches.
- Customize prompt deeply: The better your AI instructions, the more believable your icebreakers will sound.
- Use shortened company names and local slang: The system prompt already does this — keep it.
- Avoid fluff: Keep the tone Spartan, specific, and real.
Ideal Use Cases
- Cold email campaigns for SMB SaaS, agency offers, B2B sales
- Personalized intros for LinkedIn DMs
- Data enrichment for lead gen automation
- Integrating with tools like Instantly.ai, Smartlead, or Mailshake
Demo Link
Watch the full walkthrough and see it in action:
👉 Watch me build this LIVE on YouTube
You may also like
New to n8n?
Need help building new n8n workflows? Process automation for you or your company will save you time and money, and it's completely free!





