{
  "name": "Validate email lists weekly with Google Sheets, VerifiEmail and Gmail reports",
  "nodes": [
    {
      "id": "8a19fa06-c280-4907-a551-3b34ca0f993c",
      "name": "Calculate Statistics",
      "type": "n8n-nodes-base.code",
      "position": [
        656,
        -320
      ]
    },
    {
      "id": "d6827158-4e8d-4806-a04b-7f9f35384532",
      "name": "Weekly Schedule (Friday 5PM)",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        0,
        0
      ]
    },
    {
      "id": "0084d5ab-cdf7-4f5e-969e-711eee3bbcd7",
      "name": "Read Email List",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        208,
        0
      ]
    },
    {
      "id": "6d5bacd8-88cc-4979-a445-eba35f7b60f6",
      "name": "Process Each Email",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        416,
        0
      ]
    },
    {
      "id": "e2bf73b2-46f6-4661-8c74-5297b37318ad",
      "name": "Validate Email Address",
      "type": "n8n-nodes-verifiemail.verifiEmail",
      "position": [
        672,
        -96
      ]
    },
    {
      "id": "63fdab5f-ce90-4700-a343-f5823f17a236",
      "name": "Check Validation Result",
      "type": "n8n-nodes-base.if",
      "position": [
        896,
        -96
      ]
    },
    {
      "id": "e71190c0-fdc1-49ac-ae76-742dbea0782d",
      "name": "Process Valid Email",
      "type": "n8n-nodes-base.code",
      "position": [
        1248,
        -240
      ]
    },
    {
      "id": "08f26195-97eb-4cf0-989e-2b686c7e4bd7",
      "name": "Process Invalid Email",
      "type": "n8n-nodes-base.code",
      "position": [
        1232,
        -48
      ]
    },
    {
      "id": "5e98a36d-31c7-446b-a1ed-9988d3cb3ef3",
      "name": "Update Valid Status",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1520,
        -240
      ]
    },
    {
      "id": "790a9728-2083-402d-8334-8254924c2e29",
      "name": "Update Invalid Status",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1520,
        -48
      ]
    },
    {
      "id": "11a7ea29-2e24-4f9c-91dc-27afa0ca46f7",
      "name": "Send Weekly Report",
      "type": "n8n-nodes-base.gmail",
      "position": [
        928,
        -320
      ]
    },
    {
      "id": "d30f5ad6-778c-4891-90fc-c58fa49612e9",
      "name": "Merge1",
      "type": "n8n-nodes-base.merge",
      "position": [
        1776,
        -64
      ]
    },
    {
      "id": "f48744cc-7449-43fa-8fbd-dfda525f22b8",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -480,
        -560
      ],
      "parameters": {
        "width": 336,
        "height": 576,
        "content": "## EMAIL LIST HYGIENE AUTOMATION\n\nAutomatically validates your email list **every Friday at 5 PM**.\n\n✅ What it does:\n- **Reads emails** from **Google Sheets**\n- Validates each email (format, MX record"
      }
    },
    {
      "id": "071eceb8-e834-45ee-926e-cbab44953cfd",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -480,
        176
      ],
      "parameters": {
        "width": 320,
        "height": 736,
        "content": "## SETUP REQUIRED (5 minutes)\n\nBefore activating this workflow:\n\n1. **Google Sheets** Setup:\n   Create sheet with these exact columns:\n   • row_number (auto-generated by Sheets)\n   • name\n   • email\n "
      }
    },
    {
      "id": "2517b984-ed20-4930-85b1-33d303e0b714",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        368,
        160
      ],
      "parameters": {
        "width": 384,
        "height": 608,
        "content": "## EMAIL VALIDATION PROCESS\n\nProcesses each email **individually** in a **loop**:\n\n**STEP 1**: Loop starts\n   → Takes one email from sheet\n\n**STEP 2**: Validation checks\n   ✓ Email format (RFC 5322 co"
      }
    },
    {
      "id": "7c8c9273-b54f-4a3f-8131-7031cf23c806",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        992,
        160
      ],
      "parameters": {
        "width": 368,
        "height": 688,
        "content": "## TRUE/FALSE BRANCHING\n\n**IF node splits workflow** based on **validation**:\n\n✅ TRUE BRANCH (Valid Emails):\n   Condition: validation.valid === true\n   ↓\n   Process Valid Email code:\n   • Status: \"val"
      }
    },
    {
      "id": "f30a760a-0560-443c-a352-4ae7e16733a8",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1984,
        -112
      ],
      "parameters": {
        "width": 368,
        "height": 576,
        "content": "## MERGE & LOOP COMPLETION\n\nThe **Merge node** is critical for data flow:\n\n**INPUT 1**: Valid emails from **TRUE** branch\n**INPUT 2**: Invalid emails from **FALSE** branch\n\nWhat Merge does:\n- Combines"
      }
    },
    {
      "id": "dc616d16-1e8d-49e7-9ef8-0bc7234a7ea0",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        656,
        -1056
      ],
      "parameters": {
        "width": 384,
        "height": 720,
        "content": "## ANALYTICS & REPORTING\n\nAfter all emails processed:\n\n1️⃣ **Calculate Statistics**:\n   Receives all accumulated emails from loop\n   \n   **Calculates**:\n   • **Total emails** processed\n   • **Valid co"
      }
    },
    {
      "id": "dc73ce02-5bfb-4d98-9f18-3d8753f5acf1",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1568,
        -1152
      ],
      "parameters": {
        "width": 384,
        "height": 832,
        "content": "## CUSTOMIZATION OPTIONS\n\nEasy modifications:\n\n⏰ Change Schedule:\n   • **Edit \"Weekly Schedule\" node**\n   • Current: 0 17 * * 5 (Friday 5PM)\n   • Examples:\n     - Daily 9AM: 0 9 * * *\n     - Every Mon"
      }
    },
    {
      "id": "2816c5ba-112d-4073-b56c-5083ba104b4e",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1936,
        688
      ],
      "parameters": {
        "width": 464,
        "height": 896,
        "content": "## TROUBLESHOOTING GUIDE\n\n**Common issues & solutions**:\n\n❌ \"Column not found\" error:\n   **Fix**: Check **Google Sheet** has exact column names\n   • Names are **case-sensitive**\n   • Required: row_num"
      }
    }
  ],
  "connections": {
    "Merge1": {
      "main": [
        [
          {
            "node": "Process Each Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Read Email List": {
      "main": [
        [
          {
            "node": "Process Each Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Process Each Email": {
      "main": [
        [
          {
            "node": "Calculate Statistics",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Validate Email Address",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Process Valid Email": {
      "main": [
        [
          {
            "node": "Update Valid Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update Valid Status": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Calculate Statistics": {
      "main": [
        [
          {
            "node": "Send Weekly Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Process Invalid Email": {
      "main": [
        [
          {
            "node": "Update Invalid Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update Invalid Status": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Validate Email Address": {
      "main": [
        [
          {
            "node": "Check Validation Result",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Validation Result": {
      "main": [
        [
          {
            "node": "Process Valid Email",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Process Invalid Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Weekly Schedule (Friday 5PM)": {
      "main": [
        [
          {
            "node": "Read Email List",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}