Backup workflows to git repository on Github
Go to WorkflowDescription
Source code, I maintain this worflow here.
Usage Guide
This workflow backs up all workflows as JSON files named in the [workflow_name].json format.
Steps
Create GitHub Repository
Skip this step if using an existing repository.
Add GitHub Credentials
In Credentials, add the GitHub credential for the repository owner.
Download and Import Workflow
Import this workflow into n8n.
Set Global Values
In the Globals node, set the following:
repo.owner: GitHub username of the repository owner.
repo.name: Name of the repository for backups.
repo.path: Path to the folder within the repository where workflows will be saved.
Configure GitHub Nodes
Edit each GitHub node in the workflow to use the added credentials.
Workflow Logic
Each workflow run handles files based on their status:
New Workflow
If a workflow is new, create a new file in the repository.
Unchanged Workflow
If the workflow is unchanged, skip to the next item.
Changed Workflow
If a workflow has changes, update the corresponding file in the repository.
Current Limitations / Needs work
Name Change of Workflows
If a workflow is renamed or deleted in n8n, the old file remains in the repository.
Deleted Workflows
Deleted workflows in n8n are not removed from the repository.