Templates / Back up and sync workflow JSONs with GitHub using semantic SHAs

Back up and sync workflow JSONs with GitHub using semantic SHAs

Ready for 3.0

by Alvaro Pérez ✓ · 34 views · created 2026-07-21 · DevOps

Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.

What this workflow does

This workflow has 40 nodes and runs manually, when you click “Execute workflow”. Along the way it connects GitHub. It also calls api.github.com over HTTP.

How it runs

Trigger: Manually, when you click “Execute workflow”.

  1. config (Edit Fields (Set)): sets or maps fields
  2. get_workflows (n8n): uses n8n
  3. get_not_archived (Filter): keeps only the items that match a condition
  4. exists_workflows (If): checks a condition and branches into true / false
  5. get_file_sha (Code): runs custom JavaScript code
  6. verify_repo (HTTP Request): calls an HTTP API
  7. Switch: routes items into 5 branches
  8. github_connectivity_error (Stop and Error): stops the run with an error
  9. list_files (GitHub): list (file)
  10. create_repo (HTTP Request): calls api.github.com (POST)

…plus 23 more steps. See the full node list below.

Services it uses

GitHub

HTTP calls to: api.github.com

Before you upgrade to n8n 3.0

Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.

Nodes used (13)

From the author

Quick overview This workflow backs up all non-archived n8n workflows to a GitHub repository as JSON files, using a deterministic semantic SHA in each filename to detect new, updated, renamed, and deleted workflows and keep the repository in sync. How it works…

Excerpt from Alvaro Pérez's description on n8n.io.

View the original on n8n.io → Check your own copy

Get the weekly “what broke” email

New templates, newly broken ones, and n8n release changes. One short email a week.

Form not loading? Subscribe here.