{ "id": "XYz1JYUXFHFVdlLj", "meta": { "instanceId": "workflow-bcb31cc1", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:54.360747", "updatedAt": "2025-09-29T07:07:54.360763", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production" }, "name": "Restore your workflows from GitHub", "tags": [ "automation", "n8n", "production-ready", "excellent", "optimized" ], "nodes": [ { "id": "cab3a8b6-4106-4449-8b12-d57cc93477ab", "name": "When clicking ‘Test workflow’", "type": "n8n-nodes-base.manualTrigger", "position": [ -1040, -160 ], "parameters": {}, "typeVersion": 1, "notes": "This manualTrigger node performs automated tasks as part of the workflow." }, { "id": "733ce565-bd6e-4297-8166-52f79d68a0f2", "name": "Globals", "type": "n8n-nodes-base.set", "position": [ -840, -160 ], "parameters": { "options": {}, "assignments": { "assignments": [ { "id": "6cf546c5-5737-4dbd-851b-17d68e0a3780", "name": "repo.owner", "type": "string", "value": "BeyondspaceStudio" }, { "id": "452efa28-2dc6-4ea3-a7a2-c35d100d0382", "name": "repo.name", "type": "string", "value": "n8n-backup" }, { "id": "81c4dc54-86bf-4432-a23f-22c7ea831e74", "name": "repo.path", "type": "string", "value": "workflows" } ] } }, "typeVersion": 3.4, "notes": "This set node performs automated tasks as part of the workflow." }, { "id": "e20b94c3-f33a-48ff-b1df-aa8acc8f6f44", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [ -1460, -280 ], "parameters": { "width": 320, "height": 420, "content": "## Restore from GitHub \nThis workflow will restore all instance workflows from GitHub backups.\n\n\n### Setup\nOpen `Globals` node and update the values below 👇\n\n- **repo.owner:** your Github username\n- **repo.name:** the name of your repository\n- **repo.path:** the folder to use within the repository.\n\n\nIf your username was `john-doe` and your repository was called `n8n-backups` and you wanted the workflows to go into a `workflows` folder you would set:\n\n- repo.owner - john-doe\n- repo.name - n8n-backups\n- repo.path - workflows/\n" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "34db1b48-6629-4760-b264-e782949d34bc", "name": "Sticky Note3", "type": "n8n-nodes-base.stickyNote", "position": [ -900, -280 ], "parameters": { "color": 4, "width": 150, "height": 80, "content": "## Edit this node 👇" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "088b7e98-001c-4a24-b8c1-44c82285b894", "name": "Get all files in given path", "type": "n8n-nodes-base.httpRequest", "position": [ -1000, 160 ], "parameters": { "url": "{{ $env.BASE_URL }}", "options": {}, "authentication": "{{ $credentials.predefinedCredentialType }}", "nodeCredentialType": "YOUR_CREDENTIAL_HERE" }, "credentials": { "githubApi": { "id": "3FYHiPFtycAFT8V0", "name": "GitHub account" } }, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "9a148510-3e72-4cb1-a194-a7c90122be7e", "name": "Split the result", "type": "n8n-nodes-base.splitOut", "position": [ -760, 160 ], "parameters": { "options": {}, "fieldToSplitOut": "path" }, "typeVersion": 1, "notes": "This splitOut node performs automated tasks as part of the workflow." }, { "id": "cbcfa116-056b-4493-8f74-0c9f3744a5d1", "name": "Get file content from GitHub", "type": "n8n-nodes-base.github", "position": [ -540, 160 ], "parameters": { "owner": { "__rl": true, "mode": "name", "value": "BeyondspaceStudio" }, "filePath": "={{ $('Get all files in given path').item.json.path }}", "resource": "file", "operation": "get", "repository": { "__rl": true, "mode": "name", "value": "n8n-backup" }, "additionalParameters": {} }, "credentials": { "githubApi": { "id": "3FYHiPFtycAFT8V0", "name": "GitHub account" } }, "typeVersion": 1, "alwaysOutputData": true, "notes": "This github node performs automated tasks as part of the workflow." }, { "id": "78e7e4cd-dbde-4767-9b26-503063ea35fc", "name": "Convert files to JSON", "type": "n8n-nodes-base.extractFromFile", "position": [ -320, 160 ], "parameters": { "options": {}, "operation": "fromJson" }, "typeVersion": 1, "notes": "This extractFromFile node performs automated tasks as part of the workflow." }, { "id": "ee851935-f8fd-4999-a4c3-50e0c28b915a", "name": "Restore n8n Workflows", "type": "n8n-nodes-base.n8n", "position": [ -100, 160 ], "parameters": { "operation": "create", "requestOptions": {}, "workflowObject": "={{ JSON.stringify($json.data) }}" }, "credentials": { "n8nApi": { "id": "dzYjDgtEXtpRPKhe", "name": "n8n account" } }, "typeVersion": 1, "notes": "This n8n node performs automated tasks as part of the workflow." } ], "active": false, "pinData": {}, "settings": { "executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000 }, "versionId": "f8d4cd76-d31e-4842-9ec3-64ab3253728c", "connections": { "088b7e98-001c-4a24-b8c1-44c82285b894": { "main": [ [ { "node": "error-handler-088b7e98-001c-4a24-b8c1-44c82285b894", "type": "main", "index": 0 } ], [ { "node": "error-handler-088b7e98-001c-4a24-b8c1-44c82285b894-130c9c69", "type": "main", "index": 0 } ], [ { "node": "error-handler-088b7e98-001c-4a24-b8c1-44c82285b894-44328a63", "type": "main", "index": 0 } ], [ { "node": "error-handler-088b7e98-001c-4a24-b8c1-44c82285b894-8189e362", "type": "main", "index": 0 } ], [ { "node": "error-handler-088b7e98-001c-4a24-b8c1-44c82285b894-e89d5eb2", "type": "main", "index": 0 } ], [ { "node": "error-handler-088b7e98-001c-4a24-b8c1-44c82285b894-fe02b0c2", "type": "main", "index": 0 } ], [ { "node": "error-handler-088b7e98-001c-4a24-b8c1-44c82285b894-4c7742fa", "type": "main", "index": 0 } ], [ { "node": "error-handler-088b7e98-001c-4a24-b8c1-44c82285b894-914ad71c", "type": "main", "index": 0 } ], [ { "node": "error-handler-088b7e98-001c-4a24-b8c1-44c82285b894-1e2b8dcf", "type": "main", "index": 0 } ] ] }, "78e7e4cd-dbde-4767-9b26-503063ea35fc": { "main": [ [ { "node": "error-handler-78e7e4cd-dbde-4767-9b26-503063ea35fc-638de55b", "type": "main", "index": 0 } ] ] } }, "description": "Automated workflow: Restore your workflows from GitHub. This workflow integrates 9 different services: stickyNote, httpRequest, splitOut, n8n, set. It contains 12 nodes and follows best practices for error handling and security.", "notes": "Excellent quality workflow: Restore your workflows from GitHub. This workflow has been optimized for production use with comprehensive error handling, security, and documentation." }