AutomationFlowsDevOps › Workflow Repos8r: Github Version Control User Interface for N8n Workflows

Workflow Repos8r: Github Version Control User Interface for N8n Workflows

Original n8n title: 🔄 Workflow Repos8r: Github Version Control User Interface for N8n Workflows

ByRealSimple Solutions @joeperes on n8n.io

🔥 n8n Members Sale – n8n Community Members Get ideoGener8r for Just $10! (Reg. $15) Use Coupon Code: (Valid for n8n community members)

Webhook trigger★★★★★ complexity44 nodesn8nGitHub
DevOps Trigger: Webhook Nodes: 44 Complexity: ★★★★★ Added:

This workflow corresponds to n8n.io template #3014 — we link there as the canonical source.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "19zAOGWLxA9g9epQ",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Dynamic GitHub Workflows",
  "tags": [
    {
      "id": "n7iHVPoDy5TG4oVr",
      "name": "utility",
      "createdAt": "2025-01-14T14:58:44.872Z",
      "updatedAt": "2025-01-14T14:58:44.872Z"
    }
  ],
  "nodes": [
    {
      "id": "077b5015-2b26-44ac-aac7-a868a7ab9647",
      "name": "n8n | get wf1",
      "type": "n8n-nodes-base.n8n",
      "position": [
        2240,
        1440
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "8b048484-3aba-4e7a-99f3-d11cd76a0fda",
      "name": "Respond with UI",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        3820,
        760
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "2fb30621-c1fc-4e2c-bd80-5aa19e95e1fe",
      "name": "HTML-UI",
      "type": "n8n-nodes-base.html",
      "position": [
        3540,
        760
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "eb55c132-b001-463c-bca7-7e7850f3dffb",
      "name": "Webhook-ideogener8r",
      "type": "n8n-nodes-base.webhook",
      "position": [
        1680,
        760
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "9f89ec58-5f63-4358-82a8-8ee5263f09c3",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1620,
        660
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "121f6666-7731-40e0-93a4-4599197305c2",
      "name": "Set Flows",
      "type": "n8n-nodes-base.set",
      "position": [
        2920,
        760
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "eb1a073b-8353-494c-9711-1bc40d1b0ee3",
      "name": "Aggregate",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        3260,
        760
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "6b40c70a-3592-4ecf-9311-99bc39b9ff63",
      "name": "GitHub",
      "type": "n8n-nodes-base.github",
      "position": [
        2640,
        760
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "4b4e4846-cbb6-4ab0-aad4-d7de542568e1",
      "name": "submit-form",
      "type": "n8n-nodes-base.webhook",
      "position": [
        1680,
        1900
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "da4b75e6-1cf0-43d6-8994-9c920669f7a7",
      "name": "Respond to Webhook",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        3820,
        1100
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "87a1185f-9f9f-401d-818c-b4f52e12dd82",
      "name": "GitHub2",
      "type": "n8n-nodes-base.github",
      "position": [
        2140,
        1100
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "3fb50870-df6a-4e0c-b9e8-c1f94e86728f",
      "name": "Set GH Repo and Path3",
      "type": "n8n-nodes-base.set",
      "position": [
        1940,
        1100
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "85ed78b0-d257-4164-b8d1-753ebd1f2e3a",
      "name": "Extract from File",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        2360,
        1100
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "9ebe75fe-3e9c-4a28-8d83-1054d6c703fa",
      "name": "Set Git Workflow Id",
      "type": "n8n-nodes-base.set",
      "position": [
        2640,
        1100
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "a803bd8f-809b-4955-9e89-1586abcbf00c",
      "name": "Get n8n Workflow",
      "type": "n8n-nodes-base.n8n",
      "position": [
        2940,
        1100
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "a2f799b5-5325-4820-969f-be0949e563b8",
      "name": "Set n8n Workflow",
      "type": "n8n-nodes-base.set",
      "position": [
        3260,
        1100
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "755eaa25-fb21-4df5-8cf9-36f4c530e5c9",
      "name": "ComapreNodes",
      "type": "n8n-nodes-base.code",
      "position": [
        3540,
        1100
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "8d77291b-d517-4321-9c72-d0287fab1c52",
      "name": "Respond to Webhook1",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        3820,
        1760
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "c610bcb1-04c7-4b79-9fca-dd7bc5ad68f4",
      "name": "Get-n8n-workflows",
      "type": "n8n-nodes-base.webhook",
      "position": [
        1680,
        1440
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "9b71c203-6c9a-4798-ae9e-c6f1ff14d633",
      "name": "Respond to Webhook2",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        3820,
        1440
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "ebbd2611-27e9-48c4-8224-6e18a59cf5c3",
      "name": "Get-Workflow-Changes",
      "type": "n8n-nodes-base.webhook",
      "position": [
        1680,
        1100
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "f768d245-9f92-4232-9b8f-381cb18e609c",
      "name": "SetWorkflows",
      "type": "n8n-nodes-base.set",
      "position": [
        2680,
        1440
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "3facd854-5d61-468f-8a2a-f230ebade3ac",
      "name": "Edit Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        3400,
        1440
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "39f4fbb3-fc33-4f12-8aee-a85f4ebd3ed7",
      "name": "Aggregate1",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        3020,
        1440
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "0bfa387a-0513-4239-af6f-6cde51d374db",
      "name": "Switch1",
      "type": "n8n-nodes-base.switch",
      "position": [
        2680,
        1900
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "33e97127-b0da-44d9-bcc4-43b033342c6d",
      "name": "Set GH Repo and Path4",
      "type": "n8n-nodes-base.set",
      "position": [
        2220,
        1900
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "921bfed2-52c0-4da5-a208-34d445175fdb",
      "name": "n8n",
      "type": "n8n-nodes-base.n8n",
      "position": [
        3020,
        1760
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "6a92ecd5-aa28-4224-8700-b9cd7ee82904",
      "name": "Commit Workflow Edit",
      "type": "n8n-nodes-base.github",
      "position": [
        3400,
        1760
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "8f88c306-08df-4b8f-9c44-8936562901f3",
      "name": "n8n1",
      "type": "n8n-nodes-base.n8n",
      "position": [
        3020,
        1980
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "f15b37f4-a0c2-4c27-9b22-c586cd3636cd",
      "name": "Commit New File",
      "type": "n8n-nodes-base.github",
      "position": [
        3400,
        1980
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "d766a2fd-b05d-4a9d-a5f9-53009c5e198b",
      "name": "Respond to Webhook3",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        3820,
        1980
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "712e2d80-f659-4d60-95c6-342883fc6eca",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1620,
        1000
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "c569ff75-eb1b-4783-a65d-376069a43c50",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1620,
        1340
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "d6d223d5-67dd-419c-9e88-9762c51ce692",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1620,
        1680
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "b705cb50-b982-4d0e-ac4c-32556128fe53",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1900,
        700
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "ea518e3e-274a-4b1a-b0ed-06408457c77d",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1880,
        1060
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "b8017298-cefd-4126-8959-4515e18fb163",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2160,
        1840
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "22cc7d73-c424-4ea3-bacb-0526222b1f81",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1400,
        740
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "b25d9672-28cb-4c26-ac4a-7d259352de17",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1400,
        1080
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "82b3e0c7-5a7c-4cda-acc8-dc9de63ce9a3",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1400,
        1420
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "d8bbf686-0173-4863-948d-c5cdb1dc1b76",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1380,
        1880
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "aa62e288-3628-40f6-ad38-54768d76dff9",
      "name": "Set Workflow Variables",
      "type": "n8n-nodes-base.set",
      "position": [
        1940,
        760
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "73986aeb-c311-4acf-9427-dcfe65d6bc34",
      "name": "Workflow Vars",
      "type": "n8n-nodes-base.set",
      "position": [
        1960,
        1900
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "a8c438f1-be8c-4461-b83c-ffdc612f2a04",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1620,
        240
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    }
  ],
  "active": true,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "24bded7d-e0f5-4c66-b64f-f6324a5a2d35",
  "connections": {
    "n8n": {
      "main": [
        [
          {
            "node": "Commit Workflow Edit",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "n8n1": {
      "main": [
        [
          {
            "node": "Commit New File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "GitHub": {
      "main": [
        [
          {
            "node": "Set Flows",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "GitHub2": {
      "main": [
        [
          {
            "node": "Extract from File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTML-UI": {
      "main": [
        [
          {
            "node": "Respond with UI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch1": {
      "main": [
        [
          {
            "node": "n8n",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "n8n1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "HTML-UI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Flows": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate1": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        [
          {
            "node": "Respond to Webhook2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "submit-form": {
      "main": [
        [
          {
            "node": "Workflow Vars",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ComapreNodes": {
      "main": [
        [
          {
            "node": "Respond to Webhook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SetWorkflows": {
      "main": [
        [
          {
            "node": "Aggregate1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Workflow Vars": {
      "main": [
        [
          {
            "node": "Set GH Repo and Path4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "n8n | get wf1": {
      "main": [
        [
          {
            "node": "SetWorkflows",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Commit New File": {
      "main": [
        [
          {
            "node": "Respond to Webhook3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get n8n Workflow": {
      "main": [
        [
          {
            "node": "Set n8n Workflow",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set n8n Workflow": {
      "main": [
        [
          {
            "node": "ComapreNodes",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract from File": {
      "main": [
        [
          {
            "node": "Set Git Workflow Id",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get-n8n-workflows": {
      "main": [
        [
          {
            "node": "n8n | get wf1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Git Workflow Id": {
      "main": [
        [
          {
            "node": "Get n8n Workflow",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook-ideogener8r": {
      "main": [
        [
          {
            "node": "Set Workflow Variables",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Commit Workflow Edit": {
      "main": [
        [
          {
            "node": "Respond to Webhook1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get-Workflow-Changes": {
      "main": [
        [
          {
            "node": "Set GH Repo and Path3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set GH Repo and Path3": {
      "main": [
        [
          {
            "node": "GitHub2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set GH Repo and Path4": {
      "main": [
        [
          {
            "node": "Switch1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Workflow Variables": {
      "main": [
        [
          {
            "node": "GitHub",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

🔥 n8n Members Sale – n8n Community Members Get ideoGener8r for Just $10! (Reg. $15) Use Coupon Code: (Valid for n8n community members)

Source: https://n8n.io/workflows/3014/ — original creator credit. Request a take-down →

More DevOps workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

DevOps

This template lets you selectively import n8n workflows from a GitHub repository, even when your repository uses deeply nested folder structures.

Form Trigger, GitHub, n8n +1
DevOps

Code Github. Uses manualTrigger, stickyNote, n8n, httpRequest. Event-driven trigger; 25 nodes.

n8n, HTTP Request, GitHub +1
DevOps

Who is this for? This template is ideal for n8n administrators, automation engineers, and DevOps teams who want to maintain bidirectional synchronization between their n8n workflows and GitHub reposit

n8n, GitHub
DevOps

Code Github. Uses manualTrigger, stickyNote, n8n, httpRequest. Event-driven trigger; 23 nodes.

n8n, HTTP Request, GitHub +1
DevOps

Automatically back up and sync your n8n workflows to GitHub with unlimited version control. This workflow ensures your repository always reflects the latest state of your n8n instance by creating, upd

GitHub, n8n