Quick overview This workflow backs up all workflows from your n8n instance to a GitHub repository every day at 03:00, and also supports an on-demand Telegram /backup command, then sends a Telegram message with the backup result and commit link. How it works Runs daily at 03:00 and also triggers when a Telegram message is received. Checks that the incoming Telegram message starts with /backup before proceeding with the manual run. Fetches all workflows from the n8n instance via the n8n API. Builds a JSON backup file containing the workflows and sets the GitHub file path as backups/YYYY-MM-DD/workflows.json. Checks in GitHub whether the backup file already exists and either updates it or creates it with a dated commit message. Sends a Telegram notification to the triggering chat (or a predefined admin chat for scheduled runs) including the workflow count and GitHub commit URL. Setup Create and select an n8n API credential that can read workflows from your n8n instance. Add a GitHub credential with access to the target repository and set the owner/repo values to your backup repo.
Tags
Related workflows
See all GitHub→Backup workflows to git repository on Github
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 n8
Back Up Your n8n Workflows To Github
This workflow will backup your workflows to Github. It uses the public api to export all of the workflow data using the n8n node. It then loops over the data checks in Github to see if a file exists that uses the workflow name. Once checked it will then update the file on Github if it exists, Create a new file if it doesn't exist and if it's the same it will ignore the file. Config Options repo_owner - Github owner repo_name - Github repository name repo_path - Path within the Github repository >This workflow has been updated to use the n8n node and the code node so requires at least version 0.198.0 of n8n
Backup your workflows to GitHub -- in (subfolders)
Based on Jonathan & Solomon work. > The only addition I've made is a Set node. This node organizes workflows into subfolders within the GitHub repository based on their respective tags. How it works This workflow will backup your workflows to GitHub. It uses the n8n API node to export all workflows. It then loops over the data, checks in GitHub to see if a file exists that uses the credential's ID. Once checked it will: update the file on GitHub if it exists; create a new file if it doesn't exist; ignore if it's the same. Who is this for? People wanting to backup their workflows outside the server for safety purposes or to migrate to another server.