Send daily AI-personalized cold emails with Google Places and OpenAI
Ready for 3.0What this workflow does
This AI workflow has 20 nodes and runs on a schedule (every day at 09:00). Along the way it connects OpenAI Chat Model. It also calls places.googleapis.com over HTTP.
How it runs
Trigger: On a schedule (every day at 09:00).
- Set Campaign Parameters (Edit Fields (Set)): sets 13 fields: niche, location, senderName…
- Search Google Places for Businesses (HTTP Request): calls places.googleapis.com (POST)
- Split Business Results (Split Out): splits a list into separate items
- Prepare Lead Information (Edit Fields (Set)): sets 3 fields: businessName, website, address
- Filter: keeps only the items that match a condition
- Fetch Business Website (HTTP Request): calls an HTTP API
- Extract Email from Website (Code): runs custom JavaScript code
- Filter: keeps only the items that match a condition
- Filter Contacted Leads (Data table): row not exists
- Limit: keeps the first few items
…plus 7 more steps. See the full node list below.
Services it uses
HTTP calls to: places.googleapis.com
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (14)
- Schedule Trigger
n8n-nodes-base.scheduleTrigger - Edit Fields (Set)
n8n-nodes-base.set - HTTP Request
n8n-nodes-base.httpRequest - Split Out
n8n-nodes-base.splitOut - Filter
n8n-nodes-base.filter - Code
n8n-nodes-base.code - Data table
n8n-nodes-base.dataTable - Limit
n8n-nodes-base.limit - AI Agent
@n8n/n8n-nodes-langchain.agent - OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi - Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured - Send Email
n8n-nodes-base.emailSend - Wait
n8n-nodes-base.wait - Loop Over Items (Split in Batches)
n8n-nodes-base.splitInBatches
From the author
Quick overview This workflow runs every morning to find local businesses via Google Places, pulls their website content to extract an email address, uses OpenAI to draft a personalised automation-focused outreach message, then sends it via SMTP while tracking…