This workflow corresponds to n8n.io template #4850 — 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 →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "9fd3e8a6-291f-4aba-bdc2-9055bd0e6d6b",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
680,
380
],
"parameters": {
"color": 7,
"width": 500,
"height": 240,
"content": "# Requirements\n\nFor storing and processing of data in this flow you will need:\n\n- CloudFlare.com API key/token - for retrieving your data (https://dash.cloudflare.com/:account/api-tokens) (need full access)\n- Google Spreadsheet auth connected\n- Copy [my sheet](https://docs.google.com/spreadsheets/d/1jt6od8FMt-Yo7A_CPGuyfqWzL7HJk6SZmQQFO6kkWBo/edit?usp=sharing) as template to your account and match ID in 'Export' node to your newly created."
},
"typeVersion": 1
},
{
"id": "f4b9ee64-9c52-43bb-a91e-ad03a6286e3c",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
680,
640
],
"parameters": {
"color": 7,
"width": 500,
"height": 600,
"content": "# Author\n\n### Kresimir Pendic\nSenior BE professional, specializing in automation, AI and data analysis. \n\n## Say hi!\nhttps://www.linkedin.com/in/mkdizajn/\n\n\n### Video overview\nhttps://youtu.be/sW85-AxMp6g\n\n## Check out my other templates\n### \ud83d\udc49 https://n8n.io/creators/kres/\n"
},
"typeVersion": 1
},
{
"id": "b47eb629-9241-420c-8490-669d3ee1b037",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
680,
1260
],
"parameters": {
"width": 500,
"height": 140,
"content": "# Need help?\nFor getting help with this workflow, please create a topic on the community forums here:\nhttps://community.n8n.io/c/questions/"
},
"typeVersion": 1
},
{
"id": "00f46c50-55a1-48f8-a519-621973f2a886",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
680,
220
],
"parameters": {
"color": 4,
"width": 2000,
"height": 140,
"content": ""
},
"typeVersion": 1
},
{
"id": "b5f368ea-72ae-4cb0-b09b-e80b9818f779",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
1300,
260
],
"parameters": {
"color": 4,
"width": 740,
"height": 80,
"content": "# CloudFlare dump => Google Sheets"
},
"typeVersion": 1
},
{
"id": "2536518c-90b5-49be-8a22-0b3e542831f1",
"name": "When clicking \u2018Test workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
1280,
600
],
"parameters": {},
"typeVersion": 1
},
{
"id": "e206aea7-d544-43c2-89cd-9808ec164b03",
"name": "Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1200,
380
],
"parameters": {
"color": 5,
"width": 1480,
"height": 920,
"content": "## Fetch TLDs, each dns & settings & Transform data\n\n1. Get your CloudFlare domains and basic info\nhttps://dash.cloudflare.com/:account/api-tokens\n2. Adapt your Transformings to your specific needs\n3. Easily expand to add your custom endpoints - follow CloudFlare api docs:\nhttps://developers.cloudflare.com/api/"
},
"typeVersion": 1
},
{
"id": "fa2397fa-baee-4aca-8ca3-8c0d1d2fada4",
"name": "Wait",
"type": "n8n-nodes-base.wait",
"position": [
1380,
1020
],
"parameters": {
"amount": 0.3
},
"typeVersion": 1.1
},
{
"id": "da801aa4-e3f1-4e56-93e4-928eda0962d5",
"name": "Set Page",
"type": "n8n-nodes-base.set",
"position": [
1520,
600
],
"parameters": {
"values": {
"number": [
{
"name": "page",
"value": "={{$json[\"next_page\"] || 1}}"
}
]
},
"options": {},
"keepOnlySet": true
},
"executeOnce": true,
"typeVersion": 1
},
{
"id": "5ae6a35b-5090-449f-a689-b82a13ced8b3",
"name": "Increment Page",
"type": "n8n-nodes-base.set",
"position": [
1280,
820
],
"parameters": {
"values": {
"number": [
{
"name": "next_page",
"value": "={{ $('Set Page').first().json.page+1 }}"
}
]
},
"options": {}
},
"typeVersion": 1
},
{
"id": "deb40a37-4e32-4dc6-8620-8322ef8014ea",
"name": "More Pages?",
"type": "n8n-nodes-base.if",
"position": [
1840,
1080
],
"parameters": {
"conditions": {
"number": [
{
"value1": "={{ $('Set Page').first().json.page }}",
"value2": "={{ $('Get TLDs').first().json.result_info.total_pages }}"
}
]
}
},
"executeOnce": false,
"typeVersion": 1
},
{
"id": "fcd860d3-021e-4cb1-a347-ffbe1d61a184",
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
1620,
820
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineByPosition",
"numberInputs": 3
},
"executeOnce": false,
"typeVersion": 3.1
},
{
"id": "2348687c-8ce7-440a-9209-7ddc39c046ca",
"name": "Get TLDs",
"type": "n8n-nodes-base.httpRequest",
"position": [
1720,
600
],
"parameters": {
"url": "https://api.cloudflare.com/client/v4/zones",
"options": {},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpCustomAuth",
"queryParameters": {
"parameters": [
{
"name": "page",
"value": "={{ $json.page }}"
}
]
}
},
"credentials": {
"httpCustomAuth": {
"name": "<your credential>"
}
},
"executeOnce": true,
"typeVersion": 4.1
},
{
"id": "542fad7f-13d5-4ddd-8558-23858b62764e",
"name": "Each Host",
"type": "n8n-nodes-base.splitOut",
"position": [
1900,
600
],
"parameters": {
"options": {},
"fieldToSplitOut": "result"
},
"executeOnce": false,
"typeVersion": 1
},
{
"id": "0e2582e1-c058-4b18-a062-7f199beb56ef",
"name": "Get DNS",
"type": "n8n-nodes-base.httpRequest",
"position": [
2160,
760
],
"parameters": {
"url": "=https://api.cloudflare.com/client/v4/zones/{{ $json.id }}/dns_records",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpCustomAuth"
},
"credentials": {
"httpCustomAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.1
},
{
"id": "09d1c96b-dc94-43bd-8847-5ba40747747a",
"name": "Get Settings",
"type": "n8n-nodes-base.httpRequest",
"position": [
2180,
540
],
"parameters": {
"url": "=https://api.cloudflare.com/client/v4/zones/{{ $json.id }}/settings",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpCustomAuth"
},
"credentials": {
"httpCustomAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.1
},
{
"id": "12cf6091-df4b-4f8a-be93-79933778f667",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
2120,
1000
],
"parameters": {
"color": 3,
"width": 540,
"height": 280,
"content": "## 2. Add credentials for Google Sheets & save"
},
"typeVersion": 1
},
{
"id": "57f125f5-319c-4607-b3ed-522ee9d086c2",
"name": "Flatten",
"type": "n8n-nodes-base.code",
"position": [
2240,
1080
],
"parameters": {
"jsCode": "\nfunction flatten(obj, prefix = '', res = {}) {\n for (const key in obj) {\n const value = obj[key];\n const prefixedKey = prefix ? `${prefix}_${key}` : key;\n \n if (typeof value === 'object' && value !== null && !Array.isArray(value)) {\n flatten(value, prefixedKey, res);\n } else {\n if (prefixedKey === \"json_records\") {\n // Format DNS records: type + name + content\n const formattedRecords = value\n .map(record => `${record.type} ${record.name} ${record.content}`)\n .join('\\n');\n res[prefixedKey] = formattedRecords;\n continue;\n }\n \n if (prefixedKey === \"json_resultSETT\") {\n // For each setting in the array, create a new column with setting.id as key\n value.forEach(setting => {\n res[setting.id] = setting.value;\n });\n continue;\n }\n \n res[prefixedKey] = value;\n }\n }\n return res;\n}\n\nreturn $input.all().map(item => ({\n json: flatten(item)\n}));"
},
"typeVersion": 2
},
{
"id": "3c84495b-1c2d-4252-bb9e-6f77d009a660",
"name": "Filter TLD",
"type": "n8n-nodes-base.code",
"position": [
1840,
820
],
"parameters": {
"jsCode": "// Loop over input items and add a new field called 'myNewField' to the JSON of each one\nfor (const item of $input.all()) {\n let validKeys = [ 'id', 'name', 'paused', 'name_servers' ];\n Object.keys(item.json).forEach((key) => validKeys.includes(key) || delete item.json[key]);\n}\n\nreturn $input.all();"
},
"typeVersion": 2
},
{
"id": "d57e934d-d000-401f-938a-f9eeed756ff2",
"name": "Filter DNS",
"type": "n8n-nodes-base.code",
"position": [
2400,
800
],
"parameters": {
"jsCode": "for (const item of $input.all()) {\n // Extract the result array and clean up the DNS records\n const dnsRecords = item.json.result;\n \n // Clean up each DNS record\n for (let dnn of dnsRecords) {\n let validKeys = ['type', 'content', 'name'];\n Object.keys(dnn).forEach((key) => validKeys.includes(key) || delete dnn[key]);\n }\n \n // Replace the item's json with a new object containing the array\n item.json = {\n records: dnsRecords\n };\n}\n\nreturn $input.all();"
},
"typeVersion": 2
},
{
"id": "820d2a47-77c6-47bb-a236-9f91351ad343",
"name": "Filter Settings",
"type": "n8n-nodes-base.code",
"position": [
2440,
560
],
"parameters": {
"jsCode": "// Loop over input items and add a new field called 'myNewField' to the JSON of each one\nfor (const item of $input.all()) {\n item.json.resultSETT = item.json.result;\n delete item.json.result;\n delete item.json.success;\n delete item.json.errors;\n delete item.json.messages;\n}\n\nreturn $input.all();"
},
"typeVersion": 2
},
{
"id": "c5cb1263-7b24-48be-9af4-25eba131db17",
"name": "Export",
"type": "n8n-nodes-base.googleSheets",
"position": [
2460,
1080
],
"parameters": {
"columns": {
"value": {},
"schema": [
{
"id": "json_id",
"type": "string",
"display": true,
"required": false,
"displayName": "json_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "json_domain",
"type": "string",
"display": true,
"required": false,
"displayName": "json_domain",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "json_paused",
"type": "string",
"display": true,
"required": false,
"displayName": "json_paused",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "json_name_servers",
"type": "string",
"display": true,
"required": false,
"displayName": "json_name_servers",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "0rtt",
"type": "string",
"display": true,
"required": false,
"displayName": "0rtt",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "advanced_ddos",
"type": "string",
"display": true,
"required": false,
"displayName": "advanced_ddos",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "always_online",
"type": "string",
"display": true,
"required": false,
"displayName": "always_online",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "always_use_https",
"type": "string",
"display": true,
"required": false,
"displayName": "always_use_https",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "automatic_https_rewrites",
"type": "string",
"display": true,
"required": false,
"displayName": "automatic_https_rewrites",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "brotli",
"type": "string",
"display": true,
"required": false,
"displayName": "brotli",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "browser_cache_ttl",
"type": "string",
"display": true,
"required": false,
"displayName": "browser_cache_ttl",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "browser_check",
"type": "string",
"display": true,
"required": false,
"displayName": "browser_check",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "cache_level",
"type": "string",
"display": true,
"required": false,
"displayName": "cache_level",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "challenge_ttl",
"type": "string",
"display": true,
"required": false,
"displayName": "challenge_ttl",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "ciphers",
"type": "string",
"display": true,
"required": false,
"displayName": "ciphers",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "cname_flattening",
"type": "string",
"display": true,
"required": false,
"displayName": "cname_flattening",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "development_mode",
"type": "string",
"display": true,
"required": false,
"displayName": "development_mode",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "early_hints",
"type": "string",
"display": true,
"required": false,
"displayName": "early_hints",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "edge_cache_ttl",
"type": "string",
"display": true,
"required": false,
"displayName": "edge_cache_ttl",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "email_obfuscation",
"type": "string",
"display": true,
"required": false,
"displayName": "email_obfuscation",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "filter_logs_to_cloudflare",
"type": "string",
"display": true,
"required": false,
"displayName": "filter_logs_to_cloudflare",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "hotlink_protection",
"type": "string",
"display": true,
"required": false,
"displayName": "hotlink_protection",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "http2",
"type": "string",
"display": true,
"required": false,
"displayName": "http2",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "http3",
"type": "string",
"display": true,
"required": false,
"displayName": "http3",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "ip_geolocation",
"type": "string",
"display": true,
"required": false,
"displayName": "ip_geolocation",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "ipv6",
"type": "string",
"display": true,
"required": false,
"displayName": "ipv6",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "log_to_cloudflare",
"type": "string",
"display": true,
"required": false,
"displayName": "log_to_cloudflare",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "max_upload",
"type": "string",
"display": true,
"required": false,
"displayName": "max_upload",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "min_tls_version",
"type": "string",
"display": true,
"required": false,
"displayName": "min_tls_version",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "minify",
"type": "string",
"display": true,
"required": false,
"displayName": "minify",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "mirage",
"type": "string",
"display": true,
"required": false,
"displayName": "mirage",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "mobile_redirect",
"type": "string",
"display": true,
"required": false,
"displayName": "mobile_redirect",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "opportunistic_encryption",
"type": "string",
"display": true,
"required": false,
"displayName": "opportunistic_encryption",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "opportunistic_onion",
"type": "string",
"display": true,
"required": false,
"displayName": "opportunistic_onion",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "orange_to_orange",
"type": "string",
"display": true,
"required": false,
"displayName": "orange_to_orange",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "origin_error_page_pass_thru",
"type": "string",
"display": true,
"required": false,
"displayName": "origin_error_page_pass_thru",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "polish",
"type": "string",
"display": true,
"required": false,
"displayName": "polish",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "prefetch_preload",
"type": "string",
"display": true,
"required": false,
"displayName": "prefetch_preload",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "privacy_pass",
"type": "string",
"display": true,
"required": false,
"displayName": "privacy_pass",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "proxy_read_timeout",
"type": "string",
"display": true,
"required": false,
"displayName": "proxy_read_timeout",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "pseudo_ipv4",
"type": "string",
"display": true,
"required": false,
"displayName": "pseudo_ipv4",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "response_buffering",
"type": "string",
"display": true,
"required": false,
"displayName": "response_buffering",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "rocket_loader",
"type": "string",
"display": true,
"required": false,
"displayName": "rocket_loader",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "security_header",
"type": "string",
"display": true,
"required": false,
"displayName": "security_header",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "security_level",
"type": "string",
"display": true,
"required": false,
"displayName": "security_level",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "server_side_exclude",
"type": "string",
"display": true,
"required": false,
"displayName": "server_side_exclude",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "sort_query_string_for_cache",
"type": "string",
"display": true,
"required": false,
"displayName": "sort_query_string_for_cache",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "ssl",
"type": "string",
"display": true,
"required": false,
"displayName": "ssl",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "tls_1_2_only",
"type": "string",
"display": true,
"required": false,
"displayName": "tls_1_2_only",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "tls_1_3",
"type": "string",
"display": true,
"required": false,
"displayName": "tls_1_3",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "tls_client_auth",
"type": "string",
"display": true,
"required": false,
"displayName": "tls_client_auth",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "true_client_ip_header",
"type": "string",
"display": true,
"required": false,
"displayName": "true_client_ip_header",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "visitor_ip",
"type": "string",
"display": true,
"required": false,
"displayName": "visitor_ip",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "waf",
"type": "string",
"display": true,
"required": false,
"displayName": "waf",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "webp",
"type": "string",
"display": true,
"required": false,
"displayName": "webp",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "websockets",
"type": "string",
"display": true,
"required": false,
"displayName": "websockets",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "ech",
"type": "string",
"display": true,
"required": false,
"displayName": "ech",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "long_lived_grpc",
"type": "string",
"display": true,
"required": false,
"displayName": "long_lived_grpc",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "pq_keyex",
"type": "string",
"display": true,
"required": false,
"displayName": "pq_keyex",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "replace_insecure_js",
"type": "string",
"display": true,
"required": false,
"displayName": "replace_insecure_js",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "json_records",
"type": "string",
"display": true,
"required": false,
"displayName": "json_records",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "pairedItem_item",
"type": "string",
"display": true,
"required": false,
"displayName": "pairedItem_item",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "autoMapInputData",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 974904725,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1jt6od8FMt-Yo7A_CPGuyfqWzL7HJk6SZmQQFO6kkWBo/edit#gid=974904725",
"cachedResultName": "data"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "=1jt6od8FMt-Yo7A_CPGuyfqWzL7HJk6SZmQQFO6kkWBo"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"executeOnce": false,
"typeVersion": 4.5
}
],
"connections": {
"Wait": {
"main": [
[
{
"node": "Increment Page",
"type": "main",
"index": 0
}
]
]
},
"Merge": {
"main": [
[
{
"node": "More Pages?",
"type": "main",
"index": 0
}
]
]
},
"Flatten": {
"main": [
[
{
"node": "Export",
"type": "main",
"index": 0
}
]
]
},
"Get DNS": {
"main": [
[
{
"node": "Filter DNS",
"type": "main",
"index": 0
}
]
]
},
"Get TLDs": {
"main": [
[
{
"node": "Each Host",
"type": "main",
"index": 0
}
]
]
},
"Set Page": {
"main": [
[
{
"node": "Get TLDs",
"type": "main",
"index": 0
}
]
]
},
"Each Host": {
"main": [
[
{
"node": "Get Settings",
"type": "main",
"index": 0
},
{
"node": "Get DNS",
"type": "main",
"index": 0
},
{
"node": "Filter TLD",
"type": "main",
"index": 0
}
]
]
},
"Filter DNS": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 2
}
]
]
},
"Filter TLD": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"More Pages?": {
"main": [
[
{
"node": "Wait",
"type": "main",
"index": 0
},
{
"node": "Flatten",
"type": "main",
"index": 0
}
],
[
{
"node": "Flatten",
"type": "main",
"index": 0
}
]
]
},
"Get Settings": {
"main": [
[
{
"node": "Filter Settings",
"type": "main",
"index": 0
}
]
]
},
"Increment Page": {
"main": [
[
{
"node": "Set Page",
"type": "main",
"index": 0
}
]
]
},
"Filter Settings": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"When clicking \u2018Test workflow\u2019": {
"main": [
[
{
"node": "Set Page",
"type": "main",
"index": 0
}
]
]
}
}
}
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.
googleSheetsOAuth2ApihttpCustomAuth
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow simply exports all your CloudFlare domains to Google Sheet to get high overview of all of your settings. This could help for easy debugging, searching or similar needs. In flow simple pagging nodes are used to iterate over all your domains, because this list could…
Source: https://n8n.io/workflows/4850/ — 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.
This template is ideal for solo store owners, eCommerce marketers, automation beginners, or anyone using Shopify and Gmail who wants to recover lost revenue without coding.
PCN. Uses googleSheets, httpRequest, @n-octo-n/n8n-nodes-json-database, itemLists. Event-driven trigger; 60 nodes.
The workflow automates the process of gathering extensive keyword data for a "Main Keyword." It starts by reading initial parameters from a Google Sheets template, creates a new dedicated Google Sheet
🔥 March Sale – n8n Community Members Get ideoGener8r for Just $27! (Reg. $47) Use Coupon Code: (Valid until 3/31/2025 for n8n community members)
📄 Documentation: Notion Guide