Backup workflows to git repository on Github

Nodes

696173da-41ce-4099-af01-be2e2f7d5be1e6ae7503-2949-4cf6-8d11-9f146c34f7232e3e39e3-0e17-4fae-9ac5-9ee31f9711ed

Categories

Created by

ShShashikanth

Last edited 10 days ago

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

  1. Create GitHub Repository

    • Skip this step if using an existing repository.
  2. Add GitHub Credentials

    • In Credentials, add the GitHub credential for the repository owner.
  3. Download and Import Workflow

    • Import this workflow into n8n.
  4. 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.
  5. 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:

  1. New Workflow

    • If a workflow is new, create a new file in the repository.
  2. Unchanged Workflow

    • If the workflow is unchanged, skip to the next item.
  3. Changed Workflow

    • If a workflow has changes, update the corresponding file in the repository.

Current Limitations / Needs work

  1. Name Change of Workflows
    • If a workflow is renamed or deleted in n8n, the old file remains in the repository.
  2. Deleted Workflows
    • Deleted workflows in n8n are not removed from the repository.

New to n8n?

Need help building new n8n workflows? Process automation for you or your company will save you time and money, and it's completely free!