Skip to main content

Build a complete email CRM with Google Sheets & MailerSend

Workflow preview

Workflow preview
100%
Build a complete email CRM with Google Sheets & MailerSend preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

️ 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, validatio...

Best for

  • Social Media automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.scheduletrigger, n8n-nodes-base.set, n8n-nodes-base.filter, n8n-nodes-base.if, n8n-nodes-base.wait, n8n-nodes-base.removeduplicates, n8n-nodes-base.stickynote, n8n-nodes-base.googlesheets

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Nima Salimi.

Original n8n.io source

1.1 Workflow description

Title
Build a complete email CRM with Google Sheets & MailerSend
Workflow name
Build a complete email CRM with Google Sheets & MailerSend

✉️ 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-processing1-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:

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 🚀

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Schedule Trigger

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.2

Block 2 - Setup Flow

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 3 - Map Data

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 4 - Filter Template

Type / Role
n8n-nodes-base.filter - filter
Config choices
Version 2.1

Block 5 - IF Template Parameters OK

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.1

Block 6 - IF user_id is not empty

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.1

Block 7 - Wait

Type / Role
n8n-nodes-base.wait - wait
Config choices
Version 1.1

Block 8 - Remove Duplicates

Type / Role
n8n-nodes-base.removeDuplicates - removeDuplicates
Config choices
Version 2

Block 9 - IF Type Email

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.1

Block 10 - Schedule Trigger1

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.2

Block 11 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 12 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 13 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 14 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 15 - Sticky Note4

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 16 - Sticky Note5

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 17 - If email is not empty

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.1

Block 18 - Sticky Note6

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 19 - Sticky Note7

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 20 - Disposal Check

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.1

Block 21 - Get user_id from cdp

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.6

Block 22 - Add records By Status Processing

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.6

Block 23 - Insert Data By Status Processing

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.6

Block 24 - Change Status to Sending

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.6

Showing the first 24 of 34 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Build a complete email CRM with Google Sheets & MailerSend
Complexity advanced
Nodes 34
Categories Social Media
Author Nima Salimi
Published 25 Oct 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/10179/10179.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Build a complete email CRM with Google Sheets & MailerSend do?

️ 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, validatio...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Social Media use case.