This workflow corresponds to n8n.io template #10068 — we link there as the canonical source.
This workflow follows the Google Sheets → HTTP Request 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 →
{
"id": "bNmpf7UcG9TAtpqw",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "ELV find gmail email (to share)",
"tags": [],
"nodes": [
{
"id": "32ebbb67-5305-4d9c-ac20-f664066f3443",
"name": "Save results",
"type": "n8n-nodes-base.googleSheets",
"position": [
1296,
-320
],
"parameters": {
"columns": {
"value": {
"Email": "={{ $json.root }}@{{ $json.extension }}",
"Status": "={{ $json.data }}"
},
"schema": [
{
"id": "Email",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1262572795,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/12o34neTjY61XY6NQZx8PqGE9LppS40rJILshkcIZsbE/edit#gid=1262572795",
"cachedResultName": "[OutPut] emails"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1r4DZ4GnqKzivmIhRdv1D35fvS_Mg-VTKgbuZS-7H-HY",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1r4DZ4GnqKzivmIhRdv1D35fvS_Mg-VTKgbuZS-7H-HY/edit?usp=drivesdk",
"cachedResultName": "[EmailListVerify N8N template] gmail finder"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
},
{
"id": "425cb846-c586-4d7a-8fea-262ad542150a",
"name": "Get list of domain",
"type": "n8n-nodes-base.googleSheets",
"position": [
80,
-336
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": 2121105756,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1r4DZ4GnqKzivmIhRdv1D35fvS_Mg-VTKgbuZS-7H-HY/edit#gid=2121105756",
"cachedResultName": "[Input] domain"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1r4DZ4GnqKzivmIhRdv1D35fvS_Mg-VTKgbuZS-7H-HY",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1r4DZ4GnqKzivmIhRdv1D35fvS_Mg-VTKgbuZS-7H-HY/edit?usp=drivesdk",
"cachedResultName": "[EmailListVerify N8N template] gmail finder"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
},
{
"id": "16eadf3f-65d0-4f60-8369-15793764084a",
"name": "Create email candidates",
"type": "n8n-nodes-base.merge",
"position": [
592,
-112
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineAll"
},
"typeVersion": 3.2
},
{
"id": "0b6e1ec5-c0fb-4ee7-9160-5809574b7ea7",
"name": "Use EmailListVerify API to check if email is valid",
"type": "n8n-nodes-base.httpRequest",
"position": [
880,
-64
],
"parameters": {
"url": "https://api.emaillistverify.com/api/verifyEmail",
"options": {},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "email",
"value": "={{ $json.root }}@{{ $json.extension }}"
}
]
}
},
"credentials": {
"httpQueryAuth": {
"name": "<your credential>"
},
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
},
{
"id": "efdeb7f5-8f92-4bf7-b36c-7cf1c8a2de52",
"name": "Combine results",
"type": "n8n-nodes-base.merge",
"position": [
1120,
-320
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineByPosition"
},
"typeVersion": 3.2
},
{
"id": "f290af28-43c5-4294-8431-fbec3cda7600",
"name": "Transform website into domain name",
"type": "n8n-nodes-base.code",
"position": [
304,
-336
],
"parameters": {
"jsCode": "console.log($input.all())\n\n\nconst data = $input.all()\n\nconsole.log(\"start filter\")\nconsole.log(data)\n\nlet merged = []\nfor (let line of data){\n console.log(line)\n try{\n let lineObject = line[\"json\"] \n let url = lineObject[\"domain\"];\n\n let domainEnd= url.indexOf(\".\");\n \n let domain = url.slice(0 , domainEnd);\n\n if(domain.slice(0,4)==\"www.\"){\n domain = domain.slice(4,domain.length)\n }\n \n console.log(domain)\n lineObject[\"root\"] = domain;\n merged.push(lineObject);\n } catch (e) {\n console.log(\"error\")\n console.log(e)\n }\n \n}\n\n\n\nconsole.log(merged);\n\n\nreturn merged;"
},
"typeVersion": 2
},
{
"id": "b9c40ded-d57c-422a-82ed-71bb29720107",
"name": "Get list of email extension",
"type": "n8n-nodes-base.googleSheets",
"position": [
80,
-64
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1r4DZ4GnqKzivmIhRdv1D35fvS_Mg-VTKgbuZS-7H-HY/edit#gid=0",
"cachedResultName": "[Input] partern"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1r4DZ4GnqKzivmIhRdv1D35fvS_Mg-VTKgbuZS-7H-HY",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1r4DZ4GnqKzivmIhRdv1D35fvS_Mg-VTKgbuZS-7H-HY/edit?usp=drivesdk",
"cachedResultName": "[EmailListVerify N8N template] gmail finder"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
},
{
"id": "8a417210-3211-43e4-831c-0a5e5f1f5b87",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-384,
-864
],
"parameters": {
"color": 3,
"height": 592,
"content": "## Read me \nThis workflow is design for link building. When you outreach some small blog it is common for the owner to have an address like DomainName@gmail.com. This workflow will find such emails for you.\n\n\n**1:** Make a copy of the [GoogleSheet template](https://docs.google.com/spreadsheets/d/1r4DZ4GnqKzivmIhRdv1D35fvS_Mg-VTKgbuZS-7H-HY/edit?usp=sharing)\n**2:** In \"[Input] pattern\" sheet write the email extension you want to check. Gmail is a no brainer. Depending on the location you target you might want to include local email provider like laposte.net for France.\n**3:** In \"[Input] domain\" put the domain for which you want to find email addresses. \n**4:** Add your [EmailListVerify API key](https://app.emaillistverify.com/api?utm_source=n8n&utm_medium=referral&utm_campaign=GmaimFinder) to setting to the 3rd step\n**5:** Update google sheet node to point to your copy of the template\n**6:** Trigger the workflow"
},
"typeVersion": 1
},
{
"id": "ae9fdad2-84ed-47cb-b2e0-008525ff7d04",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-16,
-496
],
"parameters": {
"height": 624,
"content": "## Get inputs\nMake a copy of [the template](https://docs.google.com/spreadsheets/d/1r4DZ4GnqKzivmIhRdv1D35fvS_Mg-VTKgbuZS-7H-HY/edit?usp=sharing)\n\nReplace the target spreadsheet with your copy of the template"
},
"typeVersion": 1
},
{
"id": "43d72b68-d4d8-4906-bb13-f5d26938604e",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
544,
-496
],
"parameters": {
"height": 624,
"content": "## Generate email candidates\nCombine each domain and email root to generate email candidates"
},
"typeVersion": 1
},
{
"id": "0f37f6d0-c7a3-452c-b9ec-f3404ee9e659",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
800,
-496
],
"parameters": {
"height": 624,
"content": "## Check if email is valid\nUse EmailListVerify API to check if each email is valid.\nAdd you [EmailListVerify API key](https://app.emaillistverify.com/api?utm_source=n8n&utm_medium=referral&utm_campaign=GmailFinder).\n"
},
"typeVersion": 1
},
{
"id": "0e62351b-7fff-4cf2-9fb9-0486559c4f4e",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1072,
-496
],
"parameters": {
"width": 352,
"height": 624,
"content": "## Save results \nReplace the target spreadsheet with your copy of the template"
},
"typeVersion": 1
},
{
"id": "c4412b0d-cdc4-463a-9923-8fc14e325c1e",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
256,
-496
],
"parameters": {
"height": 624,
"content": "## clean input\nremove http and www from website urls\n"
},
"typeVersion": 1
},
{
"id": "0cd6743d-c02e-4821-abdc-25611c4e2488",
"name": "When clicking \u2018Execute workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-304,
-176
],
"parameters": {},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "f49d0059-7d19-4cb2-b2f2-405f633e3062",
"connections": {
"Combine results": {
"main": [
[
{
"node": "Save results",
"type": "main",
"index": 0
}
]
]
},
"Get list of domain": {
"main": [
[
{
"node": "Transform website into domain name",
"type": "main",
"index": 0
}
]
]
},
"Create email candidates": {
"main": [
[
{
"node": "Use EmailListVerify API to check if email is valid",
"type": "main",
"index": 0
},
{
"node": "Combine results",
"type": "main",
"index": 0
}
]
]
},
"Get list of email extension": {
"main": [
[
{
"node": "Create email candidates",
"type": "main",
"index": 1
}
]
]
},
"Transform website into domain name": {
"main": [
[
{
"node": "Create email candidates",
"type": "main",
"index": 0
}
]
]
},
"When clicking \u2018Execute workflow\u2019": {
"main": [
[
{
"node": "Get list of domain",
"type": "main",
"index": 0
},
{
"node": "Get list of email extension",
"type": "main",
"index": 0
}
]
]
},
"Use EmailListVerify API to check if email is valid": {
"main": [
[
{
"node": "Combine results",
"type": "main",
"index": 1
}
]
]
}
}
}
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.
googleSheetsOAuth2ApihttpHeaderAuthhttpQueryAuth
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This template is designed for link building. When you reach out to some small blogs it is common for the owner to have an address like DomainName@gmail.com.
Source: https://n8n.io/workflows/10068/ — 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.
📘 Description
This n8n workflow is designed for IT security professionals, email administrators, and organizations that want to automatically scan URLs received in emails for potential security threats. It provides
This workflow automatically detects duplicate invoices from Gmail. Incoming PDF attachments are scanned by the easybits AI Extractor, then checked against the Master Finance File in Google Sheets. Dup
How it works
Expected Image Download The expected image’s Dropbox URL is passed directly into an HTTP Request node, which downloads the image as binary data.