Workflow: Splitout GitHub Automation

Workflow Details

Download Workflow
{
    "id": "7zRCNv7B5WFRg7ux",
    "meta": {
        "instanceId": "e634e668fe1fc93a75c4f2a7fc0dad807ca318b79654157eadb9578496acbc76"
    },
    "name": "Restore your credentials from GitHub",
    "tags": [
        {
            "id": "2RWIfLUVCa0bnmGX",
            "name": "N8n",
            "createdAt": "2025-03-06T09:58:39.214Z",
            "updatedAt": "2025-03-06T09:58:39.214Z"
        }
    ],
    "nodes": [
        {
            "id": "f8aff38c-3e40-4820-b8f5-50e3e1f878c8",
            "name": "When clicking \u2018Test workflow\u2019",
            "type": "n8n-nodes-base.manualTrigger",
            "position": [
                -640,
                -120
            ],
            "parameters": [],
            "typeVersion": 1
        },
        {
            "id": "f838e0c6-36aa-4c0b-bdd2-ef096ffd3d1d",
            "name": "Sticky Note1",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                -1020,
                -140
            ],
            "parameters": {
                "width": 320,
                "height": 420,
                "content": "## Restore from GitHub \nThis workflow will restore all instance credentials from GitHub backups.\n\n\n### Setup\nOpen `Globals` node and update the values below \ud83d\udc47\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 credentials to go into a `credentials` folder you would set:\n\n- repo.owner - john-doe\n- repo.name - n8n-backups\n- repo.path - credentials\/\n"
            },
            "typeVersion": 1
        },
        {
            "id": "8f59b7b0-ea9d-4209-8c6b-d48fe9d8cf7b",
            "name": "Globals",
            "type": "n8n-nodes-base.set",
            "position": [
                -380,
                -120
            ],
            "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": "credentials"
                        }
                    ]
                }
            },
            "typeVersion": 3.399999999999999911182158029987476766109466552734375
        },
        {
            "id": "d72bf1a6-f3a0-4dc0-afc0-e39c7e8b16f3",
            "name": "Sticky Note4",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                -440,
                -240
            ],
            "parameters": {
                "color": 4,
                "width": 150,
                "height": 80,
                "content": "## Edit this node \ud83d\udc47"
            },
            "typeVersion": 1
        },
        {
            "id": "4eeb0ed5-7e90-4f09-8296-04c0349de49b",
            "name": "Sticky Note",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                100,
                20
            ],
            "parameters": {
                "color": 4,
                "content": "## Skip credential\n- The empty json files\n- The n8n account api\n- ...edit this node at will"
            },
            "typeVersion": 1
        },
        {
            "id": "40856ade-3ff7-43ef-8c45-ec5a126a5787",
            "name": "Get all files in given path",
            "type": "n8n-nodes-base.httpRequest",
            "position": [
                -160,
                -120
            ],
            "parameters": {
                "url": "=https:\/\/api.github.com\/repos\/{{ $json.repo.owner }}\/{{ $json.repo.name }}\/contents\/{{ $json.repo.path }}",
                "options": [],
                "authentication": "predefinedCredentialType",
                "nodeCredentialType": "githubApi"
            },
            "credentials": {
                "githubApi": {
                    "id": "3FYHiPFtycAFT8V0",
                    "name": "GitHub account"
                }
            },
            "typeVersion": 4.20000000000000017763568394002504646778106689453125
        },
        {
            "id": "4284aadd-4840-4754-9416-6bb74a1df192",
            "name": "Split the result",
            "type": "n8n-nodes-base.splitOut",
            "position": [
                -600,
                200
            ],
            "parameters": {
                "options": [],
                "fieldToSplitOut": "path"
            },
            "typeVersion": 1
        },
        {
            "id": "48a04e72-5f9e-4dc3-863d-a8bb30f1c8c2",
            "name": "Get file content from GitHub",
            "type": "n8n-nodes-base.github",
            "position": [
                -360,
                200
            ],
            "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
        },
        {
            "id": "507c8514-6acf-4568-83cc-bb07f06e6a96",
            "name": "Convert files to JSON",
            "type": "n8n-nodes-base.extractFromFile",
            "position": [
                -140,
                200
            ],
            "parameters": {
                "options": [],
                "operation": "fromJson"
            },
            "typeVersion": 1
        },
        {
            "id": "084e7306-4c7b-4a9b-8f3e-f844ab340f6a",
            "name": "Restore n8n Credentials",
            "type": "n8n-nodes-base.n8n",
            "position": [
                380,
                200
            ],
            "parameters": {
                "data": "={{ JSON.stringify($json.data.data) }}",
                "name": "={{ $json.data.name }}",
                "resource": "credential",
                "requestOptions": [],
                "credentialTypeName": "={{ $json.data.type }}"
            },
            "credentials": {
                "n8nApi": {
                    "id": "dzYjDgtEXtpRPKhe",
                    "name": "n8n account"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "f8267df1-eb0a-491e-bed4-01480583a535",
            "name": "Check for skipped Credentials",
            "type": "n8n-nodes-base.if",
            "position": [
                100,
                200
            ],
            "parameters": {
                "options": [],
                "conditions": {
                    "options": {
                        "version": 2,
                        "leftValue": "",
                        "caseSensitive": true,
                        "typeValidation": "strict"
                    },
                    "combinator": "or",
                    "conditions": [
                        {
                            "id": "ad031296-4ac0-4087-bc35-7975a2cc25e6",
                            "operator": {
                                "type": "object",
                                "operation": "empty",
                                "singleValue": true
                            },
                            "leftValue": "={{ $json.data }}",
                            "rightValue": ""
                        },
                        {
                            "id": "ca912a57-6a4b-4b9a-be0e-37b69d3e4917",
                            "operator": {
                                "type": "string",
                                "operation": "contains"
                            },
                            "leftValue": "={{ $json.data.name }}",
                            "rightValue": "n8n account"
                        }
                    ]
                }
            },
            "typeVersion": 2.20000000000000017763568394002504646778106689453125
        }
    ],
    "active": false,
    "pinData": [],
    "settings": {
        "executionOrder": "v1"
    },
    "versionId": "8a89a054-697f-4705-89a8-5d3288936206",
    "connections": {
        "Globals": {
            "main": [
                [
                    {
                        "node": "Get all files in given path",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Split the result": {
            "main": [
                [
                    {
                        "node": "Get file content from GitHub",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Convert files to JSON": {
            "main": [
                [
                    {
                        "node": "Check for skipped Credentials",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Get all files in given path": {
            "main": [
                [
                    {
                        "node": "Split the result",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Get file content from GitHub": {
            "main": [
                [
                    {
                        "node": "Convert files to JSON",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Check for skipped Credentials": {
            "main": [
                [],
                [
                    {
                        "node": "Restore n8n Credentials",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "When clicking \u2018Test workflow\u2019": {
            "main": [
                [
                    {
                        "node": "Globals",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}
Back to Workflows

Related Workflows

Splitout Schedule Create Webhook
View
Manual Readbinaryfiles Automate Triggered
View
Syncro to Clockify
View
Manual Code Create Webhook
View
🎦💌Advanced YouTube RSS Feed Buddy for Your Favorite Channels
View
HTTP Executeworkflow Automate Webhook
View
Streamline Your Zoom Meetings with Secure, Automated Stripe Payments
View
Schedule Filter Update Scheduled
View
CoinMarketCap_AI_Data_Analyst_Agent
View
💥🛠️Build a Web Search Chatbot with GPT-4o and MCP Brave Search
View