{
  "name": "Send validated outreach emails with Gmail & Google Sheets anti-spam controls",
  "nodes": [
    {
      "id": "89b64ec1-ea43-4607-b45d-f5bdc31e4d89",
      "name": "Get Contacts with Emails",
      "type": "n8n-nodes-base.code",
      "position": [
        -2736,
        352
      ]
    },
    {
      "id": "98cded50-307c-4c0b-860e-26e9344be990",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        -528,
        -112
      ]
    },
    {
      "id": "b9c9ef0d-4459-4ed7-a32a-2ed884be31be",
      "name": "Initial Email NOT Sent?",
      "type": "n8n-nodes-base.if",
      "position": [
        -1104,
        240
      ]
    },
    {
      "id": "2ebd600b-a5b0-46e0-bc76-5e81c88a314c",
      "name": "Check Daily Email Counter",
      "type": "n8n-nodes-base.code",
      "position": [
        -208,
        -112
      ]
    },
    {
      "id": "ec30e632-5d3b-4d8f-aa8b-a84f606d445c",
      "name": "Initial",
      "type": "n8n-nodes-base.set",
      "position": [
        -352,
        -112
      ]
    },
    {
      "id": "2e3376fb-07da-406e-802b-b767d67f35b1",
      "name": "Is SPAM?",
      "type": "n8n-nodes-base.if",
      "position": [
        -2000,
        336
      ]
    },
    {
      "id": "0d1f3a64-59f0-4d38-8a85-ead4b07acb75",
      "name": "Initial Email",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -880,
        -128
      ]
    },
    {
      "id": "3a392018-8b0c-4f68-959d-b5bb9bb69bae",
      "name": "Human wait time1",
      "type": "n8n-nodes-base.code",
      "position": [
        -688,
        -112
      ]
    },
    {
      "id": "8c66e9bc-d6a7-46d7-807d-a4c6c0a58a36",
      "name": "VALID EMAIL",
      "type": "n8n-nodes-base.code",
      "position": [
        -2512,
        352
      ]
    },
    {
      "id": "46691763-e027-45cd-861d-1e285e0aa37f",
      "name": "VALID EMAIL?",
      "type": "n8n-nodes-base.if",
      "position": [
        -2288,
        352
      ]
    },
    {
      "id": "f4f8b2cc-9611-4830-93ce-b4ad24d02ff0",
      "name": "undelivered email?",
      "type": "n8n-nodes-base.if",
      "position": [
        -1504,
        432
      ]
    },
    {
      "id": "9c2c47fb-d6e3-41bd-bd84-e5ef17efb7f2",
      "name": "EMAIL VERIFICATION DONE?",
      "type": "n8n-nodes-base.if",
      "position": [
        -1664,
        592
      ]
    },
    {
      "id": "e9e78cba-c918-4265-bd78-b8c8311baac5",
      "name": "ONLY CHECK EMAIL NEEDED",
      "type": "n8n-nodes-base.filter",
      "position": [
        144,
        -112
      ]
    },
    {
      "id": "8ee0320f-c939-4a57-bb21-8cd25a6feeb7",
      "name": "9am Daily",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -3440,
        16
      ]
    },
    {
      "id": "49ce39e0-731d-4ab3-bea8-99de19504bd7",
      "name": "SUBJECT LINES",
      "type": "n8n-nodes-base.code",
      "position": [
        384,
        -112
      ]
    },
    {
      "id": "db293a22-876e-4c0c-83f4-8ed39a7ec855",
      "name": "Download file",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        832,
        -128
      ]
    },
    {
      "id": "68833003-73d3-4b46-b63b-0cabbe06e0a5",
      "name": "EMAILS SHEET",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -3120,
        352
      ]
    },
    {
      "id": "5a3f979e-0daf-4f6c-8c57-27729e7ffc8c",
      "name": "10 SECONDS WAIT",
      "type": "n8n-nodes-base.wait",
      "position": [
        -2944,
        352
      ]
    },
    {
      "id": "f736ceff-a4b3-4a36-bfe5-58817b091621",
      "name": "Initial Email NOT Sent? SECOND CHECK",
      "type": "n8n-nodes-base.if",
      "position": [
        624,
        -112
      ]
    },
    {
      "id": "b4be98a9-6680-4297-b4d3-991ae37280e6",
      "name": "UPDATE EMAIL SHEET",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1200,
        -48
      ]
    },
    {
      "id": "cea79305-c6a0-442e-93f8-aab30b9efe2f",
      "name": "SEND INITIAL EMAIL",
      "type": "n8n-nodes-base.gmail",
      "position": [
        976,
        -128
      ]
    },
    {
      "id": "95bfba0d-9c27-4bdc-86f6-44a31a20a226",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -3824,
        -432
      ],
      "parameters": {
        "width": 640,
        "height": 1184,
        "content": "## 📧 AUTOMATED INITIAL COLD OUTREACH EMAILS WITH SAFETY CONTROLS\n\n## HOW?\n\nThis workflow automatically sends personalized emails to contacts\nstored in Google Sheets and NocoDB.\n\nIt includes email vali"
      }
    },
    {
      "id": "f0f07d57-2128-4d2b-9533-816d1fc0b8b1",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -3168,
        96
      ],
      "parameters": {
        "width": 576,
        "height": 656,
        "content": "## STEP 1:  Get Contats From Sheets\n\nThis step pulls contact records from Google Sheets.\n\n-->Only rows with email addresses are considered.\n\n"
      }
    },
    {
      "id": "22ff2773-9a0d-4eea-8fa1-57a908e7b766",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2544,
        96
      ],
      "parameters": {
        "width": 416,
        "height": 656,
        "content": "## STEP 2:  Clean and Validate Emails\n\n\nThis step:\n• Fixes formatting issues\n• Blocks known bad domains\n• Rejects invalid email formats\n• Flags risky addresses\n\n"
      }
    },
    {
      "id": "88d10059-24f5-454f-b4f7-f6c0de19d7d6",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2080,
        96
      ],
      "parameters": {
        "width": 336,
        "height": 656,
        "content": "## STEP 3: Spam Check\n\n\nThis step checks if a contact is marked as spam\n\n-->Spam records are skipped immediately to protect your email reputation.\n\n\n"
      }
    },
    {
      "id": "16397514-e1b0-4acc-a9f3-b1844e4d71d3",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1712,
        96
      ],
      "parameters": {
        "width": 768,
        "height": 656,
        "content": "## STEP 4: Initial Email Status Check\n\nThis step checks if an initial email was already sent.\n\n-->If yes, the workflow skips the contact to avoid duplicate or accidental re-sending.\n\n\n\n"
      }
    },
    {
      "id": "2a808f7c-9015-4c30-9c32-65fbef9dab08",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -384,
        -416
      ],
      "parameters": {
        "width": 304,
        "height": 480,
        "content": "## STEP 6: Daily Status Check\n\nThis step controls how many emails can be sent per day.\n\nIt:\n• Blocks sending on weekends\n• Enforces daily email limits\n• Tracks counts per email type\n\n\n\n\n"
      }
    },
    {
      "id": "7bb21639-7b9f-4eab-acc5-ebb971833fba",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -928,
        -416
      ],
      "parameters": {
        "width": 528,
        "height": 480,
        "content": "## STEP 5: Human Like Delay\n\nA random delay is added before sending each email.\n\nThis makes the workflow behave more like a human\nand less like a bot, reducing the risk of spam detection\nor account re"
      }
    },
    {
      "id": "0c731a75-e623-42ff-9112-7cf3bac441ed",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        304,
        -416
      ],
      "parameters": {
        "width": 272,
        "height": 480,
        "content": "## STEP 8: Subject and Content Generation\n\nThis step generates personalized subject lines\nand opening sentences.\n\n\n\n\n\n\n"
      }
    },
    {
      "id": "23e62390-7138-46e8-b30d-4a571eb10712",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        592,
        -416
      ],
      "parameters": {
        "width": 512,
        "height": 480,
        "content": "## STEP 9: Send Email\n\nThis step sends the actual email using Gmail.\n\nThe email includes:\n• Personalized subject line\n• Custom opening\n• Main message\n• Signature and links\n\nAttachments can also be inc"
      }
    },
    {
      "id": "e813f237-ae28-4546-8f2a-5a313a0bbb5e",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1152,
        -432
      ],
      "parameters": {
        "width": null,
        "height": 544,
        "content": "## STEP 10: Update Sheet\n\nAfter an email is sent, this step updates Google Sheets.\n\nIt records:\n• Email sent status\n• Date sent\n• Email address\n\nThis ensures accurate tracking\nand prevents duplicate s"
      }
    },
    {
      "id": "dbb6e068-bfda-433d-aa6e-9e78995f2944",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -64,
        -416
      ],
      "parameters": {
        "width": 352,
        "height": 480,
        "content": "## STEP 7: Initial Email Check\n\nThis step confirms the correct email record is being processed.\n\n-->It prevents mismatched data before generating content or sending emails.\n\n\n\n"
      }
    },
    {
      "id": "4349a640-c900-443a-b6f7-c18d143fd69c",
      "name": "INITIAL EMAIL SHEET",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -32,
        -112
      ]
    },
    {
      "id": "7f2db0d1-4524-44f1-b11c-b0feb4d385a2",
      "name": "Has Name?",
      "type": "n8n-nodes-base.if",
      "position": [
        -1296,
        336
      ]
    }
  ],
  "connections": {
    "Wait": {
      "main": [
        [
          {
            "node": "Initial",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Initial": {
      "main": [
        [
          {
            "node": "Check Daily Email Counter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is SPAM?": {
      "main": [
        [],
        [
          {
            "node": "EMAIL VERIFICATION DONE?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9am Daily": {
      "main": [
        [
          {
            "node": "EMAILS SHEET",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Has Name?": {
      "main": [
        [
          {
            "node": "Initial Email NOT Sent?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "VALID EMAIL": {
      "main": [
        [
          {
            "node": "VALID EMAIL?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "EMAILS SHEET": {
      "main": [
        [
          {
            "node": "10 SECONDS WAIT",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "VALID EMAIL?": {
      "main": [
        [
          {
            "node": "Is SPAM?",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "Download file": {
      "main": [
        [
          {
            "node": "SEND INITIAL EMAIL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Initial Email": {
      "main": [
        [],
        [
          {
            "node": "Human wait time1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SUBJECT LINES": {
      "main": [
        [
          {
            "node": "Initial Email NOT Sent? SECOND CHECK",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "10 SECONDS WAIT": {
      "main": [
        [
          {
            "node": "Get Contacts with Emails",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Human wait time1": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SEND INITIAL EMAIL": {
      "main": [
        [
          {
            "node": "UPDATE EMAIL SHEET",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "UPDATE EMAIL SHEET": {
      "main": [
        [
          {
            "node": "Initial Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "undelivered email?": {
      "main": [
        [
          {
            "node": "Has Name?",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "INITIAL EMAIL SHEET": {
      "main": [
        [
          {
            "node": "ONLY CHECK EMAIL NEEDED",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Initial Email NOT Sent?": {
      "main": [
        [
          {
            "node": "Initial Email",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "ONLY CHECK EMAIL NEEDED": {
      "main": [
        [
          {
            "node": "SUBJECT LINES",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "EMAIL VERIFICATION DONE?": {
      "main": [
        [
          {
            "node": "undelivered email?",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "Get Contacts with Emails": {
      "main": [
        [
          {
            "node": "VALID EMAIL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Daily Email Counter": {
      "main": [
        [
          {
            "node": "INITIAL EMAIL SHEET",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Initial Email NOT Sent? SECOND CHECK": {
      "main": [
        [
          {
            "node": "Download file",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    }
  }
}