Draft personalized cold emails from Google Sheets with Apify and GPT-4o mini
UnknownWhat this workflow does
This AI workflow has 15 nodes and runs manually, when you click “Execute workflow”. Along the way it connects Google Sheets, OpenAI and Apify (community).
How it runs
Trigger: Manually, when you click “Execute workflow”.
- Read Leads from Sheets (Google Sheets): uses Google Sheets
- Filter: keeps only the items that match a condition
- Loop Through Leads (Loop Over Items (Split in Batches)): loops over the items in batches
- Execute Apify Actor (Apify): uses Apify
- Fetch Dataset Items (Apify): work with datasets
- Combine Scraped Text (Code): runs custom JavaScript code
- Check Scrape Success (If): checks a condition and branches into true / false
- Send to OpenAI Model (OpenAI): uses OpenAI
- Update Failed Scrape Status (Google Sheets): update
- Decide Email Framing (Code): runs custom JavaScript code
…plus 4 more steps. See the full node list below.
Services it uses
Before you upgrade to n8n 3.0
We can't fully verify this one: it relies on 1 community package, and n8n 3.0 turns unverified community packages off by default (N8N_UNVERIFIED_PACKAGES_ENABLED=false).
- Check that @apify/n8n-nodes-apify is verified or supports 3.0 (used in Execute Apify Actor, Fetch Dataset Items).
Nodes used (9)
- Manual Trigger
n8n-nodes-base.manualTrigger - Google Sheets
n8n-nodes-base.googleSheets - Filter
n8n-nodes-base.filter - Loop Over Items (Split in Batches)
n8n-nodes-base.splitInBatches - Code
n8n-nodes-base.code - If
n8n-nodes-base.if - Wait
n8n-nodes-base.wait - Apify
@apify/n8n-nodes-apify.apify - OpenAI
@n8n/n8n-nodes-langchain.openAi
From the author
Quick overview This workflow reads pending medical or dental practice leads from Google Sheets, scrapes each practice website with Apify, uses OpenAI (gpt-4o-mini) to identify conversion gaps, and drafts a short personalized cold email, then writes the…