AutomationFlowsMarketing & Ads › Lead Outreach Automation with Google Sheets, Gmail, and N8n Workflow

Lead Outreach Automation with Google Sheets, Gmail, and N8n Workflow

ByMuhammad Qaisar Mehmood @qaisar on n8n.io

Every 60 minutes: Fetch only “New” leads from a Google Sheet Send them a personalized email Update their status to “Contacted” in the same sheet

Cron / scheduled trigger★★★★☆ complexity6 nodesGoogle SheetsGmail
Marketing & Ads Trigger: Cron / scheduled Nodes: 6 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #6083 — we link there as the canonical source.

This workflow follows the Gmail → Google Sheets recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "nodes": [
    {
      "id": "07cbdd82-2df1-41eb-80f3-cfe762ce1d5e",
      "name": "Trigger: Run Every Day \ud83d\udd52",
      "type": "n8n-nodes-base.scheduleTrigger",
      "notes": "\ud83d\udd04 This node triggers the workflow every 60 minutes. You can change it to daily or weekly as needed.",
      "position": [
        360,
        500
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 1.2
    },
    {
      "id": "ae48ba04-d428-4aa3-9212-fb49af92c7ae",
      "name": "Fetch Leads from Google Sheet \ud83d\udcc4",
      "type": "n8n-nodes-base.googleSheets",
      "notes": "\ud83d\udce5 This node reads data from your Google Sheet \u2014 it should contain leads with name, email, and status.",
      "position": [
        600,
        500
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 4.5
    },
    {
      "id": "if-filter-new",
      "name": "Filter Only New Leads \ud83d\udd0d",
      "type": "n8n-nodes-base.if",
      "notes": "\u2705 This checks if the lead's status is 'New'. Only these leads will be emailed. Others are skipped.",
      "position": [
        800,
        500
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 1
    },
    {
      "id": "166afe50-aa7b-4e46-8ebc-bd964d670e34",
      "name": "Batch Process Leads \ud83d\udd01",
      "type": "n8n-nodes-base.splitInBatches",
      "notes": "\u2699\ufe0f This helps process leads one-by-one or in small chunks. Useful for rate-limited services like Gmail.",
      "position": [
        1000,
        500
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 3
    },
    {
      "id": "0284614d-d43e-42a1-85cf-2677e06fc1f4",
      "name": "Send Email to Lead \u2709\ufe0f",
      "type": "n8n-nodes-base.gmail",
      "notes": "\ud83d\udce8 This node sends personalized emails using Gmail. You can use {{Name}}, {{Email}} in your content.",
      "position": [
        1220,
        420
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 2.1
    },
    {
      "id": "62e831c3-c67c-4b0c-a0bd-5e4a8fcb23f6",
      "name": "Mark Lead as Contacted \u2705",
      "type": "n8n-nodes-base.googleSheets",
      "notes": "\ud83d\udcdd This updates the same Google Sheet to mark the lead as 'Contacted' so it won\u2019t be processed again.",
      "position": [
        1420,
        500
      ],
      "parameters": {},
      "notesInFlow": true,
      "typeVersion": 4.5
    }
  ],
  "connections": {
    "Batch Process Leads \ud83d\udd01": {
      "main": [
        [],
        [
          {
            "node": "Send Email to Lead \u2709\ufe0f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Email to Lead \u2709\ufe0f": {
      "main": [
        [
          {
            "node": "Mark Lead as Contacted \u2705",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter Only New Leads \ud83d\udd0d": {
      "main": [
        [
          {
            "node": "Batch Process Leads \ud83d\udd01",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "Mark Lead as Contacted \u2705": {
      "main": [
        [
          {
            "node": "Batch Process Leads \ud83d\udd01",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Trigger: Run Every Day \ud83d\udd52": {
      "main": [
        [
          {
            "node": "Fetch Leads from Google Sheet \ud83d\udcc4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Leads from Google Sheet \ud83d\udcc4": {
      "main": [
        [
          {
            "node": "Filter Only New Leads \ud83d\udd0d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Every 60 minutes: Fetch only “New” leads from a Google Sheet Send them a personalized email Update their status to “Contacted” in the same sheet

Source: https://n8n.io/workflows/6083/ — original creator credit. Request a take-down →

More Marketing & Ads workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Marketing & Ads

This workflow runs on scheduled weekly and monthly triggers to generate unified marketing performance reports. It processes multiple websites by collecting analytics data, paid ads performance, and CR

Gmail, Google Sheets, Google Analytics +3
Marketing & Ads

Watch target companies for C-level and VP hiring signals, then send AI-personalized outreach emails when leadership roles are posted.

Google Sheets, @Predictleads/N8N Nodes Predictleads, Slack +2
Marketing & Ads

Boost your meeting conversion rates with this Automated Meeting Booking Sequence! This workflow automatically follows up with unbooked leads after 24 hours, sends personalized emails with calendar lin

Google Calendar, Gmail, Google Sheets
Marketing & Ads

Monitor customers for competitor tech adoption via PredictLeads and alert CSMs to prevent churn.

Google Sheets, @Predictleads/N8N Nodes Predictleads, Slack +1
Marketing & Ads

Three scheduled triggers fire on weekdays at region-appropriate working hours: EU/UK at 10:00 UTC, North America at 18:00 UTC, and Australia at 01:00 UTC All three feed one shared pipeline, so there i

Google Sheets, Gmail