Create Folders in Google Drive

The DriveApp service lets you create folders in Google Drive programmatically. This is useful for automatically scaffolding a directory structure — for example, creating a folder per region or a new folder for every monthly sales cycle.

Creating a Root Folder

Use DriveApp.createFolder() to create a folder at the root of your Drive:

function createSalesRootFolder() { var folder = DriveApp.createFolder("Acme Corp - Sales Reports 2024"); Logger.log("Created: " + folder.getName() + " | ID: " + folder.getId()); }

Creating a Subfolder Inside an Existing Folder

Get a parent folder by its ID, then call createFolder() on it:

function createMonthlySubfolders() { var parentFolder = DriveApp.getFolderById("YOUR_FOLDER_ID"); var months = ["January", "February", "March", "April", "May", "June"]; months.forEach(function(month) { var subfolder = parentFolder.createFolder(month + " 2024"); Logger.log("Created subfolder: " + subfolder.getName()); }); }

Creating Region Folders from Sheet Data

This example reads unique region names from the Sales Tracker sheet and creates a Drive folder for each — skipping any that already exist:

function createRegionFolders() { var sheet = SpreadsheetApp .getActiveSpreadsheet() .getSheetByName("Sales Tracker"); // Column E = Region; skip header row var data = sheet.getRange(2, 5, sheet.getLastRow() - 1, 1).getValues(); var regions = [...new Set(data.flat().filter(String))]; var rootFolder = DriveApp.getFolderById("YOUR_ROOT_FOLDER_ID"); regions.forEach(function(region) { var existing = rootFolder.getFoldersByName(region + " - Sales Reports"); if (!existing.hasNext()) { var newFolder = rootFolder.createFolder(region + " - Sales Reports"); Logger.log("Created: " + newFolder.getName()); } else { Logger.log("Already exists: " + region); } }); }

With the sample data, this creates four folders: North - Sales Reports, East - Sales Reports, South - Sales Reports, and West - Sales Reports.

Getting a Folder's URL

Once a folder is created, you can retrieve its shareable URL:

function logFolderUrl() { var folder = DriveApp.createFolder("Q1 2024 - Sales Exports"); Logger.log("Folder URL: " + folder.getUrl()); }

This URL can then be shared with team members or stored back in your spreadsheet for quick access.