{
  "active": false,
  "activeVersion": null,
  "activeVersionId": null,
  "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
          }
        ]
      ]
    }
  },
  "createdAt": "2025-11-17T19:38:15.087Z",
  "id": "0pSmlC05vTR8er3e",
  "isArchived": false,
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Restore Credentials from GitHub",
  "nodes": [
    {
      "parameters": {},
      "id": "c5d32c8c-4c0a-4a0c-85b8-0802c61a1716",
      "name": "When clicking \u2018Test workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -128,
        -32
      ],
      "typeVersion": 1
    },
    {
      "parameters": {
        "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",
        "height": 420,
        "width": 320
      },
      "id": "6ab9de58-80cc-445e-b68a-b477f9acb5af",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -496,
        -64
      ],
      "typeVersion": 1
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "6cf546c5-5737-4dbd-851b-17d68e0a3780",
              "name": "repo.owner",
              "type": "string",
              "value": "LePeanutButter"
            },
            {
              "id": "452efa28-2dc6-4ea3-a7a2-c35d100d0382",
              "name": "repo.name",
              "type": "string",
              "value": "n8n-workflows-aquasense"
            },
            {
              "id": "81c4dc54-86bf-4432-a23f-22c7ea831e74",
              "name": "repo.path",
              "type": "string",
              "value": "credentials"
            }
          ]
        },
        "options": {}
      },
      "id": "26f8dadf-c0fc-4944-b485-d252c901781d",
      "name": "Globals",
      "type": "n8n-nodes-base.set",
      "position": [
        144,
        -32
      ],
      "typeVersion": 3.4
    },
    {
      "parameters": {
        "content": "## Edit this node \ud83d\udc47",
        "height": 80,
        "width": 150,
        "color": 4
      },
      "id": "3f72ef4d-e0fb-4548-af40-3e211dbaf3aa",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        80,
        -160
      ],
      "typeVersion": 1
    },
    {
      "parameters": {
        "content": "## Skip credential\n- The empty json files\n- The n8n account api\n- ...edit this node at will",
        "color": 4
      },
      "id": "6b6a3cb3-2d73-4030-b80c-2596a95a5596",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        624,
        112
      ],
      "typeVersion": 1
    },
    {
      "parameters": {
        "url": "=https://api.github.com/repos/{{ $json.repo.owner }}/{{ $json.repo.name }}/contents/{{ $json.repo.path }}",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "githubApi",
        "options": {}
      },
      "id": "3100c932-b01b-4e9c-8077-7a2d5fd455f1",
      "name": "Get all files in given path",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        368,
        -32
      ],
      "typeVersion": 4.2,
      "credentials": {
        "githubApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "fieldToSplitOut": "path",
        "options": {}
      },
      "id": "bf34764c-d62f-49b8-a8ef-3010fb50ca13",
      "name": "Split the result",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        -80,
        288
      ],
      "typeVersion": 1
    },
    {
      "parameters": {
        "resource": "file",
        "operation": "get",
        "owner": {
          "__rl": true,
          "value": "LePeanutButter",
          "mode": "name"
        },
        "repository": {
          "__rl": true,
          "value": "={{ $('Globals').item.json.repo.name }}",
          "mode": "name"
        },
        "filePath": "={{ $('Get all files in given path').item.json.path }}",
        "additionalParameters": {}
      },
      "id": "b1d00970-8579-4441-9622-c6289041862a",
      "name": "Get file content from GitHub",
      "type": "n8n-nodes-base.github",
      "position": [
        160,
        288
      ],
      "typeVersion": 1,
      "alwaysOutputData": true,
      "credentials": {
        "githubApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "fromJson",
        "options": {}
      },
      "id": "676d63c7-4666-4ed5-862b-0501ad7c60c6",
      "name": "Convert files to JSON",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        384,
        288
      ],
      "typeVersion": 1
    },
    {
      "parameters": {
        "resource": "credential",
        "name": "={{ $json.data.name }}",
        "credentialTypeName": "={{ $json.data.type }}",
        "data": "={{ JSON.stringify($json.data.data) }}",
        "requestOptions": {}
      },
      "id": "14f0247c-97bc-46e0-b51f-444a0af936de",
      "name": "Restore n8n Credentials",
      "type": "n8n-nodes-base.n8n",
      "position": [
        912,
        304
      ],
      "typeVersion": 1,
      "credentials": {
        "n8nApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "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"
            }
          ]
        },
        "options": {}
      },
      "id": "bf8b6e95-5965-4b7d-9e18-eca9b2329637",
      "name": "Check for skipped Credentials",
      "type": "n8n-nodes-base.if",
      "position": [
        624,
        288
      ],
      "typeVersion": 2.2
    }
  ],
  "settings": {
    "executionOrder": "v1"
  },
  "shared": [
    {
      "updatedAt": "2025-11-17T19:38:15.091Z",
      "createdAt": "2025-11-17T19:38:15.091Z",
      "role": "workflow:owner",
      "workflowId": "0pSmlC05vTR8er3e",
      "projectId": "xno20arzPonor2IK"
    }
  ],
  "staticData": null,
  "tags": [
    {
      "updatedAt": "2025-12-06T23:03:02.485Z",
      "createdAt": "2025-12-06T23:03:02.485Z",
      "id": "XhlHyiNabErISAFU",
      "name": "GitHub"
    }
  ],
  "triggerCount": 0,
  "updatedAt": "2025-12-06T23:03:03.000Z",
  "versionId": "60942d7a-6888-43b7-a848-3cf67ec3b6a4"
}