This workflow corresponds to n8n.io template #4516 — 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 →
{
"id": "4Uwsl8NFCbGfns09",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "AIAutomationPro Restore All Workflows From Google Drive v1",
"tags": [],
"nodes": [
{
"id": "4499bb17-7055-47c6-a344-c30d27232c4e",
"name": "Google Drive Get All Workflows",
"type": "n8n-nodes-base.googleDrive",
"position": [
300,
0
],
"parameters": {
"filter": {
"folderId": {
"__rl": true,
"mode": "url",
"value": "https://drive.google.com/YOUR_AWS_SECRET_KEY_HERE-SlUJwC"
}
},
"options": {},
"resource": "fileFolder",
"returnAll": true
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 3
},
{
"id": "933b1caa-4551-4620-8b90-0453d221c67b",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
200,
-80
],
"parameters": {
"color": 2,
"width": 307,
"height": 271,
"content": "## Settings"
},
"typeVersion": 1
},
{
"id": "2555a429-908c-4173-9cd2-13d0fb5ecc21",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
620,
-80
],
"parameters": {
"color": 2,
"width": 1127,
"height": 311,
"content": "## Import All Workflows To N8n"
},
"typeVersion": 1
},
{
"id": "e4b2c217-01ae-498f-b85c-531b80c2b929",
"name": "Loop Over Items",
"type": "n8n-nodes-base.splitInBatches",
"position": [
720,
0
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "f444655c-94b0-41eb-9710-962269ef5462",
"name": "Extract from File",
"type": "n8n-nodes-base.extractFromFile",
"position": [
1140,
20
],
"parameters": {
"options": {},
"operation": "fromJson"
},
"typeVersion": 1
},
{
"id": "3a3e83d8-a490-4fef-bd1c-6974b03af355",
"name": "Wait",
"type": "n8n-nodes-base.wait",
"position": [
1540,
20
],
"parameters": {
"amount": 3
},
"typeVersion": 1.1
},
{
"id": "9fd08d3c-a0bd-498a-b8b4-7f7f73c6d517",
"name": "Google Drive Download Workflow",
"type": "n8n-nodes-base.googleDrive",
"position": [
940,
20
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $('Loop Over Items').item.json.id }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 3
},
{
"id": "0c1e644a-736a-4fcb-9756-cde959264f72",
"name": "n8n Create Workflow",
"type": "n8n-nodes-base.n8n",
"position": [
1340,
20
],
"parameters": {
"operation": "create",
"requestOptions": {},
"workflowObject": "={{ $json.data.toJsonString() }}"
},
"credentials": {
"n8nApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "d91b1c60-db35-40cd-9923-f4264fe6fca4",
"name": "Clicking Trigger",
"type": "n8n-nodes-base.manualTrigger",
"position": [
0,
0
],
"parameters": {},
"typeVersion": 1
},
{
"id": "7588d560-33b6-41b1-a76c-eaae74091d6d",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-900,
-220
],
"parameters": {
"width": 660,
"height": 2280,
"content": "## Restore All n8n Workflows from Google Drive Backups\n\nRestoring multiple n8n workflows manually, especially when **migrating your n8n instance to another host or server, can be an incredibly daunting and time-consuming task. Imagine having to individually export and then manually import hundreds of workflows; it's a recipe for errors and significant downtime.** \n\nThis workflow provides a streamlined way to restore all your n8n workflows from backup JSON files stored in a designated Google Drive folder. It's an essential tool for disaster recovery, migrating workflows to a new n8n instance, or recovering from accidental deletions, ideally used in conjunction with a backup solution like our [\"Auto Backup Workflows To Google Drive\" template](https://aiautomationpro.org/products/n8n-auto-backup-workflows-to-google-drive/).\n\nFor more powerful n8n templates, visit our website or contact us at [**AI Automation Pro**](https://aiautomationpro.org/). We help your business build custom AI workflow automation and apps.\n\n### Who is this for?\n\nThis template is intended for:\n\n* **n8n Users and Administrators:** Who have previously backed up their n8n workflows as JSON files to Google Drive. \n* **Anyone needing to recover their n8n setup:** Whether due to system failure, data corruption, accidental deletions, or during an instance migration.\n\n### What problem is this workflow solving? / use case\n\nRestoring multiple n8n workflows manually can be a slow and error-prone process. This workflow solves that by:\n\n* **Automating Bulk Restore:** Quickly re-imports all workflows from a specified Google Drive backup folder, drastically cutting down on manual effort. \n* **Disaster Recovery:** Enables rapid recovery of your automation environment, minimizing downtime after a system failure or data corruption. \n* **Simplified Instance Migration:** Makes the process of transferring your entire workflow suite to a new n8n server significantly more manageable and less error-prone compared to manual imports. \n* **Data Integrity:** Helps restore workflows to a known good state from your backups, ensuring consistency after a recovery or migration.\n\n### What this workflow does\n\n1. **Manual Trigger:** You initiate the workflow manually whenever a restore operation is needed. \n2. **List Backup Files:** The workflow accesses a *specific Google Drive folder* (which you must configure) and lists all the files within it. It assumes these are your n8n workflow JSON backup files. \n3. **Iterate and Process:** It then loops through each file found in the Google Drive folder: \n * **Download Workflow:** Downloads the individual workflow JSON file from Google Drive. \n * **Extract Content:** Parses the downloaded file to extract the JSON data representing the workflow. \n * **Import to n8n:** Uses the n8n API to create a new workflow (or update an existing one if an ID match is found) in your current n8n instance using the extracted JSON data. \n * **Wait Step:** Pauses for 3 seconds after attempting to create each workflow to help manage system load and avoid potential API rate-limiting issues.\n\n## Step-by-step setup\n\n1. **Import Template:** Upload the provided JSON file into your n8n instance. \n2. **Configure Credentials:** \n * **Google Drive Nodes:** You will need to create or select existing Google Drive OAuth2 API credentials for these nodes. \n * **n8n Node:** Configure your n8n API credentials to allow the workflow to create/update workflows in your instance. \n3. **Specify Google Drive Backup Folder (CRITICAL):** \n * Open the **\"Google Drive Get All Workflows\"** node. \n * Locate the **\"Filter\"** section, and within it, the **\"Folder ID\"** parameter. The default value is a placeholder URL. \n * **You MUST change this URL to the direct URL of the Google Drive folder that contains your n8n workflow .json backup files.** This would typically be one of the hourly folders (e.g., `n8n_backup_YYYY-MM-DD_HH`) created by the companion backup workflow. \n4. **Activate Workflow:** Although manually triggered, the workflow needs to be active in your n8n instance to be runnable.\n\n### How to customize this workflow to your needs\n\n* **Selective Restore:** \n * **Option 1 (Manual):** Before running the workflow, manually move only the specific workflow JSON files you want to restore into the source Google Drive folder configured in the \"Google Drive Get All Workflows\" node. \n * **Option 2 (Automated Filter):** Insert an \"Edit Fields\" or \"Filter\" node after the \"Google Drive Get All Workflows\" node to programmatically select which files (e.g., based on filename patterns) should proceed to the \"Loop Over Items\" node for restoration. \n* **Adjust Wait Time:** The \"Wait\" node is set to 3 seconds. You can increase this if you have a very large number of workflows or if your n8n instance requires more time between API calls. Conversely, for smaller batches on powerful instances, you might decrease it. \n* **Error Handling:** For enhanced robustness, consider adding error handling branches (e.g., using \"Error Trigger\" nodes or \"Continue on Fail\" settings within nodes) to log or send notifications if a specific workflow fails to import.\n\n### Important Considerations\n\n* **Workflow Overwriting/Updating:** If a workflow with the same `id` as one in a backup JSON file already exists in your n8n instance, this restore process will typically **update/overwrite** that existing workflow with the version from the backup. If the `id` from the backup file does not correspond to any existing workflow, a new workflow will be created. \n* **Idempotency:** Running this workflow multiple times on the exact same backup folder will cause the workflow to re-process all files. This means workflows will be updated/overwritten again if they exist, or created if they don't. Ensure this is the intended behavior. \n* **Companion Backup Workflow:** This restore workflow is ideally paired with backups created by a process like our \"Auto Backup Workflows To Google Drive\" template, which saves workflows in the expected JSON format. \n* **Test Safely:** It's highly recommended to test this workflow on a non-production or development n8n instance first, especially when restoring a large number of critical workflows or if you're unsure about the overwrite behavior in your specific n8n setup. \n* **Source Folder Content:** Ensure the specified Google Drive folder *only* contains n8n workflow JSON files that you intend to restore. Other file types may cause errors in the \"Extract from File\" node."
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "80dbfa3f-a041-4b59-ac04-ca17221be845",
"connections": {
"Wait": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[],
[
{
"node": "Google Drive Download Workflow",
"type": "main",
"index": 0
}
]
]
},
"Clicking Trigger": {
"main": [
[
{
"node": "Google Drive Get All Workflows",
"type": "main",
"index": 0
}
]
]
},
"Extract from File": {
"main": [
[
{
"node": "n8n Create Workflow",
"type": "main",
"index": 0
}
]
]
},
"n8n Create Workflow": {
"main": [
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
},
"Google Drive Download Workflow": {
"main": [
[
{
"node": "Extract from File",
"type": "main",
"index": 0
}
]
]
},
"Google Drive Get All Workflows": {
"main": [
[
{
"node": "Loop Over Items",
"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.
googleDriveOAuth2Apin8nApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Restoring multiple n8n workflows manually, especially when migrating your n8n instance to another host or server, can be an incredibly daunting and time-consuming task. Imagine having to individually export and then manually import hundreds of workflows; it's a recipe for errors…
Source: https://n8n.io/workflows/4516/ — 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.
Self-Hosted n8n Workflow Backup to Google Drive. Uses googleDrive, n8n. Event-driven trigger; 17 nodes.
This n8n workflow template uses community nodes and is only compatible with the self-hosted version of n8n.
Using n8n a lot?
This workflow automatically handles errors in your n8n workflows by: Detecting when an error occurs and capturing the error details Sending an email notification with the error message and affected no
AI ImgGen. Uses manualTrigger, stickyNote, convertToFile, splitInBatches. Event-driven trigger; 21 nodes.