AutomationFlowsData & Sheets › Export Cloudflare Domains with Dns Records and Settings to Google Sheets

Export Cloudflare Domains with Dns Records and Settings to Google Sheets

ByKPendic @kres on n8n.io

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…

Event trigger★★★★☆ complexity22 nodesHTTP RequestGoogle Sheets
Data & Sheets Trigger: Event Nodes: 22 Complexity: ★★★★☆ Added:

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 →

Download .json
{
  "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![Kpendic](https://gravatar.com/avatar/8e343ec0d9b4fb672f921e822a8561be?size=188)\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.

Pro

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 →

More Data & Sheets workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Data & Sheets

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.

HTTP Request, Gmail, Twilio +3
Data & Sheets

PCN. Uses googleSheets, httpRequest, @n-octo-n/n8n-nodes-json-database, itemLists. Event-driven trigger; 60 nodes.

Google Sheets, HTTP Request, @N Octo N/N8N Nodes Json Database +3
Data & Sheets

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

Google Sheets, Google Drive, HTTP Request
Data & Sheets

🔥 March Sale – n8n Community Members Get ideoGener8r for Just $27! (Reg. $47) Use Coupon Code: (Valid until 3/31/2025 for n8n community members)

HTTP Request, Google Drive, Google Sheets
Data & Sheets

📄 Documentation: Notion Guide

Google Sheets, Google Drive, HTTP Request +2