This n8n workflow automates email blasts with follow-ups and response tracking by reading contact data from a Google Sheet daily, looping through contacts to send personalized emails based on follow-up stages via Gmail, updating the sheet with status changes, and monitoring replies for logging.
Why Use It
This workflow streamlines email marketing campaigns by automating personalized email distribution, managing follow-up sequences, and tracking responses without manual intervention, saving time, improving engagement, and providing actionable insights into contact interactions.
How to Import It
-
Download the Workflow JSON : Obtain the workflow file from the n8n template or create it based on this document.
-
Import into n8n : In your n8n instance, go to "Workflows," click the three dots, select "Import from File," and upload the JSON.
-
Configure Credentials : Set up Gmail and Google Sheets credentials in n8n.
-
Run the Workflow : Activate the scheduled trigger and test with a sample Google Sheet.
System Architecture
-
Email Blast Pipeline :
-
Daily Trigger - 9 AM : Initiates the workflow daily at 9 AM via Cron.
-
Read Contact Data from Google Sheet : Fetches contact details from the sheet.
-
Loop Through Contacts : Processes each contact individually.
-
Determine Follow-Up Stage : Identifies the current stage for each contact.
-
Send Main/Follow-Up Email : Delivers the appropriate email via Gmail.
-
Update Sheet Status : Updates the Google Sheet with the latest status.
-
Response Tracking Flow :
-
Check Gmail for Replies : Monitors Gmail for email responses.
-
Log Responses : Records responses in the Google Sheet.
Google Sheet File Structure
-
Sheet Name :
EmailCampaign
-
Range :
A1:F10 (or adjust based on needs)
| TO |
B |
C |
D |
AND |
F |
| name
|
e-mail
|
internship
|
last_email_date
|
status
|
response
|
| John Doe |
john@example.com
|
Initial |
2025-08-07 |
Pending |
|
| Jane Smith |
jane@example.com
|
Follow-Up 1 |
2025-08-06 |
Sent |
"Interested" |
| Bob Jones |
bob@example.com
|
Follow-Up 2 |
2025-08-05 |
Replied |
"Follow up later" |
-
Columns :
-
name : Contact's full name.
-
email : Contact's email address for sending emails.
-
stage : Current follow-up stage (eg, Initial, Follow-Up 1, Follow-Up 2).
-
last_email_date : Date of the last email sent.
-
status : Current status (eg, Pending, Sent, Replied).
-
response : Logged response from the contact (updated after reply detection).
Customization Ideas
-
Adjust Schedule : Change the Cron trigger to hourly or weekly based on campaign needs.
-
Add Email Templates : Customize email content for different stages or audiences.
-
Embed SMS : Add WhatsApp or SMS follow-ups using additional nodes.
-
Enhance Tracking : Integrated into dashboards (eg, Google Data Studio) for real-time campaign analytics.
-
Automate Segmentation : Add logic to segment contacts by industry or interest for targeted emails.
Requirements to Run This Workflow
-
Google Sheets Account : For storing and managing contact data and responses.
-
Gmail Account : For sending emails and checking replies (requires IMAP enabled).
-
n8n Instance : With Google Sheets and Gmail connectors configured.
-
Cron Service : For scheduling the daily trigger.
-
Internet Connection : To access Google Sheets and Gmail APIs.
-
API Credentials : Gmail OAuth2 and Google Sheets API credentials set up in n8n.
Notes
- Ensure the Google Sheet is shared with the n8n service account or has appropriate permissions.
- Test the workflow with a small contact list to verify email delivery and response logging.
- Adjust the
stage logic in the "Determine Follow-Up Stage" node to match your campaign structure.