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)
A |
B |
C |
D |
E |
F |
name |
email |
stage |
last_email_date |
status |
response |
John Doe |
[email protected] |
Initial |
2025-08-07 |
Pending |
|
Jane Smith |
[email protected] |
Follow-Up 1 |
2025-08-06 |
Sent |
"Interested" |
Bob Jones |
[email protected] |
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 (e.g., Initial, Follow-Up 1, Follow-Up 2).
last_email_date
: Date of the last email sent.
status
: Current status (e.g., 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.
- Incorporate SMS: Add WhatsApp or SMS follow-ups using additional nodes.
- Enhance Tracking: Integrate a dashboard (e.g., 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.