AutomationFlowsGeneral › Copy Folder Structure Without Files in Google Drive

Copy Folder Structure Without Files in Google Drive

ByBuilds.Cool @buildscool on n8n.io

Google Drive desktop lets you copy full folders—contents and all. But what if you only want to copy the folder names (not the files) from one drive location to another? Maybe you're reusing a folder structure or duplicating a template structure, but without this workflow each…

Event trigger★★★★☆ complexity12 nodesGoogle Drive
General Trigger: Event Nodes: 12 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #4240 — 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
{
  "id": "VroevTqXeech3Gjo",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "\ud83d\udcc1\ud83d\udd01 GDrive CopyFolderStructure (n8n)",
  "tags": [
    {
      "id": "GviYgVwcOV5jZvGf",
      "name": "tool agents",
      "createdAt": "2025-05-19T16:06:57.753Z",
      "updatedAt": "2025-05-19T16:06:57.753Z"
    }
  ],
  "nodes": [
    {
      "id": "0f7a36d4-baed-4001-b730-6444ec832e26",
      "name": "When clicking \u2018Test workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        0,
        0
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "38847cef-8562-44a1-92df-7657988e5e64",
      "name": "Get_Folders_SOURCE",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1060,
        0
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "483f4b3e-1259-4b12-9238-1ba07c29c085",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        140,
        -340
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "07a21712-779e-477d-b7b9-35a861add96e",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        140,
        240
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "205429d5-ad05-494e-bea2-8303f7635d8c",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1280,
        0
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "c19cf4c1-e4b7-4f70-b5de-e7ec0d63863c",
      "name": "EDIT_THIS_NODE",
      "type": "n8n-nodes-base.set",
      "position": [
        220,
        0
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "10f6dc80-e038-42b4-92bb-9ea4b9e6c234",
      "name": "Create Folder",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1880,
        120
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "8d337637-e567-48b4-9741-1c872edcb77f",
      "name": "Check if folder exists",
      "type": "n8n-nodes-base.code",
      "position": [
        1520,
        20
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "68745849-733d-4af6-90b6-9bf075343509",
      "name": "If exists",
      "type": "n8n-nodes-base.if",
      "position": [
        1700,
        20
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "34e50022-50ad-4ac3-aacb-9216fe5853a3",
      "name": "Get_Folders_DESTINATION",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        420,
        0
      ],
      "parameters": {},
      "typeVersion": 3,
      "alwaysOutputData": true
    },
    {
      "id": "cea69a53-6a46-4b51-80c8-65e38df1ef95",
      "name": "Set Destination Names",
      "type": "n8n-nodes-base.set",
      "position": [
        860,
        0
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "abb1ef22-91a3-426a-99ad-485a6f4412e6",
      "name": "Merge_Folder_Context",
      "type": "n8n-nodes-base.merge",
      "position": [
        640,
        0
      ],
      "parameters": {},
      "typeVersion": 3.1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "05291ec7-25fe-4381-9663-8ac48af0b5a4",
  "connections": {
    "If exists": {
      "main": [
        [],
        [
          {
            "node": "Create Folder",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Folder": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "EDIT_THIS_NODE": {
      "main": [
        [
          {
            "node": "Get_Folders_DESTINATION",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge_Folder_Context",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "Check if folder exists",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get_Folders_SOURCE": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge_Folder_Context": {
      "main": [
        [
          {
            "node": "Set Destination Names",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Destination Names": {
      "main": [
        [
          {
            "node": "Get_Folders_SOURCE",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check if folder exists": {
      "main": [
        [
          {
            "node": "If exists",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get_Folders_DESTINATION": {
      "main": [
        [
          {
            "node": "Merge_Folder_Context",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "When clicking \u2018Test workflow\u2019": {
      "main": [
        [
          {
            "node": "EDIT_THIS_NODE",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

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

About this workflow

Google Drive desktop lets you copy full folders—contents and all. But what if you only want to copy the folder names (not the files) from one drive location to another? Maybe you're reusing a folder structure or duplicating a template structure, but without this workflow each…

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

More General workflows → · Browse all categories →

Related workflows

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

General

AI ImgGen. Uses manualTrigger, stickyNote, convertToFile, splitInBatches. Event-driven trigger; 21 nodes.

HTTP Request, Google Sheets, Google Drive
General

Code Filter. Uses stickyNote, googleDrive, noOp, googleDriveTrigger. Event-driven trigger; 20 nodes.

Google Drive, Google Drive Trigger
General

Purpose: Automate the process of finding and managing duplicate files in your Google Drive.

Google Drive, Google Drive Trigger
General

Important: This workflow uses the Autype community node and requires a self-hosted n8n instance.

Google Drive, N8N Nodes Autype
General

Replace Images In Google Docs Documents And Download As Pdf Docx. Uses manualTrigger, stickyNote, httpRequest, googleDrive. Event-driven trigger; 18 nodes.

HTTP Request, Google Drive