{
  "name": "Send personalized emails from Google Sheets via SMTP",
  "nodes": [
    {
      "id": "8e00238e-9ea1-44f0-bd3d-f79061e5ddef",
      "name": "Start email automation",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        8944,
        3168
      ]
    },
    {
      "id": "94c954b2-a74c-4e81-8de6-9f36fe1d9e04",
      "name": "Fetch contacts from Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        9200,
        3168
      ]
    },
    {
      "id": "fbbb05af-2dc0-4bf4-a181-d4fcd018e5d6",
      "name": "Process contacts one by one",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        9520,
        3040
      ]
    },
    {
      "id": "58aa8ad1-0d63-4f12-9532-29ae1efbb983",
      "name": "Check no-show status",
      "type": "n8n-nodes-base.if",
      "position": [
        10016,
        3120
      ]
    },
    {
      "id": "43042d6e-0bd2-477e-bbb8-9b083e2543a0",
      "name": "Check if email already sent",
      "type": "n8n-nodes-base.if",
      "position": [
        10416,
        3104
      ]
    },
    {
      "id": "726f7ba5-c24d-414c-9832-f99e375ad4d2",
      "name": "Prepare email content",
      "type": "n8n-nodes-base.set",
      "position": [
        10864,
        3072
      ]
    },
    {
      "id": "6b5bb72f-c6f7-42d8-9451-72151a72e614",
      "name": "Send email via SMTP",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        11232,
        3008
      ]
    },
    {
      "id": "4b1d4d9c-c1a2-4269-9a6f-eef37b8a33ee",
      "name": "Delay between emails",
      "type": "n8n-nodes-base.wait",
      "position": [
        11504,
        3104
      ]
    },
    {
      "id": "c837bd44-9742-4ebf-83b0-a70b61ecb11c",
      "name": "Mark email as sent in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        11856,
        3296
      ]
    },
    {
      "id": "bf02a25c-b987-4ebb-a4f4-0a10e559d491",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        10800,
        3520
      ],
      "parameters": {
        "width": 512,
        "height": 224,
        "content": "## What to test before running the campaign\n\n✅ Send 2–3 test emails to your own email address\n✅ Verify personalization works (Name is replaced correctly)\n✅ Check that emails do not land in the spam fo"
      }
    },
    {
      "id": "37701129-7824-4a7f-b2fc-0084022a8b16",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        8848,
        2512
      ],
      "parameters": {
        "width": 720,
        "height": 464,
        "content": "## Email outreach setup\n\n## How it works\n- Reads contacts from Google Sheets\n- Filters contacts based on no-show or custom status\n- Skips contacts already emailed\n- Sends personalized emails via SMTP\n"
      }
    },
    {
      "id": "1e7db455-7f1d-4922-8925-59aeb5ef5e85",
      "name": "Sticky Note13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        12080,
        3088
      ],
      "parameters": {
        "width": 528,
        "height": 464,
        "content": "## 🚫 SMTP provider requirements (important)\n\nSome consumer email providers restrict or block SMTP usage for automated workflows.\n\n## ✅ Recommended SMTP providers\n\nThese services are designed for autom"
      }
    },
    {
      "id": "00ea7c80-4790-4b39-86a5-2407c3d4be88",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        9088,
        3056
      ],
      "parameters": {
        "width": 336,
        "height": 128,
        "content": "Fetches contacts from Google Sheets.\nEnsure column names match\nthe workflow configuration."
      }
    },
    {
      "id": "974e7435-45f5-4ac5-a2b7-2b4e12e13d61",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        10096,
        3008
      ],
      "parameters": {
        "width": 336,
        "height": 112,
        "content": "Filters contacts based on\nno-show or custom status\nand skips already emailed leads."
      }
    },
    {
      "id": "597ffb53-335d-4e91-8c56-d1bb6da9bd14",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        10912,
        2944
      ],
      "parameters": {
        "width": 336,
        "height": 96,
        "content": "Prepares personalized email\ncontent and sends emails\nusing an SMTP provider."
      }
    },
    {
      "id": "4cebbe82-58a6-4752-9317-2482dc81ec96",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        11680,
        3104
      ],
      "parameters": {
        "width": 336,
        "height": 96,
        "content": "Adds a delay between emails\nand updates Google Sheets\nto prevent duplicate sends."
      }
    },
    {
      "id": "7a53220a-a2f5-4af1-8729-f1c54f939d19",
      "name": "Sticky Note12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        9600,
        3536
      ],
      "parameters": {
        "width": 544,
        "height": 192,
        "content": "## Common first-time issues\n\n❌ No emails sent → Check SMTP credentials and From Email address\n❌ Sheet not updating → Confirm the Mark email as sent in sheet node points to the correct spreadsheet and "
      }
    }
  ],
  "connections": {
    "Send email via SMTP": {
      "main": [
        [
          {
            "node": "Delay between emails",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check no-show status": {
      "main": [
        [
          {
            "node": "Check if email already sent",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Process contacts one by one",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Delay between emails": {
      "main": [
        [
          {
            "node": "Mark email as sent in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare email content": {
      "main": [
        [
          {
            "node": "Send email via SMTP",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Start email automation": {
      "main": [
        [
          {
            "node": "Fetch contacts from Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check if email already sent": {
      "main": [
        [
          {
            "node": "Prepare email content",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Process contacts one by one",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Mark email as sent in sheet": {
      "main": [
        [
          {
            "node": "Process contacts one by one",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Process contacts one by one": {
      "main": [
        [],
        [
          {
            "node": "Check no-show status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch contacts from Google Sheets": {
      "main": [
        [
          {
            "node": "Process contacts one by one",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}