đź’¬ Personalized email outreach with LinkedIn & Crunchbase data and Gemini AI review

⚡ 3,744 views · 💬 Lead Nurturing & AI Sales Agents

💡 Pro Tip — If you’re pulling LinkedIn data through HTTP requests or dealing with API restrictions, there’s a community node called ScraperNode that handles this natively. It has dedicated scrapers for profiles, companies, jobs, and people search — you just pass a URL and get structured data back.

View All Scrapers

Description

AI-Enriched Cold Outreach: Research → Draft → QA → Write-back

What this template does

Automates cold email drafting from a lead list by:

  1. Enriching each lead with LinkedIn profile, LinkedIn company, and Crunchbase data
  2. Generating a personalized subject + body with Gemini
  3. Auto-reviewing with a Judge agent and writing back only APPROVED drafts to your Data Table

Highlights

How it works (flow)

  1. Trigger: Manual (replace with Cron if needed)
  2. Fetch leads: Data Table “Get row(s)” filters rows where email_subject is empty (pending)
  3. Loop: Split in Batches iterates rows
  4. Enrichment (runs in parallel):
    • LinkedIn profile: HTTP (company_url) → Wait → Results → Data Table update → linkedin_profile_scrape
    • LinkedIn company: HTTP (company_url) → Wait → Results → Data Table update → linkedin_company_scrape
    • Crunchbase company: HTTP (url_search) → Wait → Results → Data Table update → crunchbase_company_scrape
      (All calls use host cold-outreach-enrichment-scraper with a RapidAPI key.)
  5. Draft (Gemini): “Agent One” composes a concise, personalized email using row fields + enrichment + ABOUT ME block.
    • Structured Output Parser enforces:
      {
        "email_subject": "text",
        "email_content": "text"
      }
  6. Prep for QA: “Email Context” maps email_subject, email_content, and email for the judge.
  7. QA (Judge): “Judge Agent” returns APPROVED or REVISE (brief feedback allowed).
  8. Route:
    • If APPROVED → Data Table “Update row(s)” writes email_subject + email_body (a.k.a. email_content) back to the row.
    • If REVISE → Skipped; loop continues.

Required setup

Data Table: “email_linkedin_list” (or your own) with at least:

Credentials:

ABOUT ME block:
Replace the sample persona (James / CEO / Company Sample / AI Automations) with your own.

Nodes used

Customization ideas

Quotas & costs

Privacy & compliance

You are scraping and storing person/company data.
Ensure lawful basis, respect ToS, and minimize stored data.

đź”— Nodes Used

HTTP Request, Execute Sub-workflow, Execute Workflow Trigger, AI Agent, Structured Output Parser, Google Gemini Chat Model

📥 Import

Download workflow.json and import into n8n: Workflow menu → Import from File

📖 Importing guide · 🔑 Credential setup