Automate cold outreach with email personalization using Gemini and Google Sheets
This n8n template from [Intuz](https://www.intuz.com/) provides a complete and automated solution for powerful cold outreach campaigns. It connects a Google Sheet of prospect data with Google Gemini to automatically g...
Template notes
This n8n template from [Intuz](https://www.intuz.com/) provides a complete and automated solution for powerful cold outreach campaigns.
It connects a Google Sheet of prospect data with Google Gemini to automatically generate highly personalized emails. By analyzing specific keywords and data points like company name, industry, or job title from your sheet, this automated workflow crafts unique, relevant messages that feel one-to-one, creating a complete system to dramatically improve your engagement and response rates.
How it Works Manually writing personalized emails for a long list of leads is a significant bottleneck. This workflow eliminates that friction by creating an automated system that reads your lead list, understands the context, and writes compelling drafts for you.
- Scheduled Lead Processing: On a schedule you define (e.g., daily), the workflow automatically activates to process your lead list.
- Fetches Your Lead List: It connects to your designated Google Sheet and reads all the lead data you've prepared, such as names, companies, roles, and any custom notes or pain points.
- Intelligent Filtering: The workflow is smart enough to know which leads have already been processed. Using an "If" node, it filters out any rows that already contain a generated email, ensuring it only works on new, untouched leads.
- AI-Driven Personalization (Google Gemini): This is the core of the engine. For each new lead, it sends the relevant data to the Google Gemini Chat Model. The AI follows a custom prompt you define to draft a completely unique email, including a compelling subject line and a personalized body.
- Structured Data Output: The workflow uses a Structured Output Parser to ensure the AI's response is always in a clean, predictable JSON format (e.g., {"subject": "...", "body": "..."}), making the data easy to handle in the next steps.