AutomationFlowsGeneral › Transfer Files From FTP Server to Google Drive

Transfer Files From FTP Server to Google Drive

ByDariusz Koryto @dako on n8n.io

This workflow automatically transfers files from an FTP server to Google Drive. It's perfect for: Backing up files from remote servers Migrating data from FTP to cloud storage Automating file synchronization tasks Creating scheduled backups of server content

Event trigger★★★★☆ complexity9 nodesFtpGoogle Drive
General Trigger: Event Nodes: 9 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #6244 — we link there as the canonical source.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "V5SaH2SZzVTyn829",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "FTP 2 Google Drive",
  "tags": [],
  "nodes": [
    {
      "id": "3733da7c-f05d-4679-9f47-8e72295dcc77",
      "name": "Manual Trigger",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -1184,
        -192
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "b7223fcd-e5f9-4be6-b645-409a91017373",
      "name": "Workflow Documentation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1184,
        -512
      ],
      "parameters": {
        "width": 389,
        "height": 233,
        "content": "## FTP to Google Drive Transfer Workflow\n\nThis workflow:\n1. **Manually triggered** - Click Execute to start\n2. **Lists FTP directory** - Gets all files from specified folder\n3. **Downloads files** - Retrieves each file as binary data\n4. **Uploads to Google Drive** - Stores files in specified Drive folder\n\n**Configuration needed:**\n- FTP credentials (server, username, password)\n- Google Drive OAuth2 credentials\n- Target directory paths"
      },
      "typeVersion": 1
    },
    {
      "id": "916ae8dc-799a-4c80-ab59-22f2c9d16044",
      "name": "List FTP Directory",
      "type": "n8n-nodes-base.ftp",
      "position": [
        -960,
        -192
      ],
      "parameters": {
        "path": "/",
        "operation": "list"
      },
      "credentials": {
        "ftp": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d47ccf08-31bc-4d12-bac9-3fdb2be4a6e0",
      "name": "Processing Notes",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -736,
        -496
      ],
      "parameters": {
        "width": 320,
        "content": "## File Processing\n\nThis section processes each file found in the FTP directory:\n- Filters for actual files (not directories)\n- Downloads binary content\n- Prepares for Google Drive upload\n\n**Note:** Adjust file filtering logic as needed for your use case."
      },
      "typeVersion": 1
    },
    {
      "id": "09ce1608-37d2-40ee-a535-b2104d92747b",
      "name": "Filter Files Only",
      "type": "n8n-nodes-base.if",
      "position": [
        -736,
        -192
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 1,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "condition-1",
              "operator": {
                "type": "string",
                "operation": "equals",
                "rightType": "string"
              },
              "leftValue": "={{ $json.type }}",
              "rightValue": "-"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "6c9a1d63-79bc-4ebd-899d-709accd50191",
      "name": "Download File from FTP",
      "type": "n8n-nodes-base.ftp",
      "position": [
        -512,
        -288
      ],
      "parameters": {
        "path": "={{ $json.path }}",
        "binaryPropertyName": "={{ $json.name }}"
      },
      "credentials": {
        "ftp": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "3a715a9f-7b50-4cf3-9e6f-dfb70760f739",
      "name": "Upload to Google Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -288,
        -288
      ],
      "parameters": {
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": "1ABCdefGHIjklMNOpqrSTUvwxyz"
      },
      "typeVersion": 3
    },
    {
      "id": "032523ae-cdac-43ac-9a4c-8b4ac2277be5",
      "name": "No Operation, do nothing",
      "type": "n8n-nodes-base.noOp",
      "position": [
        -512,
        -96
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "87566e32-5b20-4aeb-abe6-61cbf2c98c1d",
      "name": "No Operation, do nothing1",
      "type": "n8n-nodes-base.noOp",
      "position": [
        -64,
        -288
      ],
      "parameters": {},
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "93f753aa-891f-4e66-a34e-e36e99405ce8",
  "connections": {
    "Manual Trigger": {
      "main": [
        [
          {
            "node": "List FTP Directory",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter Files Only": {
      "main": [
        [
          {
            "node": "Download File from FTP",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "List FTP Directory": {
      "main": [
        [
          {
            "node": "Filter Files Only",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download File from FTP": {
      "main": [
        [
          {
            "node": "Upload to Google Drive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload to Google Drive": {
      "main": [
        [
          {
            "node": "No Operation, do nothing1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This workflow automatically transfers files from an FTP server to Google Drive. It's perfect for: Backing up files from remote servers Migrating data from FTP to cloud storage Automating file synchronization tasks Creating scheduled backups of server content

Source: https://n8n.io/workflows/6244/ — original creator credit. Request a take-down →

More General workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

General

Back up n8n workflows to Google Drive automatically This workflow provides a robust solution for backing up your n8n workflows to Google Drive. It is designed to handle backups for multiple n8n instan

Execute Workflow Trigger, n8n, Google Drive
General

This n8n workflow automatically transfers files from Google Drive to an FTP server on a scheduled basis. It includes comprehensive logging, email notifications, and error handling. Automated Schedulin

Google Drive, Ftp, Write Binary File +1
General

Batch watermark every image in a Google Drive folder and save the results to a separate destination folder — fully automated, no code required, and no external tools or APIs needed.

Google Drive, Edit Image
General

This workflow is perfect for technical writers, content creators, marketers, and developers who write in Markdown but need to collaborate or publish using Google Docs format. Ideal for teams that want

Google Drive