AutomationFlowsEmail & Gmail › Email Reader

Email Reader

email-reader. Uses gmailTrigger, googleSheets, gmail. Event-driven trigger; 6 nodes.

Event trigger★★★★☆ complexity6 nodesGmail TriggerGoogle SheetsGmail
Email & Gmail Trigger: Event Nodes: 6 Complexity: ★★★★☆ Added:

This workflow follows the Gmail → Gmail Trigger 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
{
  "active": true,
  "connections": {
    "Gmail Trigger": {
      "main": [
        [
          {
            "node": "Get Settings",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Sender Email": {
      "main": [
        [
          {
            "node": "Update row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Settings": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If": {
      "main": [
        [
          {
            "node": "Extract Sender Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update row in sheet": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "createdAt": "2025-10-25T12:37:08.043Z",
  "id": "Lv7FpUM75FgaKu19",
  "isArchived": false,
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "email-reader",
  "nodes": [
    {
      "parameters": {
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "filters": {}
      },
      "type": "n8n-nodes-base.gmailTrigger",
      "typeVersion": 1.3,
      "position": [
        192,
        512
      ],
      "id": "d4d6c0bd-96de-41ea-b003-78813d54bb2e",
      "name": "Gmail Trigger",
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "update",
        "documentId": {
          "__rl": true,
          "value": "1H8SuYExdx9eGFWRwrIpEXKQGCScKghq-ttLeSkSssYk",
          "mode": "list",
          "cachedResultName": "customer-base",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1H8SuYExdx9eGFWRwrIpEXKQGCScKghq-ttLeSkSssYk/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": "gid=0",
          "mode": "list",
          "cachedResultName": "main",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1H8SuYExdx9eGFWRwrIpEXKQGCScKghq-ttLeSkSssYk/edit#gid=0"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "Email Address ": "={{ $json.email }}",
            "Got Return?": "YES"
          },
          "matchingColumns": [
            "Email Address "
          ],
          "schema": [
            {
              "id": "Name",
              "displayName": "Name",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": true
            },
            {
              "id": "Email Address ",
              "displayName": "Email Address ",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "Sender Email",
              "displayName": "Sender Email",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": true
            },
            {
              "id": "Interaction Count",
              "displayName": "Interaction Count",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": true
            },
            {
              "id": "Last Interaction",
              "displayName": "Last Interaction",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": true
            },
            {
              "id": "Last Sent Template ID",
              "displayName": "Last Sent Template ID",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": true
            },
            {
              "id": "Got Return?",
              "displayName": "Got Return?",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "TODAY",
              "displayName": "TODAY",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": true
            },
            {
              "id": "DAYS PASSED",
              "displayName": "DAYS PASSED",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": true
            },
            {
              "id": "row_number",
              "displayName": "row_number",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "number",
              "canBeUsedToMatch": true,
              "readOnly": true,
              "removed": true
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.7,
      "position": [
        1168,
        496
      ],
      "id": "d5ffa00e-6651-4307-83c0-ac1fa45e2b8c",
      "name": "Update row in sheet",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "const input = $('Gmail Trigger').first().json.From;\n\n// E-posta adresini yakalayan regex\nconst match = input.match(/<([^>]+)>/);\n\n// E\u011fer e\u015fle\u015fme varsa e-postay\u0131 al\nconst email = match ? match[1] : \"\";\n\nreturn [{ json: { email } }];"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        944,
        496
      ],
      "id": "7005f7c2-8b29-4061-8256-f234a40f39fa",
      "name": "Extract Sender Email"
    },
    {
      "parameters": {
        "documentId": {
          "__rl": true,
          "value": "1H8SuYExdx9eGFWRwrIpEXKQGCScKghq-ttLeSkSssYk",
          "mode": "list",
          "cachedResultName": "customer-base",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1H8SuYExdx9eGFWRwrIpEXKQGCScKghq-ttLeSkSssYk/edit?usp=drivesdk"
        },
        "sheetName": {
          "__rl": true,
          "value": 17128778,
          "mode": "list",
          "cachedResultName": "settings",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1H8SuYExdx9eGFWRwrIpEXKQGCScKghq-ttLeSkSssYk/edit#gid=17128778"
        },
        "filtersUI": {
          "values": [
            {
              "lookupColumn": "CUSTOM_ROW",
              "lookupValue": "2"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.7,
      "position": [
        432,
        512
      ],
      "id": "cf73a339-8f4e-4bf6-a132-f3c2eb19b038",
      "name": "Get Settings",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 2
          },
          "conditions": [
            {
              "id": "671e397e-2cc1-4b61-9d17-66532d3d620c",
              "leftValue": "={{ $json.is_auto_reading_active }}",
              "rightValue": "YES",
              "operator": {
                "type": "string",
                "operation": "equals",
                "name": "filter.operator.equals"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.2,
      "position": [
        640,
        512
      ],
      "id": "d210ea01-f068-40b1-8fba-cc954fdc7834",
      "name": "If"
    },
    {
      "parameters": {
        "sendTo": "={{ $('Get Settings').item.json.notification_email }}",
        "subject": "Otomasyon ile g\u00f6nderilmi\u015f bir epostaya YANIT geldi!",
        "message": "=Otomasyon ile bir m\u00fc\u015fteriye g\u00f6nderilmi\u015f bir eposta yan\u0131tland\u0131. \u0130lgilenmenizi rica ederiz. M\u00fc\u015fteri epostas\u0131:  {{ $json[\"Email Address \"] }}",
        "options": {}
      },
      "type": "n8n-nodes-base.gmail",
      "typeVersion": 2.1,
      "position": [
        1376,
        496
      ],
      "id": "47e021d5-64ff-4dfa-b7f3-5c6ae7e6632f",
      "name": "Send a message",
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "origin": "n8n",
  "repo": {
    "owner": "octaworksofficial",
    "name": "n8n"
  },
  "settings": {
    "executionOrder": "v1"
  },
  "shared": [
    {
      "createdAt": "2025-10-25T12:37:08.050Z",
      "updatedAt": "2025-10-25T12:37:08.050Z",
      "role": "workflow:owner",
      "workflowId": "Lv7FpUM75FgaKu19",
      "projectId": "1jTilK588wM2KuJy"
    }
  ],
  "staticData": {
    "node:Gmail Trigger": {
      "Gmail Trigger": {
        "lastTimeChecked": 1764234042,
        "possibleDuplicates": [
          "19ac48b54f608c73",
          "19ac489ea192fb00"
        ]
      }
    }
  },
  "tags": [],
  "triggerCount": 1,
  "updatedAt": "2025-11-06T22:28:36.000Z",
  "versionId": "3f3c3a31-bb37-4d56-944a-02908cc1c9d0"
}

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

email-reader. Uses gmailTrigger, googleSheets, gmail. Event-driven trigger; 6 nodes.

Source: https://github.com/octaworksofficial/n8n/blob/20a248338297da94c67a12b0db3035f88d91a82f/Lv7FpUM75FgaKu19.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

AICARE Email Blast System. Uses googleDrive, httpRequest, googleSheets, gmail. Event-driven trigger; 39 nodes.

Google Drive, HTTP Request, Google Sheets +2
Email & Gmail

An automated n8n workflow that monitors your Gmail inbox, classifies job application emails using a local AI (Ollama), and logs every application — with company, role, and status — to a Google Sheet i

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

Googlesheets Gmail. Uses googleDrive, gmailTrigger, gmail, stickyNote. Event-driven trigger; 19 nodes.

Google Drive, Gmail Trigger, Gmail +1
Email & Gmail

Splitout Code. Uses stickyNote, googleSheets, gmailTrigger, gmail. Event-driven trigger; 18 nodes.

Google Sheets, Gmail Trigger, Gmail
Email & Gmail

Automatically transform resume submissions into comprehensive candidate profiles with AI-powered parsing, GitHub analysis, and instant team notifications. Monitors Gmail for incoming resume attachment

Gmail, Gmail Trigger, @Vlm Run/N8N Nodes Vlmrun +3