Skip to main content

Generate personalized cold email openers with website scraping using Claude & GPT-4

Workflow preview

Workflow preview
100%
Generate personalized cold email openers with website scraping using Claude & GPT-4 preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

This template enriches a lead list by analyzing each contact’s company website and auto generating a single personalized cold email opener. Drop a spreadsheet into a Google Drive folder → the workf...

Best for

  • Lead Generation automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.stickynote, n8n-nodes-base.googledrivetrigger, n8n-nodes-base.googledrive, n8n-nodes-base.spreadsheetfile, @n8n/n8n-nodes-langchain.agent, @n8n/n8n-nodes-langchain.toolhttprequest, @n8n/n8n-nodes-langchain.toolthink, @n8n/n8n-nodes-langchain.lmchatanthropic

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Mariela Slavenova.

Original n8n.io source

1.1 Workflow description

Title
Generate personalized cold email openers with website scraping using Claude & GPT-4
Workflow name
Generate personalized cold email openers with website scraping using Claude & GPT-4

This template enriches a lead list by analyzing each contact’s company website and auto-generating a single personalized cold-email opener. Drop a spreadsheet into a Google Drive folder → the workflow parses rows, fetches website content via Jina AI, uses OpenAI to check if the site contains valid business info, then calls Anthropic to craft a one-liner. It writes both the website summary and personalized opener back to Google Sheets, and finally sends you a Telegram confirmation with the file link.

What it does

Turns a CSV/Google Sheet of leads into tailored cold-email openers. For each lead, the workflow fetches the company website, writes a 300-word business summary, then crafts a one-sentence, emotionally engaging opening line. Results are written back to the same Sheet, and you get a Telegram ping when processing finishes.

How it works (high-level)

1.	Trigger: Watches a Google Drive folder. When a new Sheet is added, the flow starts.
2.	Parse: Reads rows (expects columns like First Name, Last Name, Email, domain).
3.	Enrich: An AI Agent calls Jina “r.jina.ai/{url}” to fetch page markdown, then produces a structured website summary.
4.	Validate: An OpenAI step checks if the fetched content is a real business page (hasWebsite: true/false).
5.	Personalize:
•	If true → Anthropic crafts a bespoke opener using the summary.
•	If false → Fallback prompt creates a strong opener using domain + universal lead-gen pains.
6.	Update: Writes websiteSummary and personalization back to the Sheet (matching on domain).
7.	Notify: Sends a Telegram message with the file name + link when done.

What you need

•	Google Drive (folder to watch)
•	Google Sheets (the uploaded Sheet to enrich)
•	Jina HTTP header auth (for the markdown fetch tool)
•	OpenAI (JSON check for website validity)
•	Anthropic (Claude Sonnet 4 for copy quality)
•	Telegram Bot (to receive completion alerts)

Inputs & expected schema

•	A Google Sheet with at least: First Name, Last Name, Email, domain
•	Optional columns are preserved; rows are processed in batches.

Outputs

•	New/updated columns per row:
•	websiteSummary — concise, structured business overview
•	personalization — a single, high-impact opening sentence
•	Telegram confirmation with file name and link.

Customization tips

•	Tweak the system prompts for tone or length.
•	Add scoring (e.g., ICP fit) before personalization.
•	Expand validation (e.g., handle multi-page sites or language detection).
•	Swap/parallel LLMs to balance quality, cost, and speed.

Nodes & key logic

•	Google Drive Trigger → Google Drive (Download) → Spreadsheet File (parse) → Split in Batches
•	LangChain Agent with: HTTP Tool (Jina) + Think
•	OpenAI (JSON validator) → If (website present?)
•	Anthropic Chat (with + without website branches)
•	Edit Fields (Set) → Google Sheets (Update) → Telegram

Great for

Sales teams, SDRs, and founders who want fast, high-quality personalization at scale without manual research.

Need help customizing?

Contact me for consulting and support: LinkedIn

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 2 - Google Drive Trigger

Type / Role
n8n-nodes-base.googleDriveTrigger - googleDriveTrigger
Config choices
Version 1

Block 3 - Google Drive_DownLoad

Type / Role
n8n-nodes-base.googleDrive - googleDrive
Config choices
Version 3

Block 4 - Google Sheet Parse

Type / Role
n8n-nodes-base.spreadsheetFile - spreadsheetFile
Config choices
Version 1

Block 5 - Sticky Note9

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 6 - AI Agent

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 1.8

Block 7 - Fetch Markdown via Jina AI1

Type / Role
@n8n/n8n-nodes-langchain.toolHttpRequest - toolHttpRequest
Config choices
Version 1.1

Block 8 - Think

Type / Role
@n8n/n8n-nodes-langchain.toolThink - toolThink
Config choices
Version 1

Block 9 - Think1

Type / Role
@n8n/n8n-nodes-langchain.toolThink - toolThink
Config choices
Version 1

Block 10 - Anthropic Chat Model1

Type / Role
@n8n/n8n-nodes-langchain.lmChatAnthropic - lmChatAnthropic
Config choices
Version 1.3

Block 11 - If

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 12 - Think2

Type / Role
@n8n/n8n-nodes-langchain.toolThink - toolThink
Config choices
Version 1

Block 13 - Anthropic Chat Model2

Type / Role
@n8n/n8n-nodes-langchain.lmChatAnthropic - lmChatAnthropic
Config choices
Version 1.3

Block 14 - AI Agent_Personalization_NO website

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 1.8

Block 15 - AI Agent_Personalization_with website

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 1.8

Block 16 - Sticky Note10

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 17 - Edit Fields1

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 18 - End of Loops

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 19 - OpenAI1

Type / Role
@n8n/n8n-nodes-langchain.openAi - openAi
Config choices
Version 1.8

Block 20 - Google Sheets

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.5

Block 21 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 22 - Lead Enrichment is ready

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1.2

Block 23 - Think3

Type / Role
@n8n/n8n-nodes-langchain.toolThink - toolThink
Config choices
Version 1

Block 24 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Showing the first 24 of 27 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Generate personalized cold email openers with website scraping using Claude & GPT-4
Complexity advanced
Nodes 27
Categories Lead Generation
Author Mariela Slavenova
Published 23 Sept 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/8856/8856.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Generate personalized cold email openers with website scraping using Claude & GPT-4 do?

This template enriches a lead list by analyzing each contact’s company website and auto generating a single personalized cold email opener. Drop a spreadsheet into a Google Drive folder → the workf...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Lead Generation use case.