n8n Google Drive automation workflow diagram – hand-drawn sketch style
Tutorial

n8n Google Drive Trigger Not Firing: Fix Missed Uploads and Moved Files

•10 min read

Quick Summary

  • •Activate the workflow before testing because manual execution and active polling behave differently
  • •Use one exact folder and one brand-new web upload as the control test
  • •Treat moved files and Drive Desktop sync as timestamp and event-semantics cases, not generic OAuth failures
  • •Handle multiple changes as multiple items from one polling event
  • •Verify the active run from trigger output through the final Drive result

Why is the n8n Google Drive Trigger not firing?

The trigger can appear healthy in a manual test and still miss production files. Activate the workflow, watch one exact folder, upload one brand-new test file through the Google Drive web app, wait through the next poll, and check the production execution log. This separates an active-mode trigger failure from a credential or downstream-node problem.

What should you test first when the Google Drive Trigger misses a file?

Test the smallest possible path: one active workflow, one Google Drive Trigger, one exact folder, and one newly created file. Do not move an older file, sync it through Drive Desktop, or batch several uploads until that control test fires.

Run the control test in this order:

  • Activate the workflow. Manual node execution and active polling do not behave the same way.
  • Select the exact drive and folder again. For a shared drive, confirm the connected account can see that drive and folder.
  • Upload one brand-new small file through drive.google.com. This gives File Created a clean creation timestamp.
  • Wait through at least one polling interval instead of repeatedly clicking Execute Node.
  • Open production executions and confirm whether the trigger emitted an item before debugging the download, move, or Slack nodes.

If the web-upload control fires, the trigger and credential are working. A failure limited to moved files or Drive Desktop uploads is a different case and should not be fixed by blindly reconnecting OAuth.

Google Drive OAuth2 Credential Setup

Before you can use any Google Drive node, you need to connect your Google account. n8n uses OAuth2 for this.

Step 1 – Create a Google Cloud Project

Go to console.cloud.google.com, click "New Project", and give it a name (e.g., "n8n Automations"). Select the project once created.

Step 2 – Enable the Google Drive API

In the left sidebar, go to APIs & Services > Library. Search for "Google Drive API", click it, and hit Enable.

Step 3 – Configure OAuth Consent Screen

Go to APIs & Services > OAuth consent screen. Choose External (unless using Google Workspace). Fill in app name and contact info. Under Scopes, add: https://www.googleapis.com/auth/drive. Add your Google account as a test user.

Step 4 – Create OAuth2 Credentials

Go to APIs & Services > Credentials. Click + Create Credentials > OAuth client ID. Set Application type to Web application. Under Authorized redirect URIs, add your n8n callback URL: https://your-n8n-instance.com/rest/oauth2-credential/callback. Copy the Client ID and Client Secret.

Step 5 – Add to n8n

In n8n, open any Google Drive node. Click the Credential dropdown > Create New. Paste your Client ID and Client Secret. Click Connect and authorize in the Google popup. Save the credential – it's now reusable across all Google Drive nodes.

How do manual execution and active polling differ?

In a manual execution, the node returns the latest event that matches the filter. Once the workflow is active, it polls for new matching events on its schedule. That distinction is documented in the official n8n Google Drive Trigger reference.

What does File Created actually match?

In active mode, n8n filters File Created checks against the file creation time after the previous poll. Files moved into a watched folder can keep an older creation time, so a manual test may find the file while the active workflow emits nothing. This behavior is documented in n8n issue #24138, which should be treated as a reported edge case rather than a universal root cause.

How do you test the watched folder without a false positive?

Set Trigger On to File Created and Watch to Specific Folder. Re-select the folder with the picker, save the workflow, activate it, then create a new file inside that folder. Do not use a pre-existing file for the control test.

The Google Drive Trigger polls once per minute by default. If several matching changes happen within one interval, n8n can return them as multiple items in one trigger event, so the next node must handle each item rather than assume a single file. See the official common-issues guidance.

Google Drive Node – All Operations

The main Google Drive node handles file and folder actions. Here's what each operation does:

Operations reference:
• Create Folder – creates a new folder (optionally inside a parent)
• Upload File – uploads a binary file from n8n to Google Drive
• Download File – downloads a file from Drive as binary data
• Move File – moves a file or folder to a different parent folder
• Copy File – creates a copy of a file in a specified location
• Delete File – permanently deletes or moves to trash
• Share File – shares a file/folder with a user by setting permissions
• List Files – returns files matching a query (folder contents, search)
• Get File – returns metadata for a single file by ID
• Update File – updates file metadata (name, description, starred)
• Create from Text – creates a Google Doc/Sheet from plain text content

Upload File – Key Settings

When uploading, pass the file as binary data from a previous node (HTTP Request, Read Binary File, etc.). Key settings: File Name (the name to give the file in Drive), Parent Folder (where to put it – leave blank for root), Convert to Google Format (auto-converts .xlsx to Google Sheets, .docx to Google Docs), and MIME Type (usually auto-detected).

List Files – Query Syntax

