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

AutoQoutesV2_template
View
🤖Content Creator Agent
View
Manual Awssns Automate Triggered
View
🤖🧠 AI Agent Chatbot + LONG TERM Memory + Note Storage + Telegram
View
Google Cal to Zoom meeting
View
Schedule HTTP Create Webhook
View
Connect Airtable Contacts to telli for Automated AI Voice Call Scheduling
View
MCP Client with Brave and Telegram
View
Splitout Code Create Webhook
View