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 →
{
"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.
gmailOAuth2googleSheetsOAuth2Api
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 →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
AICARE Email Blast System. Uses googleDrive, httpRequest, googleSheets, gmail. Event-driven trigger; 39 nodes.
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
Googlesheets Gmail. Uses googleDrive, gmailTrigger, gmail, stickyNote. Event-driven trigger; 19 nodes.
Splitout Code. Uses stickyNote, googleSheets, gmailTrigger, gmail. Event-driven trigger; 18 nodes.
Automatically transform resume submissions into comprehensive candidate profiles with AI-powered parsing, GitHub analysis, and instant team notifications. Monitors Gmail for incoming resume attachment