AutomationFlowsEmail & Gmail › Manual Google Sheets to Gmail Sender

Manual Google Sheets to Gmail Sender

Original n8n title: Lab1

LAB1. Uses manualTrigger, googleSheets, gmail. Event-driven trigger; 3 nodes.

Event trigger★☆☆☆☆ complexity3 nodesGoogle SheetsGmail
Email & Gmail Trigger: Event Nodes: 3 Complexity: ★☆☆☆☆ Added:

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
{
  "name": "LAB1",
  "nodes": [
    {
      "parameters": {},
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        -496,
        -208
      ],
      "id": "c992bd28-a996-466a-b0f7-0b468ebe359c",
      "name": "When clicking \u2018Execute workflow\u2019"
    },
    {
      "parameters": {
        "documentId": {
          "__rl": true,
          "value": "1FcJV3CPgLRKstIbLQeIV1t0cVOmrkXL3Pugr2SHTOWM",
          "mode": "id"
        },
        "sheetName": {
          "__rl": true,
          "value": "gid=0",
          "mode": "list",
          "cachedResultName": "Feuille 1",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1FcJV3CPgLRKstIbLQeIV1t0cVOmrkXL3Pugr2SHTOWM/edit#gid=0"
        },
        "options": {
          "dataLocationOnSheet": {
            "values": {
              "rangeDefinition": "specifyRangeA1",
              "range": "A1:A"
            }
          },
          "outputFormatting": {
            "values": {
              "general": "UNFORMATTED_VALUE",
              "date": "FORMATTED_STRING"
            }
          }
        }
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.7,
      "position": [
        -272,
        -208
      ],
      "id": "d38dc34d-3b87-4d10-b7b2-4b32d35321e8",
      "name": "Get row(s) in sheet",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "sendTo": "={{$json[\"email\"]}}",
        "subject": "Ma Newsletter",
        "emailType": "text",
        "message": "Bonjour \u00e0 tous,  Ce mois-ci, nous avons plein de surprises pour vous ! \ud83c\udf1f De nouvelles fonctionnalit\u00e9s, des astuces pratiques et des offres exclusives vous attendent. Ne manquez pas nos conseils pour tirer le meilleur parti de nos services et rester \u00e0 jour avec toutes nos nouveaut\u00e9s.  \ud83d\udca1 \u00c0 la une :  Astuce du mois pour optimiser votre exp\u00e9rience  Offre sp\u00e9ciale r\u00e9serv\u00e9e \u00e0 nos abonn\u00e9s  \u00c9v\u00e9nement \u00e0 venir \u00e0 ne pas manquer  Restez connect\u00e9s et profitez pleinement de ce que nous avons pr\u00e9par\u00e9 pour vous. Votre satisfaction est notre priorit\u00e9 !  \u00c0 tr\u00e8s vite, L\u2019\u00e9quipe",
        "options": {}
      },
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        -48,
        -208
      ],
      "id": "f742712c-012c-4a30-9585-9b0180b681a9",
      "name": "Send a message",
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "When clicking \u2018Execute workflow\u2019": {
      "main": [
        [
          {
            "node": "Get row(s) in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get row(s) in sheet": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "86456fbe-636a-475c-a90c-5e0f4d7d79c4",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "KyDvt1Puta6LQr5l",
  "tags": [
    {
      "name": "V1.0",
      "id": "zs0961KwBvkU38GY",
      "updatedAt": "2025-11-12T21:34:10.956Z",
      "createdAt": "2025-11-11T21:34:10.956Z"
    }
  ]
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

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

About this workflow

LAB1. Uses manualTrigger, googleSheets, gmail. Event-driven trigger; 3 nodes.

Source: https://github.com/FRWD789/n8nNewsLettre/blob/037622d9671e103d83d1f537c6296cf87099d1a2/workflows/LAB1.json — original creator credit. Request a take-down →

More Email & Gmail workflows → · Browse all categories →

Related workflows

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

Email & Gmail

This workflow creates a comprehensive error monitoring system for your n8n instance by automatically capturing workflow failures, logging them to Google Sheets, and sending immediate email notificatio

Error Trigger, Google Sheets, Gmail
Email & Gmail

Error Workflow. Uses gmail, googleSheets, httpRequest, errorTrigger. Event-driven trigger; 7 nodes.

Gmail, Google Sheets, HTTP Request +1
Email & Gmail

This n8n workflow provides a robust error handling and notification system for your n8n workflows. When an error occurs, it automatically logs the error details to Google Sheets, sends a notification

Error Trigger, Google Sheets, Telegram +1
Email & Gmail

This workflow automates the repetitive task of invoicing, turning a manual process into an efficient, hands-free operation.

Google Sheets Trigger, HTTP Request, Gmail +1
Email & Gmail

This workflow automates incident reporting and management for operations teams by connecting a public reporting form with real-time logging in Google Sheets and instant alert emails to your support te

Gmail, Form Trigger, Google Sheets