Cover image for automaticke-zalohovani-n8n-workflow
September 2025

Automatické zálohování n8n workflow

Když jsem s n8n začínal, pln nadšení jsem si nakreslil krásné workflow, propracovaného AI agenta s vyladěným promptem, nastavil řádně následné zpracování dat ... abych neuvážlivou akcí o vše přišel. Od té doby u "hotových" workflow řeším pravidelné zálohování.

Workflow

Vzhledem k tomu, že hodně workflow u mě vzniká jako rychlé

PoC
, nevidím momentálně důvod k tomu ukládat všechna workflow.

Pro výběr těch, které chci zálohovat, používám jednoduchý seznam v Code nodu:

return [
  {
    "workflow_id": "WZtd9GXz80AHVTU7",
    "workflow_name": "Backup/Backup"
  },
  {
    "workflow_id": "v9rZuLFj19fcW5hW",
    "workflow_name": "Backup/Save Backup File"
  },
  {
    "workflow_id": "4P8hZqz4A1JDJXmu",
    "workflow_name": "Notebook/New Issue"
  },
  {
    "workflow_id": "R1cqhZijzZBQ3Ofy",
    "workflow_name": "Utilities/GitHub/Create Pull Request"
  },
  {
    "workflow_id": "UKoRTUl3sh7pOun6",
    "workflow_name": "Utilities/GitHub/Create Branch"
  },
  {
    "workflow_id": "Q9Uj3PdEqc46gwHL",
    "workflow_name": "Utilities/GitHub/Add Labels"
  }
];

Hlavní logika pro zálohu jě následně umístěna v odděleném subworkflow, kde pomocí n8n API načtu definici daného workflow a jeho obsah uložím do GitHub repozitáře.

Subworkflow

Jako drobnou úpravu k tomu, aby zálohované workflow bylo i lidsky čitelné a diff měl nějakou vypovídající hodnotu, zformátuji před uložením JSON do čitelné podoby s odsazením.

{{ JSON.stringify($json, null, 2) }}

Na závěr se mi ještě vygeneruje přehled všech zálohovaných workflow a uloží do README.md, abych na první dobrou viděl, zda nedošlo u některých workflow k chybě během zálohování.

Overview