{
  "name": "Drive Folder to Dropbox Backup",
  "nodes": [
    {
      "parameters": {
        "content": "## Google Drive Folder Auto-Backup to Dropbox\n\nEvery file that lands in your important Google Drive folder gets a second copy in Dropbox within minutes - cross-provider backup for the documents you can't lose.\n\n**Setup time:** 10 minutes  ·  **Level:** Beginner\n\n**You'll need accounts/credentials for:** Google Drive, Dropbox\n\n**Replace these before running:**\n- `REPLACE_WITH_YOUR_FOLDER`\n\n**Setup steps:**\n1. Connect Google Drive and pick the folder to watch in the trigger node.\n2. Connect Dropbox (create an app at dropbox.com/developers with files.content.write scope) and set the destination path.\n3. Activate, then drop a test file into the Drive folder and check Dropbox a minute later.\n\nFree templates and updates: navkhan103.github.io",
        "height": 574,
        "width": 400,
        "color": 4
      },
      "id": "sticky-setup",
      "name": "Setup — read me first",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -440,
        -40
      ]
    },
    {
      "parameters": {
        "content": "### How it runs\n\nStarts from **New File in Folder**.\n\n1. A Google Drive Trigger fires when a file is created in your chosen folder.\n2. A Google Drive node downloads the file's binary content.\n3. A Dropbox node uploads it to your backup folder, keeping the original filename.",
        "height": 322,
        "width": 400,
        "color": 7
      },
      "id": "sticky-how",
      "name": "How it runs",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -440,
        574
      ]
    },
    {
      "parameters": {
        "content": "### If something breaks\n\nThe read and AI nodes here **retry 3× automatically** (5s apart), which absorbs rate limits and brief timeouts.\n\nNodes that **send or write deliberately do not retry** — a send that reached the far end but lost its response would otherwise fire twice, so you'd get duplicate messages or duplicate rows.\n\nTo be told when one of those fails, build a workflow starting with an **Error Trigger** node that posts to Slack or email, then set it under **three-dot menu > Settings > Error Workflow**. Do it once and point every workflow at it.",
        "height": 400,
        "width": 400,
        "color": 3
      },
      "id": "sticky-fail",
      "name": "If something breaks",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -440,
        936
      ]
    },
    {
      "parameters": {
        "event": "fileCreated",
        "triggerOn": "specificFolder",
        "folderToWatch": {
          "__rl": true,
          "mode": "list",
          "value": "REPLACE_WITH_YOUR_FOLDER"
        },
        "options": {}
      },
      "id": "a0b1c2d3-0001-4000-8000-000000000001",
      "name": "New File in Folder",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "typeVersion": 1,
      "position": [
        0,
        0
      ]
    },
    {
      "parameters": {
        "operation": "download",
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "options": {}
      },
      "id": "a0b1c2d3-0002-4000-8000-000000000002",
      "name": "Download File",
      "type": "n8n-nodes-base.googleDrive",
      "typeVersion": 3,
      "position": [
        220,
        0
      ],
      "retryOnFail": true,
      "maxTries": 3,
      "waitBetweenTries": 5000
    },
    {
      "parameters": {
        "resource": "file",
        "operation": "upload",
        "path": "=/backups/{{ $('New File in Folder').item.json.name }}",
        "binaryData": true,
        "binaryPropertyName": "data"
      },
      "id": "a0b1c2d3-0003-4000-8000-000000000003",
      "name": "Upload to Dropbox",
      "type": "n8n-nodes-base.dropbox",
      "typeVersion": 1,
      "position": [
        440,
        0
      ]
    }
  ],
  "connections": {
    "New File in Folder": {
      "main": [
        [
          {
            "node": "Download File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download File": {
      "main": [
        [
          {
            "node": "Upload to Dropbox",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  }
}