An n8n Google Drive organizer watches one inbox folder with the Google Drive Trigger, downloads each new file, extracts its text (falling back to Drive's OCR for scans), classifies it with the Text Classifier node, then renames it and moves it to the right folder. Use the built-in polling trigger unless you truly need push notifications, and send anything the model cannot place to a review folder.
To build an n8n Google Drive organizer, watch one inbox folder with the Google Drive Trigger, download each new file, extract its text, let an AI node pick a category, then rename the file and move it to that category's folder. Scanned PDFs need one extra step, Google Drive's own OCR, and anything the model cannot place goes to a review folder instead of being guessed.
Checked October 2026 against n8n's docs for the Google Drive Trigger and its common issues, the Google Drive file operations, the Text Classifier and Information Extractor, plus Google's Drive push notifications, uploads and conversion and search query guides.
This is a docs-based build: every node setting below comes from n8n's and Google's documentation, and the design choices (one inbox, a review branch, a processed marker) come from running file automations at agency scale, where the expensive failure is a document filed in the wrong place without anyone noticing. If you want more workflows in the same style, the n8n templates and automation library is the hub for this series.
What the n8n Google Drive organizer does
You drop a file into one Drive folder called Inbox. Within about a minute it has a clean name like 2026-09-14 Acme Invoice and sits in /Finance/Invoices. If the file is unclear, it lands in /Inbox/Needs review with its name unchanged, so nothing is silently misfiled.
- 01Drive Trigger
File Created in /Inbox
- 02Download
File arrives as binary data
- 03Extract text
PDF text, or Drive OCR for scans
- 04Classify
Text Classifier picks one category
- 05Name
Information Extractor pulls date and party
- 06Rename and move
Update, then Move to the category folder
Before you start
- An n8n instance (cloud or self-hosted) where you can publish workflows
- A Google Cloud project with the Google Drive API enabled, and a Google Drive credential in n8n
- An AI model credential for the Text Classifier and Information Extractor (any chat model n8n supports)
- One Inbox folder, plus the destination folders created in advance
- A Needs review folder inside Inbox for files the model cannot place
- Five to ten sample files per category, including at least one scanned PDF, for testing
Create the destination folders before you build. The Move operation needs a target folder, and choosing it from a list in the node is easier than wiring folder creation into the workflow. If you have not connected Google to n8n before, n8n's Google credential docs cover OAuth2 and service accounts.
Step 1: set up the n8n Google Drive trigger
Add a Google Drive Trigger node. Set Trigger On to Changes Involving a Specific Folder, choose your Inbox folder, and set Watch For to File Created. Under Options you can restrict File Type if you only want, say, images or Google Docs; for a mixed inbox leave it on all types.
Three behaviours from the docs shape the rest of the build:
- It polls. The node checks Drive at a set interval, once every minute by default, and starts the workflow for each matching event (n8n common issues page, checked October 2026).
- It batches. If several files arrive in one interval, they come through as several items in a single run. Build every later node to handle many items, not one.
- It ignores subfolders. The node shows a notice that changes inside subfolders will not trigger it. That suits this design: Needs review sits inside Inbox, so files you park there do not re-enter the workflow.
Expected result: clicking Test step returns the most recent file created in Inbox. If Inbox is empty, the manual run throws an error, because the docs say a manual execution returns the last matching event and errors when none exists. Drop a sample file in and test again.
n8n Google Drive trigger: polling or push notifications?
People often ask whether they should replace the polling trigger with Drive push notifications for an instant reaction. The Drive API does support push through files.watch and changes.watch, and you can receive those calls with n8n's Webhook node. Reading Google's guide, though, push adds work in four places:
| Polling (Google Drive Trigger) | Push (Drive API watch + Webhook node) | |
|---|---|---|
| How it starts | n8n checks Drive on an interval (one minute by default) | Drive POSTs to your HTTPS URL when something changes |
| Public URL needed | No | Yes, HTTPS with a valid certificate |
| What arrives | File items matching your Watch For setting | An empty body plus headers; you call files.get or changes.list for details |
| Upkeep | None beyond the credential | Channels expire (up to 1 day for files, 1 week for changes) and must be recreated |
| Batches | Several changes in one interval arrive as several items | One notification per change event |
| Best for | Sorting files where a short delay is fine | Cases where seconds matter and you can run the renewal job |
The details behind that table, all from Google's push notifications guide (checked October 2026): the callback address must use HTTPS with a valid certificate, so self-signed certificates are rejected. Channels expire after at most 86,400 seconds (one day) for a file and 604,800 seconds (one week) for changes, and there is no automatic renewal; you call watch again with a new channel ID. Notification bodies are empty, so the workflow still has to call changes.list or files.get to learn what changed. And you should set a channel token and check it, so the webhook can reject calls it did not ask for.
For filing documents, a one-minute delay costs nothing, so the built-in trigger wins on simplicity. Push makes sense when a person is waiting on the result, for example a form upload that should be acknowledged within seconds, and you are willing to run a second, scheduled workflow that renews channels before they expire.
Step 2: download the file and extract its text
The trigger hands you file metadata, not content. Add a Google Drive node with Resource File and Operation Download, and pass the file ID from the trigger. The file arrives as binary data. For native Google files, the node's Google File Conversion option sets the export format; pick Text for Google Docs so the next step receives plain text.
Then route by file type with a Switch node on the MIME type:
- PDFs go to an Extract From File node set to Extract From PDF, which pulls the text layer out of the binary.
- Google Docs already arrive as text from the download conversion.
- Images (JPEG, PNG and similar) have no text layer and go straight to the OCR fallback below.
Step 3: the OCR fallback for scanned files
A scanned PDF looks like a document but is really a picture, so Extract From PDF returns empty or near-empty text. Add an IF node after extraction that checks whether the text is shorter than a threshold you choose (for example, under 50 characters as an illustrative starting point), and send those files, along with images, to OCR.
Google Drive does the OCR for you. Its upload and conversion guide says that when you convert an image to a Google Doc, Drive uses optical character recognition and puts the extracted text in the document next to the image, and that JPEG, PNG, GIF, BMP and PDF files can be converted to Docs. To convert, you create the file with the Google Docs MIME type, and an ocrLanguage parameter improves accuracy when you know the language (checked October 2026).
- 1Add an HTTP Request node
Authentication: Predefined Credential Type, then your Google Drive credential, as n8n documents for operations the Drive node lacks.
- 2Upload the scan as a new Google Doc
Send the binary to the Drive API upload endpoint with the metadata MIME type application/vnd.google-apps.document, which the upload guide documents as the conversion, plus ocrLanguage. Save it to a temp folder.
- 3Download the copy as text
Google Drive node, Download, with Google Docs conversion set to Text.
- 4Delete the temporary Doc
Google Drive node, Delete a file, so the temp folder does not fill up.
- 5Merge back into the main path
The OCR text now joins the classify step like any other file.
Expected result: a phone photo of a receipt comes back as readable text. OCR quality depends on the scan; a crooked, low-light photo can still fail, and that is what the review branch is for.
Step 4: classify the file with AI
Add n8n's Text Classifier node and connect a chat model to it. Feed it the extracted text, ideally only the first couple of thousand characters, since the category is almost always clear from the first page and shorter input costs less. Each category has a name and a description, and the description is where the accuracy comes from: tell the model what separates an invoice from a receipt in your files.
| Category | Description you give the model | New file name | Destination |
|---|---|---|---|
| Invoices | A bill from a supplier asking for payment, with an amount due | YYYY-MM-DD Vendor Invoice | /Finance/Invoices |
| Receipts | Proof of a payment already made, from a shop or online service | YYYY-MM-DD Vendor Receipt | /Finance/Receipts |
| Contracts | An agreement between parties, signed or unsigned | YYYY-MM-DD Counterparty Contract | /Legal/Contracts |
| Briefs | A client or project brief describing work to be done | YYYY-MM-DD Client Brief | /Projects/Briefs |
| Other (extra branch) | Anything the model cannot place with confidence | Original name kept | /Inbox/Needs review |
Two settings matter. Turn Allow Multiple Classes To Be True off, so each file gets exactly one folder. Set When No Clear Match to Output on Extra, 'Other' Branch; the default, Discard Item, silently drops files the model cannot place, which in a filing workflow means a document that simply never moves. The Text Classifier docs describe both options (checked October 2026).
Step 5: rename and move each file
A good file name needs a date and a party, which the classifier does not give you. Add an Information Extractor node on each category branch with a small schema, for example document_date and party_name, using the From Attribute Descriptions option. Tell it to return an empty value rather than guess when a field is missing.
- 1Build the name in a Set node
Date, party and category, for example 2026-09-14 Acme Invoice. Fall back to the trigger date if the document date is empty.
- 2Google Drive: Update a file
Put the new name in New Updated File Name. Add a Property such as organized=true as a processed marker.
- 3Google Drive: Move a file
Choose the category folder as Parent Folder.
- 4Other branch: Move to Needs review
Keep the original name and send yourself a short notification with the file link.
The processed marker earns its place the first time you run a backfill. Drive search supports queries such as properties has { key='organized' and value='true' }, per Google's search guide, so you can find files the workflow already handled, or the ones it missed, with the Google Drive node's Search operation and its Advanced Search query string.
What else can n8n Google Drive automation do?
The same node set covers most Drive jobs people automate. The Google Drive node can copy, create from text, delete, download, move, share, update and upload files, search files and folders, create and share folders, and manage shared drives, per the node overview (checked October 2026). Common patterns built on this organizer:
- Backfill an old folder. Swap the trigger for a manual or scheduled run, Search the folder with
'FOLDER_ID' in parents and trashed = false, and push each result through the same classify path. - Log every file. Append the name, category and link to a spreadsheet so you have an index you can filter.
- Share by category. Use the Share operation to give your accountant reader access to the Invoices folder only.
- Send files to an agent. Feed the extracted text into a retrieval store so an assistant can answer questions about your documents, the pattern in our guide to n8n AI workflows with OpenAI.
When the Drive node lacks an operation, the n8n docs recommend the HTTP Request node with your existing Drive credential, the same route the OCR step uses. Our walkthrough of connecting any API in n8n covers that pattern in more depth.
If you want to package automations like this into a product clients pay for, with a front end, auth and billing around the workflow, our AI SaaS Builder program covers that build step by step.
Troubleshooting
- 401 unauthorized_client on the trigger. Enable the Google Drive API in your Cloud project. For a service account, enable domain-wide delegation and add the Drive API to it (n8n common issues page).
- Only one file processed when three arrived. A node is reading only the first item. Check expressions that reference a single item, and use a Loop Over Items node if a step must handle files one at a time.
- Empty text from a PDF. It is a scan. Confirm your length check routes it to the OCR branch.
- Files reprocessed after renaming. You watched for File Updated as well as File Created. Watch only File Created, and check the processed property before acting.
- Workflow fails halfway and leaves files in Inbox. Add an error workflow so failures reach you; our n8n error handling guide shows the setup.
n8n Google Drive: FAQ
How does the n8n Google Drive Trigger work?
The Google Drive Trigger is a polling trigger. Once the workflow is saved and published, it checks Drive at a set interval, once a minute by default per n8n's docs, and starts the workflow for each matching event. You point it at a specific file or folder and pick what to watch for, such as File Created or File Updated. Checked October 2026.
Why does my n8n Google Drive Trigger not fire for files in subfolders?
The trigger watches the folder you select, not the folders inside it, and the node itself shows a notice that changes within subfolders will not trigger it. Either drop files into the watched folder directly, add one trigger per subfolder, or run a scheduled Search with a query that covers the folders you care about.
Can n8n read scanned PDFs from Google Drive?
A scanned PDF is an image of text, so a plain PDF text extraction returns little or nothing. Google Drive can run OCR when it converts an image or PDF into a Google Doc, according to the Drive API upload guide. In n8n you can upload the scan as a Google Doc through the HTTP Request node with your Drive credential, then download that Doc as plain text.
How do I fix the 401 unauthorized_client error on the Google Drive Trigger?
n8n's common issues page says this error comes from the credential's scopes or permissions. With OAuth2, enable the Google Drive API in your Google Cloud project under APIs and Services, Library. With a service account, turn on domain-wide delegation and include the Google Drive API in that delegation configuration, then reconnect the credential.
Is it safe to send my Drive files to an AI model?
It depends on the files and the provider. The classifier sends document text to whichever model you connect, so read that provider's data-use terms and keep contracts, IDs or medical files out of the watched folder unless the provider's terms suit them. A self-hosted model keeps the text on your own server, at the cost of running it.
Should I use polling or Drive push notifications with n8n?
Start with polling. The built-in trigger needs no public URL and handles batches. Push notifications from the Drive API need an HTTPS endpoint with a valid certificate, channels that expire and must be renewed by hand, and a follow-up call because the notification body is empty. Push is worth it only when a one-minute delay matters.
Automating your own files? Turn it into a product.
AI SaaS Builder, included in All Access, covers turning workflows like this into an app with auth, payments and deployment, alongside the other three programs, live coaching and the private community in one subscription.
Get the free Creator Starter Kit
Templates, checklists and starter resources for building your first automations and digital products, free on Whop.