The List Files operation supports Google Drive's query syntax. Useful examples: name contains 'invoice', mimeType = 'application/pdf', 'FOLDER_ID' in parents and trashed = false, modifiedTime > '2026-01-01T00:00:00'.

Building a Real Workflow: Watch Folder, Process, Archive, Notify

Here's a practical example: a workflow that watches a "Client Uploads" folder, downloads each new file, sends it to a processing step, archives it to a dated folder, and notifies a Slack channel.

Node setup:
1. Google Drive Trigger – Trigger On: File Created, Watch: Specific Folder ("Client Uploads")
2. Google Drive (Download File) – File ID: {{ $json.id }} from trigger output
3. Processing step – HTTP API, Code node, OpenAI, etc.
4. Google Drive (Create Folder) – Name: {{ $now.format('yyyy-MM-dd') }}-processed, Parent: Archive folder ID
5. Google Drive (Move File) – File ID from trigger, New Parent: ID from Create Folder step
6. Slack – Channel: #client-files, Message: New file processed: {{ $('Google Drive Trigger').item.json.name }}

n8n Google Drive workflow diagram showing 6 connected nodes from trigger to Slack notification

Why does the trigger miss files in a shared drive?

A shared-drive trigger fails when the node watches My Drive, the credential lacks access to the shared drive, or the selected folder is outside the account's visible scope. Confirm the drive first, then the folder, then the event type. Keep permissions separate from File Created timing.

What should you check in a shared drive?

Select the shared drive explicitly in the trigger, confirm the credential can list the watched folder, and create the test file after the workflow is active. If a brand-new web upload fires but a moved file does not, the remaining issue is event semantics rather than folder access.

Do not widen the trigger to all of Drive just to make the test pass. Prove the exact production folder and event combination you intend to rely on.

Which Google Drive Trigger failures need separate fixes?

How do you fix 401 unauthorized_client?

A 401 unauthorized_client response is a credential, scope, or domain-delegation problem. For OAuth2, enable the Google Drive API and reconnect the credential with the required scope. For a service account, confirm domain-wide delegation and Drive API access. Follow the official n8n common-issues steps before changing the workflow logic.

Why does moving a file into the folder not trigger the workflow?

Moving a file changes its parent folder, but it may not create a new file with a new creation timestamp. If a fresh web upload fires and a moved file does not, you have reproduced the active-mode edge case reported in n8n issue #24138. Test the exact event you need on your n8n version before relying on it in production.

Why do Google Drive Desktop uploads get missed?

Drive Desktop can preserve timestamps from the local filesystem. That can leave a synced file outside the active File Created polling window even though it appears in the watched folder. This limitation is described in n8n issue #9772. Use a fresh web upload as the control, then test your desktop-sync path separately.

What is the shortest reliable fix sequence?

Activate the workflow. Re-select the exact drive and folder. Upload one new file through the Drive web app. Wait through the poll. Inspect the production execution. If that passes, add moved files, Drive Desktop sync, shared-drive scope, and multi-file batches back one at a time until the failure returns.

How do you verify the Google Drive fix on the real workflow?

A trigger is not fixed because the editor returned one test item. It is fixed when an active production run detects a new file, passes the correct file ID downstream, completes the download or move, and leaves the expected result in Drive.

Use Synta's n8n troubleshooting workflow to inspect the trigger output and downstream node input on the real instance. Capture the failed execution, repair the live workflow, rerun it, and verify the file reached the intended folder.

Keep one known test file and one expected destination for the verification run. That gives you a clear pass condition and a rollback point before production volume returns.

Frequently Asked Questions

Can n8n watch multiple Google Drive folders at the same time?

Yes. Use separate Google Drive Trigger nodes in different workflows, each pointing to a different folder. You can also use a single trigger watching a parent folder with Include Items from Subfolders enabled, then route with an IF node based on which subfolder the file landed in.

How do I upload a file from a URL to Google Drive in n8n?

Use an HTTP Request node (GET, with Binary Output enabled) to download the file into n8n's memory, then pass it to a Google Drive node with the Upload File operation. Connect the binary output from the HTTP node to the Google Drive node's binary input.

What Google Drive file size limits apply in n8n?

The Google Drive API supports files up to 5TB. In practice, n8n's memory limits are the constraint. For large files, ensure your n8n instance has enough RAM, or use streaming approaches for files over 100MB.

Can I use a Google service account instead of OAuth2?

Yes. n8n supports Google Service Account credentials. Create a service account in Google Cloud Console, download the JSON key, and add it as a Google Service Account credential type in n8n. Remember to share the Drive folders with the service account's email address.

How do I create a nested folder structure in one workflow?

Chain multiple Create Folder operations. Create the top-level folder first, capture its ID from the output, then create subfolders using that ID as the parent. n8n's expression syntax lets you reference previous node outputs: {{ $('Create Top Folder').item.json.id }}.

What should you do next?

Start with the one-file active-mode control. If it passes, reintroduce your real upload path one variable at a time. If it fails, the production execution log tells you whether the trigger emitted nothing or a downstream node broke.

If the workflow still misses production events, use Synta to inspect, repair, rerun, and verify it on the real n8n instance.