{
  "name": "Back up workflows from multiple n8n instances to Google Drive",
  "nodes": [
    {
      "id": "eaaf07eb-5c1f-4b3e-8c39-0b134bd26371",
      "name": "When Executed by Another Workflow",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        -480,
        -224
      ]
    },
    {
      "id": "d1e0cdde-ce3e-44cc-afe0-85588218449d",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        464,
        -224
      ]
    },
    {
      "id": "f73d55d1-1463-48db-bcd7-093883a33b19",
      "name": "Split Out",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        -272,
        -48
      ]
    },
    {
      "id": "ffa57db2-d5a3-4e20-9713-37a2f086d14e",
      "name": "Convert to File",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        80,
        -48
      ]
    },
    {
      "id": "2083e6a8-1da9-4d28-8dd2-ed7647da3a93",
      "name": "Call 'n8n auto-backup to google drive'",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        272,
        -672
      ]
    },
    {
      "id": "2efea638-b0a4-49ab-ba70-4f5ae7c0ccbc",
      "name": "Get n8n host 1",
      "type": "n8n-nodes-base.n8n",
      "position": [
        -272,
        -672
      ]
    },
    {
      "id": "eaf07076-7777-4e47-8851-6c0477f7b9ab",
      "name": "Get n8n host 2",
      "type": "n8n-nodes-base.n8n",
      "position": [
        -272,
        -512
      ]
    },
    {
      "id": "324ca755-8ad7-434f-a6ba-723d8c3a51d5",
      "name": "Update workflow",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1072,
        -80
      ]
    },
    {
      "id": "d2c0f780-981a-4835-b5aa-583809be68e2",
      "name": "Upload workflow",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1072,
        -240
      ]
    },
    {
      "id": "bac0f453-0131-4079-a2b2-3702ac3ab56e",
      "name": "Get file list",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -272,
        -224
      ]
    },
    {
      "id": "bb0261bf-17c9-4921-b985-bea714440dd0",
      "name": "Extract file information",
      "type": "n8n-nodes-base.set",
      "position": [
        80,
        -224
      ]
    },
    {
      "id": "1f904463-9853-4b11-9173-7f6181390442",
      "name": "Set Workflow Name",
      "type": "n8n-nodes-base.set",
      "position": [
        256,
        -48
      ]
    },
    {
      "id": "efedcf69-ffba-4d63-aaed-18c2bae65c82",
      "name": "Filter files",
      "type": "n8n-nodes-base.filter",
      "position": [
        256,
        -224
      ]
    },
    {
      "id": "37a35d66-b399-49d8-844c-84e07c122c0e",
      "name": "Filter files by update time",
      "type": "n8n-nodes-base.filter",
      "position": [
        640,
        -224
      ]
    },
    {
      "id": "551b273c-138e-4337-93e5-f4582b0e0910",
      "name": "Run daily",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -480,
        -672
      ]
    },
    {
      "id": "ec695355-9b8f-4430-9947-dbdbeda1a2a0",
      "name": "Batch Host 1 data",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        -80,
        -672
      ]
    },
    {
      "id": "f11c8a5c-06f1-49c3-a951-05721803bc1b",
      "name": "Batch Host 2 data",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        -80,
        -512
      ]
    },
    {
      "id": "eea2b1a3-0570-4b3b-8aef-43832596c6b8",
      "name": "Route: New vs Update",
      "type": "n8n-nodes-base.if",
      "position": [
        848,
        -224
      ]
    },
    {
      "id": "78f52864-679e-44a7-9b19-5a008bb62c3e",
      "name": "Filter archived workflows",
      "type": "n8n-nodes-base.filter",
      "position": [
        -96,
        -48
      ]
    },
    {
      "id": "cee9c9be-6306-42a7-b438-d1a4d669bea4",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1056,
        -768
      ],
      "parameters": {
        "width": 496,
        "height": 912,
        "content": "## 📘 How it works\nThis workflow provides a robust, automated backup solution for one or multiple n8n instances, syncing your workflows directly to Google Drive with version history support.\n\nIt operat"
      }
    },
    {
      "id": "1e9ef960-69c4-400e-bb31-29dfa1da91ff",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -528,
        -768
      ],
      "parameters": {
        "width": 1008,
        "height": 416,
        "content": "## ⏱️ 1. Fetch & Dispatch \nRuns on a schedule to fetch workflow data from multiple n8n instances."
      }
    },
    {
      "id": "6ceb4f47-bf96-4381-9a45-8b421605855f",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -528,
        -320
      ],
      "parameters": {
        "width": 1840,
        "height": 464,
        "content": "## 💾 2. Core Backup Logic \nHandles the comparison, version control, and file upload to Google Drive."
      }
    },
    {
      "id": "6df58a3a-186c-4813-afcb-b74ce903d87c",
      "name": "Config Host 2",
      "type": "n8n-nodes-base.set",
      "position": [
        96,
        -512
      ]
    },
    {
      "id": "d715c26f-78e7-4f47-9e47-3dd5c44e018e",
      "name": "Config Host 1",
      "type": "n8n-nodes-base.set",
      "position": [
        96,
        -672
      ]
    }
  ],
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Filter files by update time",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Run daily": {
      "main": [
        [
          {
            "node": "Get n8n host 2",
            "type": "main",
            "index": 0
          },
          {
            "node": "Get n8n host 1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "Filter archived workflows",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter files": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Config Host 1": {
      "main": [
        [
          {
            "node": "Call 'n8n auto-backup to google drive'",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Config Host 2": {
      "main": [
        [
          {
            "node": "Call 'n8n auto-backup to google drive'",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get file list": {
      "main": [
        [
          {
            "node": "Extract file information",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get n8n host 1": {
      "main": [
        [
          {
            "node": "Batch Host 1 data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get n8n host 2": {
      "main": [
        [
          {
            "node": "Batch Host 2 data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert to File": {
      "main": [
        [
          {
            "node": "Set Workflow Name",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Batch Host 1 data": {
      "main": [
        [
          {
            "node": "Config Host 1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Batch Host 2 data": {
      "main": [
        [
          {
            "node": "Config Host 2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Workflow Name": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Route: New vs Update": {
      "main": [
        [
          {
            "node": "Upload workflow",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Update workflow",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract file information": {
      "main": [
        [
          {
            "node": "Filter files",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter archived workflows": {
      "main": [
        [
          {
            "node": "Convert to File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter files by update time": {
      "main": [
        [
          {
            "node": "Route: New vs Update",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When Executed by Another Workflow": {
      "main": [
        [
          {
            "node": "Get file list",
            "type": "main",
            "index": 0
          },
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}