AutomationFlowsWeb Scraping › Clone Nested Folder Structures in Google Drive with Custom Naming

Clone Nested Folder Structures in Google Drive with Custom Naming

ByJagged Frontiersman @jagged-frontiersman on n8n.io

Takes any Google Drive folder structure and creates an exact copy with custom naming Perfect for agencies, consultants, or anyone who needs identical folder structures for multiple projects Creates folder hierarchy only (no files are copied) Handles nested folders automatically…

Event trigger★★★★☆ complexity11 nodesHTTP Request
Web Scraping Trigger: Event Nodes: 11 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #4349 — we link there as the canonical source.

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
  },
  "name": "Google Drive Folder Structure Cloner - Visual",
  "tags": [
    "google-drive",
    "folder-management",
    "automation"
  ],
  "nodes": [
    {
      "id": "trigger-node",
      "name": "When clicking \"Test workflow\"",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        80,
        300
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "config-node",
      "name": "\u2699\ufe0f CONFIG - Edit the 3 variables above",
      "type": "n8n-nodes-base.code",
      "position": [
        280,
        300
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "get-folders",
      "name": "\ud83d\udcc1 Get All Folders",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        480,
        300
      ],
      "parameters": {},
      "typeVersion": 4.1
    },
    {
      "id": "iterative-processor",
      "name": "\ud83d\udd04 Process Folders",
      "type": "n8n-nodes-base.code",
      "position": [
        680,
        300
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "should-create",
      "name": "\ud83d\udd00 Should Create?",
      "type": "n8n-nodes-base.if",
      "position": [
        880,
        300
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "create-folder",
      "name": "\u2728 Create Folder",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1080,
        200
      ],
      "parameters": {},
      "typeVersion": 4.1
    },
    {
      "id": "final-report",
      "name": "\ud83d\udcca Final Report",
      "type": "n8n-nodes-base.code",
      "position": [
        1280,
        200
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "readme-note",
      "name": "README",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        80,
        80
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "config-section",
      "name": "Config Help",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        200,
        420
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "processing-section",
      "name": "Processing Info",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        600,
        420
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "troubleshooting-note",
      "name": "Troubleshooting",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1200,
        420
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    }
  ],
  "settings": {
    "executionOrder": "v1"
  },
  "updatedAt": "2025-05-23T12:00:00.000Z",
  "versionId": "12",
  "staticData": null,
  "connections": {
    "\u2728 Create Folder": {
      "main": [
        [
          {
            "node": "\ud83d\udcca Final Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udd00 Should Create?": {
      "main": [
        [
          {
            "node": "\u2728 Create Folder",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udcc1 Get All Folders": {
      "main": [
        [
          {
            "node": "\ud83d\udd04 Process Folders",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ud83d\udd04 Process Folders": {
      "main": [
        [
          {
            "node": "\ud83d\udd00 Should Create?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \"Test workflow\"": {
      "main": [
        [
          {
            "node": "\u2699\ufe0f CONFIG - Edit the 3 variables above",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\u2699\ufe0f CONFIG - Edit the 3 variables above": {
      "main": [
        [
          {
            "node": "\ud83d\udcc1 Get All Folders",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "triggerCount": 0
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Takes any Google Drive folder structure and creates an exact copy with custom naming Perfect for agencies, consultants, or anyone who needs identical folder structures for multiple projects Creates folder hierarchy only (no files are copied) Handles nested folders automatically…

Source: https://n8n.io/workflows/4349/ — original creator credit. Request a take-down →

More Web Scraping workflows → · Browse all categories →

Related workflows

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

Web Scraping

This workflow listens for an “Approved” label on a Trello card, reads the AI draft bookkeeping JSON from card comments, and posts the corresponding transaction to Xero. It then adds a Xero deep link b

Trello Trigger, HTTP Request
Web Scraping

02_LLM_Pipeline v1.0. Uses executeWorkflowTrigger, httpRequest, seaTable. Event-driven trigger; 65 nodes.

Execute Workflow Trigger, HTTP Request, Sea Table
Web Scraping

This workflow allows you to import any workflow from a file or another n8n instance and map the credentials easily. A multi-form setup guides you through the entire process At the beginning you have t

Execute Command, Read Write File, HTTP Request +3
Web Scraping

[n8n] Advanced URL Parsing and Shortening Workflow - Switchy.io Integration. Uses splitInBatches, stickyNote, httpRequest, html. Event-driven trigger; 56 nodes.

HTTP Request, GitHub, Stop And Error +1
Web Scraping

[](https://youtu.be/c7yCZhmMjtI)

HTTP Request, GitHub, Stop And Error +1