What you’ll build
A workflow that fetches contacts, generates personalized email content with AI, and sends targeted emails automatically. Time to build: 15 minutes Nodes used: Google Sheets, Loop, LLM, Email SenderThe problem
Sending personalized emails manually is time-consuming:- Writing individual emails takes hours
- Personalization is often superficial
- Hard to scale beyond a few dozen contacts
- Difficult to maintain consistency
Workflow overview
Step-by-step guide
Step 1: Prepare your contact list
Create a Google Sheet with your contacts:| Name | Company | Role | Context | |
|---|---|---|---|---|
| John | [email protected] | Acme Inc | CMO | Met at conference |
| Sarah | [email protected] | Beta Corp | Head of Growth | Downloaded whitepaper |
Step 2: Create the workflow
- Click New Workflow
- Name it “Email Outreach”
Step 3: Fetch contacts
1
Add Google Sheets Reader
Configure:
- Spreadsheet ID: Your contacts sheet
- Range:
Contacts!A:E - Include Headers: Yes
Step 4: Loop through contacts
1
Add Loop node
Configure:
- Items:
{{data}} - Max Iterations: 50 (start small)
Step 5: Generate personalized email
1
Add LLM node
Configure:
- Model: GPT or Claude
- Temperature: 0.7 (for creative variation)
- Instructions:
Step 6: Send the email
1
Add Email Sender node
Configure:
- To:
{{email}} - Subject:
{{subject}} - Body:
{{body}} - From: Your email address
Step 7: Log results
1
Add Google Sheets Writer
Configure:
- Spreadsheet ID: Your tracking sheet
- Operation: Append
- Values:
Sample output
Subject: Quick question about Acme’s growth strategy, John Body:Advanced options
Add research enrichment
Scrape the contact’s company before writing: Update your prompt:A/B test subject lines
Generate multiple versions and track performance:Schedule sends
Spread emails over time to avoid spam filters:- Add a delay between emails
- Set max emails per hour (20-30)
- Schedule workflow to run at optimal times
Best practices
Warm up your sending
Start with small batches:| Week | Emails/day |
|---|---|
| 1 | 10 |
| 2 | 25 |
| 3 | 50 |
| 4+ | 100+ |
Personalization quality
More context = better personalization:| Context Level | Example |
|---|---|
| Low | ”Company employee” |
| Medium | ”CMO at growing SaaS” |
| High | ”CMO at Acme, met at conference, interested in automation” |
Monitor deliverability
Track key metrics:- Open rate (target: 40%+)
- Reply rate (target: 5%+)
- Bounce rate (keep under 2%)
- Spam complaints (keep under 0.1%)
Respect opt-outs
Add logic to check unsubscribe list:Results you can expect
| Metric | Manual | With Draft & Goal |
|---|---|---|
| Emails/hour | 10-15 | 100+ |
| Personalization depth | Low | High |
| Reply rate | 2-3% | 8-12% |
| Time invested | Hours | Minutes |

