workflows.fit
Back to n8n workflows
n8n templateFreeBy Wikus Bergh

Bidirectional GitHub workflow sync & version control for n8n workflows

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 repositories. It helps t...

DevelopmentCore NodesN8nSchedule TriggerGithubConvert To File
Loading interactive preview...

Template notes

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 repositories. It helps teams keep their workflow backups up-to-date and ensures consistency between their n8n instance and version control system.

What problem is this workflow solving? Managing workflow versions across n8n and GitHub can become complex when changes happen in both places. This workflow solves that by automatically synchronizing workflows bidirectionally, ensuring that the most recent version is always available in both systems without manual intervention or version conflicts.

What this workflow does:

Runs on a weekly schedule (every Monday) to check for synchronization needs. Fetches all workflows from your n8n instance and compares them with GitHub repository files. Identifies workflows that exist only in n8n and uploads them to GitHub as JSON backups. Identifies workflows that exist only in GitHub and creates them in your n8n instance. For workflows that exist in both places, compares timestamps and syncs the most recent version:

If n8n version is newer → Updates GitHub with the latest workflow If GitHub version is newer → Updates n8n with the latest workflow Automatically handles file naming, encoding/decoding, and commit messages with timestamps.

Setup:

1. Connect GitHub: Configure GitHub API credentials in the GitHub nodes. Note: Use a GitHub Personal Access Token (classic) with repo permissions to read and write workflow files. 2. Connect n8n API: Provide your n8n API credentials in the n8n nodes. [Check this doc](https://docs.n8n.io/api/authentication/) 3. Configure GitHub Details in the Set GitHub Details node:

githubaccountname: Your GitHub username or organization githubreponame: The repository name where workflows should be stored repoworkflowspath: The folder path in your repo (e.g., workflows or n8n-workflows) 4. Adjust Schedule: Modify the Schedule Trigger if you want a different sync frequency (currently set to weekly on Mondays). 5. Test the workflow: Run it manually first to ensure all connections and permissions are working correctly.