This workflow corresponds to n8n.io template #7850 — we link there as the canonical source.
This workflow follows the Google Drive → Slack 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 →
{
"id": "vnlmgDq8SZlzMcfi",
"meta": {
"templateId": "2886"
},
"name": "Backup all n8n workflows to Google Drive every 4 hours",
"tags": [],
"nodes": [
{
"id": "26b6a8ca-cf9e-4eab-9f2a-841f975a4741",
"name": "On clicking 'execute'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
240,
448
],
"parameters": {},
"typeVersion": 1
},
{
"id": "c42307c1-0d95-4500-85e8-a89234a7e2e7",
"name": "create new folder",
"type": "n8n-nodes-base.googleDrive",
"onError": "continueErrorOutput",
"position": [
464,
560
],
"parameters": {
"name": "=Workflow Backups {{ $now.format('cccc t dd-MM-yyyy') }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "14Mui2em5keVRWaoq3dlrvaX8KNRxw2h2",
"cachedResultUrl": "https://drive.google.com/drive/folders/14Mui2em5keVRWaoq3dlrvaX8KNRxw2h2",
"cachedResultName": "N8N Backups"
},
"resource": "folder"
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 3
},
{
"id": "139487f6-1ef0-4835-bdef-a896dbbdf942",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
240,
640
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours",
"hoursInterval": 4
}
]
}
},
"typeVersion": 1.2
},
{
"id": "724c83f9-9e07-4a87-9f25-d1631a8ef403",
"name": "Completed Notification",
"type": "n8n-nodes-base.slack",
"position": [
1808,
192
],
"parameters": {
"text": "=\u2705 Backup has completed - {{ $('Get many workflows').all().length }} workflows have been processed.",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "id",
"value": "C099YS0V3M2"
},
"otherOptions": {}
},
"credentials": {
"slackApi": {
"name": "<your credential>"
}
},
"executeOnce": true,
"typeVersion": 2.2
},
{
"id": "939d7dc3-2080-4ac7-9609-ef598b018eb2",
"name": "Failed Notification",
"type": "n8n-nodes-base.slack",
"position": [
1808,
752
],
"parameters": {
"text": "=\u274c Error in the N8N Backup Workflow",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "id",
"value": "C099YS0V3M2"
},
"otherOptions": {}
},
"credentials": {
"slackApi": {
"name": "<your credential>"
}
},
"executeOnce": true,
"typeVersion": 2.2
},
{
"id": "53a6e217-05cb-4d9d-93ba-686cfec5e7b7",
"name": "Convert to File1",
"type": "n8n-nodes-base.convertToFile",
"position": [
848,
240
],
"parameters": {
"mode": "each",
"options": {
"fileName": "={{ $json.name + '.json' }}"
},
"operation": "toJson"
},
"typeVersion": 1.1
},
{
"id": "80cdeba1-1d1c-4b20-994b-09d1791cf534",
"name": "Compression",
"type": "n8n-nodes-base.compression",
"position": [
1200,
384
],
"parameters": {
"fileName": "={{ 'workflows_backup_' + new Date().toISOString().slice(0,10) + '.zip' }}",
"operation": "compress",
"outputFormat": "=zip",
"binaryPropertyName": "={{ Object.keys($binary).join(',') }}"
},
"typeVersion": 1.1
},
{
"id": "96167a67-bc95-4414-bf61-52d225ffc43d",
"name": "Code",
"type": "n8n-nodes-base.code",
"position": [
1024,
320
],
"parameters": {
"jsCode": "let binaries = {}, binary_keys = [];\n\nfor (const [index, inputItem] of Object.entries($input.all())) {\n binaries[`data_${index}`] = inputItem.binary.data;\n binary_keys.push(`data_${index}`);\n}\n\nreturn [{\n json: {\n binary_keys: binary_keys.join(',')\n },\n binary: binaries\n}];\n"
},
"typeVersion": 2
},
{
"id": "502b946e-2543-486a-aaa6-f3a11bdfde80",
"name": "Upload file",
"type": "n8n-nodes-base.googleDrive",
"onError": "continueErrorOutput",
"position": [
1568,
464
],
"parameters": {
"name": "={{ 'workflows_backup_' + new Date().toISOString().slice(0,10) + '.zip' }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.folderId }}"
},
"inputDataFieldName": "=data"
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 3
},
{
"id": "e4cfa753-d0c7-452f-9f10-0cd22d57d2ec",
"name": "Get many workflows",
"type": "n8n-nodes-base.n8n",
"position": [
688,
192
],
"parameters": {
"filters": {},
"returnAll": "=1",
"requestOptions": {}
},
"credentials": {
"n8nApi": {
"name": "<your credential>"
}
},
"retryOnFail": true,
"typeVersion": 1,
"alwaysOutputData": true
},
{
"id": "261700eb-b41d-4eb4-883a-87c10b6600e3",
"name": "Set New Folder Id",
"type": "n8n-nodes-base.set",
"position": [
1200,
544
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "d76278da-3d66-4776-893f-d7b7cd8bdd04",
"name": "folderId",
"type": "string",
"value": "={{ $json.id }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "e5ae88c5-5246-409f-acae-087c8de30a08",
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
1392,
464
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineByPosition"
},
"typeVersion": 3.2
}
],
"active": true,
"settings": {},
"versionId": "c7acf018-a4f5-437b-9ae3-0d9298408c3b",
"connections": {
"Code": {
"main": [
[
{
"node": "Compression",
"type": "main",
"index": 0
}
]
]
},
"Merge": {
"main": [
[
{
"node": "Upload file",
"type": "main",
"index": 0
}
]
]
},
"Compression": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Upload file": {
"main": [
[
{
"node": "Completed Notification",
"type": "main",
"index": 0
}
],
[
{
"node": "Failed Notification",
"type": "main",
"index": 0
}
]
]
},
"Convert to File1": {
"main": [
[
{
"node": "Code",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "create new folder",
"type": "main",
"index": 0
}
]
]
},
"Set New Folder Id": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"create new folder": {
"main": [
[
{
"node": "Set New Folder Id",
"type": "main",
"index": 0
},
{
"node": "Get many workflows",
"type": "main",
"index": 0
}
],
[
{
"node": "Failed Notification",
"type": "main",
"index": 0
}
]
]
},
"Get many workflows": {
"main": [
[
{
"node": "Convert to File1",
"type": "main",
"index": 0
}
]
]
},
"On clicking 'execute'": {
"main": [
[
{
"node": "create new folder",
"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.
googleDriveOAuth2Apin8nApislackApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow eliminates traditional loop-based processing entirely, delivering unprecedented performance and reliability even when the number of workflows to be processed are large NO SplitInBatches node - Traditional workflows use loops to process workflows one by one NO…
Source: https://n8n.io/workflows/7850/ — 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.
Type in Slack. Walk away. Get a professional PDF report and a structured Excel fix sheet delivered to Google Drive and posted back in your Slack thread — fully automated, zero manual work.
Secure your n8n automations with this comprehensive template that automates periodic backups to Telegram for instant access while enabling flexible restores from Google Drive links or direct file uplo
This workflow automatically detects duplicate files uploaded to a specific Google Drive folder by generating an MD5 hash of each file and comparing it against a Supabase database. If a duplicate is fo
Upload a document (PDF, PNG, JPEG) via a web form and let easybits Extractor classify it into one of your defined categories. Based on the classification result and a confidence score, the document is
Back Up Your N8N Workflows To Github. Uses manualTrigger, stickyNote, executeWorkflowTrigger, n8n. Event-driven trigger; 26 nodes.