Build a Complete Email CRM with Google Sheets & MailerSend

Go to Workflow
0 views
Built by Nima Salimi Nima Salimi
Created on June 05, 2026

Description

βœ‰οΈ Automate MailerSend Email (Google Sheets)

🌐 Overview
This workflow converts Google Sheets into a full Email CRM β€” no HubSpot or Customer.io needed!
It automates segmentation, sending, validation, and delivery tracking using:

βœ… Google Sheets β†’ CDP + Email Performance DB
βœ… MailerSend β†’ Email Template Delivery
βœ… n8n β†’ Automation + Logic + Scheduling

It automatically:
β€’ Reads subscribers from a selected segment sheet
β€’ Validates email + checks for disposable domains
β€’ Sends a MailerSend email template
β€’ Updates send status + delivery result in Sheets

Perfect for onboarding emails, promo campaigns, retention flows, newsletters & more!

βœ… Key Features
β€’ 🎯 Unlimited audience segments
β€’ 🚫 Deduplication system per execution
β€’ πŸ›‘οΈ Disposable email filtering
β€’ πŸ”„ Automatic recurring runs (every 30 minutes)
β€’ 🧩 Template-based personalization (name, codes, journey)
β€’ πŸ“Š Real-time delivery tracking + analytics-ready data
β€’ πŸ” Zero CRM vendor lock-in

πŸ“Š Database Sheets (Google Sheets Required)

Use this database template:
πŸ”— https://docs.google.com/spreadsheets/d/17KqltP-NqchPhZV7gk6QToqCZX6IiA5EBkDCBNsIX_0/edit?usp=sharing

| Sheet Name | Purpose | Required Fields |
|-----------|---------|----------------|
| template | Campaign configuration | Id, template_name, journey, type, type_template_id, discount_code |
| segment1 / segment2 | Audience lists | user_id, email, first_name, number |
| transaction | Status + results history | user_id, status, sent_result, sent_at, template_name |

transaction
| CreatedAt | UpdatedAt | user_id | email | number | first_name | status | database_id | type | template_id | type_template_id | template_name | journey | discount_code | gift_code |
|----------------------------------|----------------------------------|-----------------|------------------------|-------------|------------|------------|-------------|------|-------------|-------------------|-----------------|---------|---------------|-----------|
| 2025-10-25T13:11:41.567-04:00 | 2025-10-25T13:11:41.567-04:00 | uid_0000000001 | [email protected] | 9362000000 | Liam | 1-sending | segment1 | email | 1 | v28xxl2sq8dg785k | SMS-TEST | Test | disxxx | |
| 2025-10-25T13:11:41.567-04:00 | 2025-10-25T13:11:41.567-04:00 | uid_0000000002 | [email protected] | 9362000001 | Noah | 1-sending | segment1 | email | 1 | v28xxl2sq8dg785k | SMS-TEST | Test | disxxx | |
| 2025-10-25T13:11:41.567-04:00 | 2025-10-25T13:11:41.567-04:00 | uid_0000000003 | [email protected] | 9362000002 | Oliver | 1-sending | segment1 | email | 1 | v28xxl2sq8dg785k | SMS-TEST | Test | disxxx | |

template
| Id | template_name | journey | database_id | type | type_template_id | discount_code | gift_code |
|----|---------------------------|----------------|-------------|------|-------------------|---------------|-----------|
| 3 | Order-Confirmation | Order | segment3 | email | v28xxl2sq8dg785k | discount2 | |
| 4 | Shipping-Notification | Notification | segment4 | email | v28xxl2sq8dg785c | discount3 | |
| 5 | Add-to-Cart-day1 | Add-to-Car | segment5 | email | v28xxl2sq8dg785d | discount4 | |
| 6 | Welcome-New-Customer | Welcome | segment6 | email | v28xxl2sq8dg785s | discount5 | |
| 7 | Churn-Pro-Plan | Churn | segment7 | email | v28xxl2sq8dg785g | proxc | |
| 8 | Churn-Pro-Plan-1day-ago | Churn | segment8 | email | v28xxl2sq8dg785h | | shipx |

segment1
| user_id | email | number | first_name | database_id |
|-----------------|-------------------------|--------------|------------|-------------|
| uid_0000000001 | [email protected] | 09362000000 | Liam | segment1 |
| uid_0000000002 | [email protected] | 09362000001 | Noah | segment1 |
| uid_0000000003 | [email protected] | 09362000002 | Oliver | segment1 |
| uid_0000000004 | [email protected] | 09362000003 | Elijah | segment1 |
| uid_0000000005 | [email protected] | 09362000004 | James | segment1 |


πŸ“Œ Add more segments simply by creating new sheets (segment3, segment4...)
πŸ“Œ Change campaign by updating template_id in Setup Flow node

πŸ‘€ Who’s it for?
β€’ Ecommerce email retention teams
β€’ SaaS CRM automation operators
β€’ Digital marketing & lifecycle pros
β€’ Agencies running multi-brand campaigns
β€’ No-code builders who want scalable CRM logic

βš™οΈ Automations Included

Flow 1 β€” Insert Users (Triggered on schedule)
β€’ Pull users from selected segment tab
β€’ Insert into transaction sheet
β€’ Status: 0-processing β†’ 1-sending
β€’ Prevent duplicate sending βœ…

Flow 2 β€” Send Emails (Runs every 30 min)
β€’ Selects β€œready” users (1-sending)
β€’ Checks:
Missing email β†’ 3-no-email
Disposable β†’ 4-disposal-email
β€’ Sends via MailerSend template ID in sheet
β€’ Updates status β†’ 2-sent + message result

🎯 Your entire CRM sending logic runs automatically every day

🧠 Personalization Support
Available merge-fields:
β€’ first_name
β€’ discount_code
β€’ gift_code
(Modify jsonBody to add more!)

πŸ” MailerSend Setup Required
Inside MailerSend node:
Replace β€œ[email protected]” with your verified sender email βœ…

You must:
βœ” Verify domain
βœ” Approve sender email
βœ” Copy correct template ID β†’ Google Sheet

πŸ’‘ Optional Enhancements
β€’ Slack alerts for failed sends
β€’ Connect Looker Studio for dashboards
β€’ Add SMS / WhatsApp parallel flows
β€’ A/B test templates by duplicating rows
β€’ Add AI for subject optimization or copy rewrite

πŸ“Ί Connect With Me
More workflows, CRM strategy & AI marketing automation πŸ‘‡
LinkedIn: https://linkedin.com/in/nima-salimi-a655a6231

Follow & ⭐️ this template if it helped you πŸš€

Nodes Used (2)

Google Sheets
n8n-nodes-base.googleSheets
HTTP Request
n8n-nodes-base.httpRequest