Send personalized cold email follow-ups from Google Sheets with ZeptoMail

Automated Cold Email Follow-up Sequence with Google Sheets & ZeptoMail

Stop losing leads to manual follow-up fatigue. This workflow runs daily, checks your Google Sheets lead tracker, and automatically sends the right follow-up email at the right time — personalized by partner type (College, Influencer, or Brand) — then updates the sheet status so nothing slips through the cracks.

Who is this for?

Founders, sales reps, and growth teams who manage outreach to multiple partner types and need a reliable, hands-off follow-up engine without a full CRM.

What this workflow does

Triggers daily via Schedule node Reads your Google Sheet to fetch all leads Filters active leads — skips anyone marked completed, replied, or unsubscribed Checks follow-up date — only processes leads due today or earlier Routes each lead by their current stage (sent → followup_1 → followup_2 → completed) Builds a personalized HTML email based on partner type (College/University, Influencer, Brand, or generic) Sends via ZeptoMail with threading headers to keep replies in the same email thread Updates the Google Sheet with the new status and next follow-up date

Prerequisites

A self-hosted n8n instance (community nodes required) A Google Sheets account with OAuth connected A Zoho ZeptoMail account with API access The community node installed: n8n-nodes-zohozeptomail

Google Sheet structure

Your tracking sheet should have (at minimum) these columns:

| Column | Description | |---|---| | Email | Lead's email address | | name | Lead's full name | | partner_type | One of: college, influencer, brand | | status | Current stage: sent, followup_1, followup_2, completed, replied, unsubscribed | | follow_up_date | Date the next follow-up should be sent (YYYY-MM-DD) | | message_id | (Optional) Original email Message-ID for threading |

Setup steps

Install the community node n8n-nodes-zohozeptomail in your n8n instance Connect Google Sheets — add your OAuth credentials in n8n Connect ZeptoMail — add your API key credentials Update the Google Sheet ID and sheet name in the Read Tracking Sheet node Replace placeholder values in the Code nodes: [YOUR COMPANY], [YOUR NAME], [YOUR EMAIL] https://calendly.com/REPLACE_WITH_CALENDAR_LINK Set the workflow to Active — it will run automatically every day

Customization

Add new partner types by extending the getTemplate() function in the Build Email Code nodes Adjust follow-up timing by changing the date written back to the sheet in the Update Status nodes Add more stages beyond followup_2 by extending the Switch node and duplicating the email builder pattern

⚠️ Important notes

This workflow requires a self-hosted n8n instance — it will not run on n8n Cloud due to the community node dependency Leads are skipped (not deleted) if their status is completed, replied, or unsubscribed — safe to keep all history in one sheet ZeptoMail threading headers (In-Reply-To, References) are set automatically if message_id is present in the sheet

0
Downloads
0
Views
7.33
Quality Score
beginner
Complexity
Author:Panth1823(View Original →)
Created:4/16/2026
Updated:5/31/2026

🔒 Please log in to import templates to n8n and favorite templates

Workflow Visualization

Loading...

Preparing workflow renderer

Comments (0)

Login to post comments