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 →
{
"name": "Google Maps",
"nodes": [
{
"parameters": {
"rule": {
"interval": [
{
"field": "weeks",
"triggerAtDay": [
1
]
}
]
}
},
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1.2,
"position": [
0,
0
],
"id": "a6b11222-4319-452a-a777-74525f0caee3",
"name": "Schedule Trigger"
},
{
"parameters": {
"method": "POST",
"url": "https://api.apify.com/v2/acts/2Mdma1N6Fd0y3QEjR/run-sync-get-dataset-items",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Accept",
"value": "application/json"
},
{
"name": "Authorization",
"value": "Bearer YOUR_API_KEY"
}
]
},
"sendBody": true,
"specifyBody": "json",
"jsonBody": "{\n \"language\": \"en\",\n \"locationQuery\": \"Toronto, Canada\",\n \"maxCrawledPlacesPerSearch\": 5,\n \"searchStringsArray\": [\n \"landscapers\"\n ],\n \"skipClosedPlaces\": false\n}",
"options": {
"redirect": {
"redirect": {}
}
}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
220,
0
],
"id": "fb8bc8de-7ed7-4c7e-950b-427116a6ac0b",
"name": "HTTP Request"
},
{
"parameters": {
"method": "POST",
"url": "https://api.apify.com/v2/acts/9Sk4JJhEma9vBKqrg/run-sync-get-dataset-items",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Accept",
"value": "application/json"
},
{
"name": "Authorization",
"value": "Bearer YOUR_API_KEY"
}
]
},
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={\n \"considerChildFrames\": true,\n \"maxDepth\": 1,\n \"maxRequests\": 100,\n \"maxRequestsPerStartUrl\": 20,\n \"sameDomain\": true,\n \"startUrls\": [\n {\n \"url\": \"{{ $('HTTP Request').item.json.website }}\",\n \"method\": \"GET\"\n }\n ],\n \"useBrowser\": false\n}",
"options": {
"redirect": {
"redirect": {}
}
}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
1000,
0
],
"id": "36209152-9cf0-4d1c-a695-3beae2006845",
"name": "HTTP Request1"
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"id": "2108fb55-8508-4947-92dd-dfc9ac431d1f",
"leftValue": "={{ $json.website }}",
"rightValue": "",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
}
}
],
"combinator": "and"
},
"options": {}
},
"type": "n8n-nodes-base.filter",
"typeVersion": 2.2,
"position": [
500,
0
],
"id": "35f6618d-91da-47db-878c-1abe66d13e91",
"name": "Filter"
},
{
"parameters": {
"options": {}
},
"type": "n8n-nodes-base.splitInBatches",
"typeVersion": 3,
"position": [
720,
0
],
"id": "c9a7e07d-17c5-44c4-9d13-4ee4e89cab37",
"name": "Loop Over Items"
},
{
"parameters": {
"operation": "appendOrUpdate",
"documentId": {
"__rl": true,
"value": "1uzCTNjOj5Vewg9lrwj6VnZ8S6kN2sJwj1zUK7tBdlTk",
"mode": "list",
"cachedResultName": "Untitled spreadsheet",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1uzCTNjOj5Vewg9lrwj6VnZ8S6kN2sJwj1zUK7tBdlTk/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": "gid=0",
"mode": "list",
"cachedResultName": "Sheet1",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1uzCTNjOj5Vewg9lrwj6VnZ8S6kN2sJwj1zUK7tBdlTk/edit#gid=0"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"Business Name": "={{ $json.data[0].originalStartUrl }}",
"City": "={{ $('HTTP Request').item.json.neighborhood }}",
"Niche": "={{ $('HTTP Request').item.json.searchString }}",
"Email": "={{ $json.data[0].emails[0] }}",
"Phone": "={{ $json.data[0].phones[0] }}"
},
"matchingColumns": [
"Business Name"
],
"schema": [
{
"id": "Business Name",
"displayName": "Business Name",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "City",
"displayName": "City",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "Niche",
"displayName": "Niche",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "Email",
"displayName": "Email",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "Phone",
"displayName": "Phone",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
},
{
"id": "ID",
"displayName": "ID",
"required": false,
"defaultMatch": false,
"display": true,
"type": "string",
"canBeUsedToMatch": true
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {}
},
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.5,
"position": [
1460,
0
],
"id": "5d43a96a-0095-46e5-aabb-535712e1825a",
"name": "Google Sheets",
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"aggregate": "aggregateAllItemData",
"options": {}
},
"type": "n8n-nodes-base.aggregate",
"typeVersion": 1,
"position": [
1220,
0
],
"id": "8a7f6fa8-4ce2-4e39-943b-c5547db78087",
"name": "Aggregate"
}
],
"connections": {
"Schedule Trigger": {
"main": [
[
{
"node": "HTTP Request",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request": {
"main": [
[
{
"node": "Filter",
"type": "main",
"index": 0
}
]
]
},
"Filter": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[],
[
{
"node": "HTTP Request1",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request1": {
"main": [
[
{
"node": "Aggregate",
"type": "main",
"index": 0
}
]
]
},
"Google Sheets": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Aggregate": {
"main": [
[
{
"node": "Google Sheets",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "4ee783a9-7963-42e3-9853-bcdbb64d7dbc",
"meta": {
"templateCredsSetupCompleted": true
},
"id": "mrdGwfCgDGbsvMxK",
"tags": []
}
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.
googleSheetsOAuth2Api
About this workflow
Google Maps. Uses scheduleTrigger, httpRequest, splitInBatches, googleSheets. Scheduled trigger; 7 nodes.
Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →