{
  "name": "Automated workflow backups to GitHub with PR creation & Slack notifications",
  "nodes": [
    {
      "id": "3abc6972-965d-4333-b1d2-d7097ea077da",
      "name": "n8n",
      "type": "n8n-nodes-base.n8n",
      "position": [
        660,
        -300
      ]
    },
    {
      "id": "9c386d7c-dc48-4f92-bc2f-5c5772e931f8",
      "name": "Find new workflows",
      "type": "n8n-nodes-base.merge",
      "position": [
        880,
        -250
      ]
    },
    {
      "id": "a82b074d-b12f-49f9-a69b-492847bb3dfd",
      "name": "Find updated workflows",
      "type": "n8n-nodes-base.merge",
      "position": [
        880,
        0
      ]
    },
    {
      "id": "8d6181f4-873b-46ad-aa88-a6005f78e618",
      "name": "Wait for GitHub create/edit file finished",
      "type": "n8n-nodes-base.merge",
      "position": [
        2680,
        -140
      ]
    },
    {
      "id": "aefdbaf3-bbb9-426b-bc01-1dfd1f094a87",
      "name": "Create new PR via GitHub API",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2900,
        -140
      ]
    },
    {
      "id": "bdcd0ef4-ebcd-43fc-b320-ee62bb3b9c71",
      "name": "Define Local Variables",
      "type": "n8n-nodes-base.set",
      "position": [
        40,
        -160
      ]
    },
    {
      "id": "b74a8a0c-5205-47fd-a9c9-60d8299a4254",
      "name": "Get all workflows on GitHub",
      "type": "n8n-nodes-base.github",
      "position": [
        220,
        50
      ]
    },
    {
      "id": "fd86d8e4-948e-4679-a995-87fcad2ceaaf",
      "name": "Get content for each workflow",
      "type": "n8n-nodes-base.github",
      "position": [
        440,
        50
      ]
    },
    {
      "id": "60b86288-22cd-460e-9da2-67de123b1cb1",
      "name": "Base64decode workflow content",
      "type": "n8n-nodes-base.set",
      "position": [
        660,
        50
      ]
    },
    {
      "id": "fc4d4f78-e6b3-418f-8c4f-8ad70eb5a32b",
      "name": "Wait for finished",
      "type": "n8n-nodes-base.merge",
      "position": [
        1100,
        -125
      ]
    },
    {
      "id": "08db5cda-4059-4e96-9732-63bc824daa5d",
      "name": "If there are any changes in workflows",
      "type": "n8n-nodes-base.if",
      "position": [
        1320,
        -125
      ]
    },
    {
      "id": "45369a54-bc73-4287-9037-1286d8a9690d",
      "name": "No Operation, do nothing",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1560,
        160
      ]
    },
    {
      "id": "d8b8a670-3ea1-4d5f-86e9-537f72d964fc",
      "name": "Create new branch via GitHub API",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1760,
        -125
      ]
    },
    {
      "id": "4292f0e4-3012-4165-bcda-e4a1519ca80c",
      "name": "Get latest commit SHA on main  via GitHub API",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1540,
        -125
      ]
    },
    {
      "id": "d0d727d9-f547-440b-8213-9ec5ce23c1fa",
      "name": "Wait until branch created",
      "type": "n8n-nodes-base.merge",
      "position": [
        1980,
        0
      ]
    },
    {
      "id": "89f36b7c-6de1-4069-83bd-8b6aeed4a069",
      "name": "Wait until branch created1",
      "type": "n8n-nodes-base.merge",
      "position": [
        1980,
        -250
      ]
    },
    {
      "id": "f8088f5b-cb9a-40eb-ab8f-de6aeddfdaa6",
      "name": "Filter empty data",
      "type": "n8n-nodes-base.filter",
      "position": [
        2200,
        -250
      ]
    },
    {
      "id": "157955f3-88bf-448d-b424-c71ba32d4fb5",
      "name": "Filter empty data1",
      "type": "n8n-nodes-base.filter",
      "position": [
        2200,
        0
      ]
    },
    {
      "id": "0c3e9957-d4e8-4b30-b368-7698087b37e7",
      "name": "Create new commit to add new workflow",
      "type": "n8n-nodes-base.github",
      "position": [
        2420,
        -250
      ]
    },
    {
      "id": "fd5091b9-7c6e-4408-8656-4dac64f10088",
      "name": "Create new commit to update changed workflow",
      "type": "n8n-nodes-base.github",
      "position": [
        2420,
        0
      ]
    },
    {
      "id": "63a97673-c96e-43ca-b3b2-cf264b2b1381",
      "name": "Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        3120,
        -140
      ]
    },
    {
      "id": "1ea514d9-bf41-4de4-938a-68bde8be660b",
      "name": "Click me to trigger",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -200,
        -160
      ]
    },
    {
      "id": "aa9c2d16-d87b-42a6-b8af-6785fe212eee",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -280,
        -500
      ],
      "parameters": {
        "width": 280,
        "height": 260,
        "content": "## Setup\n1. GitHub credentials: Add your GitHub API credentials in n8n.\n2. Slack integration: Connect your Slack Bot token if you want PR notifications.\n3. Repository details: Update github_owner, rep"
      }
    }
  ],
  "connections": {
    "n8n": {
      "main": [
        [
          {
            "node": "Find new workflows",
            "type": "main",
            "index": 0
          },
          {
            "node": "Find updated workflows",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter empty data": {
      "main": [
        [
          {
            "node": "Create new commit to add new workflow",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait for finished": {
      "main": [
        [
          {
            "node": "If there are any changes in workflows",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter empty data1": {
      "main": [
        [
          {
            "node": "Create new commit to update changed workflow",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Find new workflows": {
      "main": [
        [
          {
            "node": "Wait until branch created1",
            "type": "main",
            "index": 1
          },
          {
            "node": "Wait for finished",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Click me to trigger": {
      "main": [
        [
          {
            "node": "Define Local Variables",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Define Local Variables": {
      "main": [
        [
          {
            "node": "n8n",
            "type": "main",
            "index": 0
          },
          {
            "node": "Get all workflows on GitHub",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Find updated workflows": {
      "main": [
        [
          {
            "node": "Wait for finished",
            "type": "main",
            "index": 1
          },
          {
            "node": "Wait until branch created",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Wait until branch created": {
      "main": [
        [
          {
            "node": "Filter empty data1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait until branch created1": {
      "main": [
        [
          {
            "node": "Filter empty data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get all workflows on GitHub": {
      "main": [
        [
          {
            "node": "Get content for each workflow",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create new PR via GitHub API": {
      "main": [
        [
          {
            "node": "Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Base64decode workflow content": {
      "main": [
        [
          {
            "node": "Find updated workflows",
            "type": "main",
            "index": 1
          },
          {
            "node": "Find new workflows",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Get content for each workflow": {
      "main": [
        [
          {
            "node": "Base64decode workflow content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create new branch via GitHub API": {
      "main": [
        [
          {
            "node": "Wait until branch created1",
            "type": "main",
            "index": 0
          },
          {
            "node": "Wait until branch created",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create new commit to add new workflow": {
      "main": [
        [
          {
            "node": "Wait for GitHub create/edit file finished",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If there are any changes in workflows": {
      "main": [
        [
          {
            "node": "Get latest commit SHA on main  via GitHub API",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait for GitHub create/edit file finished": {
      "main": [
        [
          {
            "node": "Create new PR via GitHub API",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create new commit to update changed workflow": {
      "main": [
        [
          {
            "node": "Wait for GitHub create/edit file finished",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Get latest commit SHA on main  via GitHub API": {
      "main": [
        [
          {
            "node": "Create new branch via GitHub API",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}