Are you looking for new customers for your marketing agency? Here's a simple but effective automation which will help you find prospects at scale from LinkedIn Ads Library data, in just 6 steps:
Step 1 - Input campaign topics/keywords
- Node: Manual Trigger or Form in n8n
- Input: topics/keywords for the kind of ads you want to research (e.g., “automation,” “AI tools,” “supply chain optimization”) and your Ideal Customer Profile (ICP) - e.g., “Operations Managers at mid-size US manufacturing companies.”
- Save both inputs as workflow variables.
----------------------
Step 2 - Fetch ads from LinkedIn Ads Library
- Node: HTTP Request (LinkedIn Ads Library API or authorized provider).
- Query for ads matching the given keywords/topics from the last 30 days.
- Extract for each ad: advertiser name, company page URL, posting date
- Store results temporarily in memory or a staging sheet.
----------------------
Step 3 - Extract company list
- Node: Set / Function.
- From the ads data, extract unique company names and LinkedIn page URLs.
- Remove duplicates, normalize names, and store in an array for next lookup.
----------------------
Step 4 - Find ICP-matching people at those companies
- Node: HTTP Request to Apollo / ZoomInfo / LinkedIn Sales Navigator API / Cura8.ai by navan.ai
- For each company, use the ICP filters provided (designation, department, company size, location) to find matching prospects.
- Capture: name, title, company, LinkedIn profile URL, and company domain.
- Use SplitInBatches + Wait nodes for API rate limits.
----------------------
Step 5 - Deep research + personalized message generation with Gemini
- Node: HTTP Request → Google Gemini.
- For each matched person:
- Input: person details, company details, company’s ad copy (from Step 2), your company’s offering summary, and any relevant industry signals (funding, hiring, etc. from enrichment APIs).
- Ask Gemini to:
- - Analyze what the company’s ad indicates about their focus or pain point.
- - Cross-map that need to your offering.
- - Write a short (max 80 words) hyper-personalized LinkedIn message that shows deep understanding, references the ad or the company’s goal, and ends with a friendly CTA to connect or chat.
- Output: unique message per prospect.
Suggested Gemini instruction:
“Create a unique 80-word LinkedIn message for [prospect_name, title, company]. The message should reference the company’s recent ad about [ad_summary], connect it to [my_offering], and sound personal and conversational, not salesy.”
----------------------
Step 6 - Save results to Google Sheets
- Node: Google Sheets Append Row.
- Fields to include:
- - Prospect name
- - Job title
- - Company
- - LinkedIn profile URL
- - Company LinkedIn URL
- - Ad topic
- - Hyper-personalized message
- - Gemini confidence score (optional)
- - Date created
Get numerous leads using the above workflow for your digital marketing agency.
Please share your questions and feedback in the comments.
To customize and use this automation solution for your business, please dm me.