Skip to content
FlowHubFluxonLab
A
AI Automationfree

Send daily AI-personalized cold emails with Google Places and OpenAI

by Harvey Kubathadapted from n8n official workflow galleryUpdated Aug 2026
RequiresAAI AgentCCodeHTTP RequestHTTP RequestOpenAI Chat ModelOpenAI Chat ModelSend EmailSend EmailStructured Output ParserStructured Output Parser
Share Post Share
ScEvery Morning at 9amEvery Morning a…SeSet Campaign ParametersSet Campaign Pa…HRSearch Google Places for BusinessesSearch Google P…SOSplit Business ResultsSplit Business …SePrepare Lead InformationPrepare Lead In…FiFilter Businesses with WebsiteFilter Business…HRFetch Business WebsiteFetch Business …CoExtract Email from WebsiteExtract Email f…FiFilter Valid EmailsFilter Valid Em…DTFilter Contacted LeadsFilter Contacte…LiLimit Daily Email SendsLimit Daily Ema…SeSet Campaign Completion StatusSet Campaign Co…AgAI Email Writer AgentAI Email Writer…OpenAI GPT-5 Mini ModelOpenAI GPT-5 Mi…OPParse Email OutputParse Email Out…SeBuild Email ContentBuild Email Con…ESSend Personalized Cold EmailSend Personaliz…DTLog Email ContactLog Email Conta…WaWait Between Email SendsWait Between Em…SILoop Through Email BatchesLoop Through Em…1234567891011121314151617181920
1/5
STEPS · 20
Runs on a schedule

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 contacts in an n8n Data Table. How it works Runs daily at 9:00 and sets the campaign parameters (rotating niche and city, sender details, daily send cap, and delay between emails). Searches Google Places for businesses matching the selected niche and location, then iterates through each returned place. Keeps only businesses with a website, fetches the website HTML, and extracts a likely contact email address plus a short text snippet. Filters out leads without an email and skips any email address already logged in the n8n Data Table. Limits the run to the configured daily cap and processes leads in batches. Uses OpenAI to generate a structured subject and body for a personalised cold email based on the business snippet and your campaign details. Sends the email via SMTP with your signature and unsubscribe note, logs the contact in the Data Table, and waits the configured delay before sending the next email.

Tags

n8nreference-onlyagentemail-sendlm-chat-open-aioutput-parser-structured
Connects
AAI AgentCCodeWHTTP RequestopenaichatmodelOpenAI Chat ModelsendemailSend EmailstructuredoutputparserStructured Output Parser
CategoryAI Automation
Triggermanual
Complexityadvanced
Nodes20
AddedJul 9, 2026

Related workflows

See all AI Automation
ACembeddingsopenai
free

Route WhatsApp support requests with Claude, Supabase, HubSpot and Slack

Quick overview This workflow turns incoming WhatsApp messages (text, audio, images, and documents) into actionable support interactions by extracting content, detecting sentiment, and using an AI agent with a Supabase knowledge base to route requests to Google Calendar, HubSpot, Slack, Gmail, and back to WhatsApp. How it works Receives incoming WhatsApp messages via a WhatsApp webhook trigger. Routes the message by type and converts it into text using OpenAI Whisper for audio, OpenAI GPT-4o Vision for images, or a PDF extractor for documents (or passes text messages through). Loads the sender’s session context from Supabase and runs sentiment/language detection on the extracted text. Uses a LangChain AI agent (Claude) with Supabase vector search (with OpenAI embeddings and Cohere reranking) plus tool access (Google Calendar, HubSpot, Slack, and Gmail) to produce a structured intent, response, and metadata. Logs conversation analytics (intent, sentiment, message type, and response length) to an n8n Data Table. Routes by intent to either create a Google Calendar event, create/update a HubSpot contact, email a document via Gmail (and upload it to Google Drive), create a HubSpot ticket

by Multifly
ACsheets
free

Create TikTok carousel posts with Upload Post, Google Sheets, Gemini, GPT-4.1

Quick overview This workflow runs daily to pull TikTok post and profile analytics from Upload Post, updates a Google Sheets performance log, uses Google Gemini and OpenAI to generate a new carousel concept and caption, creates four images via fal.ai, publishes to TikTok, and updates a persistent “Agent Skill” sheet. How it works Runs on a daily schedule (or manually) and loads product, Upload Post, and Google Sheets configuration values. Reads the Google Sheets “Performance Log,” selects posts missing stats or posted recently, fetches TikTok post analytics from the Upload Post API, and writes updated metrics back to the sheet. Aggregates the refreshed history, fetches TikTok profile analytics from Upload Post, reads the “Agent Skill” sheet, and compiles a single context summary. Uses Google Gemini (via a structured JSON output) to generate a TikTok carousel plan including caption, strategy notes, four slide prompts, hashtags, and an engagement question. Sends the four prompts to fal.ai to generate four 9:16 PNG carousel images and collects their hosted image URLs. Uses OpenAI (GPT-4.1) to write a short TikTok photo-post description, publishes the carousel to TikTok via Upload Post

by amanullah
ACDgmail
free

AI: Summarize podcast episode and enhance using Wikipedia

The workflow automates the process of creating a summarized and enriched podcast digest, which is then sent via email. Note that to use this template, you need to be on n8n version 1.19.4 or later.

by n8n Team