This workflow corresponds to n8n.io template #6682 — we link there as the canonical source.
This workflow follows the Agent → Google Drive recipe pattern — see all workflows that pair these two integrations.
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 →
{
"id": "M4i2qOxJ3Us04fab",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Invoice Classifier",
"tags": [],
"nodes": [
{
"id": "c3eb01ce-ad98-4c88-8426-f6ff738ec932",
"name": "Download File",
"type": "n8n-nodes-base.googleDrive",
"position": [
-1600,
632
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"operation": "download",
"authentication": "oAuth2"
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "f4ae926e-f3a2-4471-84e8-5b9c37050d04",
"name": "When clicking \u2018Execute workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-2048,
632
],
"parameters": {},
"typeVersion": 1
},
{
"id": "bbf3ef7d-1a6e-44cc-b878-1c3a0c73535b",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-928,
192
],
"parameters": {
"text": "={{ $json.text }}",
"options": {
"systemMessage": "You are a smart document classifier.\n\nYour task is to analyze the text content of an invoice and classify it into one of the following industries:\n- Retail\n- Manufacturing\n- EdTech\n\nRespond with the industry name at top: \"Retail\", \"Manufacturing\", or \"EdTech\"."
},
"promptType": "define"
},
"typeVersion": 2.1
},
{
"id": "2a77af9f-32db-49c0-9655-308a2dc2d9c4",
"name": "Azure OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
"position": [
-832,
416
],
"parameters": {
"model": "gpt-4o-mini",
"options": {}
},
"credentials": {
"azureOpenAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "c10f4dbc-9378-426b-bf74-5873f4c9194d",
"name": "Loop Over Items",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-1152,
632
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "aedbda2e-2625-437a-a138-2ee019fad248",
"name": "Extract from File",
"type": "n8n-nodes-base.extractFromFile",
"position": [
-1376,
632
],
"parameters": {
"options": {},
"operation": "pdf"
},
"typeVersion": 1
},
{
"id": "6018cc36-6bb0-45c8-946f-77fc87beb52b",
"name": "Switch",
"type": "n8n-nodes-base.switch",
"position": [
-528,
176
],
"parameters": {
"rules": {
"values": [
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "bad389b5-d967-4f72-839d-9f099911c65a",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.output }}",
"rightValue": "Retail"
}
]
}
},
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "aea4162d-2682-4147-9724-cb79f66fc4f5",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.output }}",
"rightValue": "Manufacturing"
}
]
}
},
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "0af9f9aa-95d3-4982-9f52-a7b4d7d1749a",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.output }}",
"rightValue": "EdTech"
}
]
}
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "11a50e6e-4bb3-41bc-9a3f-e5e12b898209",
"name": "Search files and folders",
"type": "n8n-nodes-base.googleDrive",
"position": [
-1824,
632
],
"parameters": {
"filter": {
"folderId": {
"__rl": true,
"mode": "list",
"value": "1CcHp9tPoC-f7-umMjLdUU-Y7GedKLQkx",
"cachedResultUrl": "https://drive.google.com/drive/folders/1CcHp9tPoC-f7-umMjLdUU-Y7GedKLQkx",
"cachedResultName": "Indore"
}
},
"options": {},
"resource": "fileFolder",
"returnAll": true
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 3
},
{
"id": "934c8224-4adb-491a-a696-f60292088eb0",
"name": "Manufacturing",
"type": "n8n-nodes-base.googleDrive",
"position": [
-304,
488
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $('Download File').item.json.id }}"
},
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1-fmURc7hW1JcQCcP_lk4VxhkOk4GA00H",
"cachedResultUrl": "https://drive.google.com/drive/folders/1-fmURc7hW1JcQCcP_lk4VxhkOk4GA00H",
"cachedResultName": "Manufacturing"
},
"operation": "move"
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 3
},
{
"id": "7db81eed-1d18-4af6-850e-9acc696b4f84",
"name": "Retail",
"type": "n8n-nodes-base.googleDrive",
"position": [
-304,
296
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $('Download File').item.json.id }}"
},
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"folderId": {
"__rl": true,
"mode": "list",
"value": "13YZe1eYMQGXqR62n8aQIlYeSHE2HqpAv",
"cachedResultUrl": "https://drive.google.com/drive/folders/13YZe1eYMQGXqR62n8aQIlYeSHE2HqpAv",
"cachedResultName": "Retail"
},
"operation": "move"
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 3
},
{
"id": "c200afa0-87b3-4e81-8b72-3735e21c36c9",
"name": "EdTech",
"type": "n8n-nodes-base.googleDrive",
"position": [
-304,
680
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $('Download File').item.json.id }}"
},
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1H-JpO6eNDYGHT4G92-mB846NvaNu8P-1",
"cachedResultUrl": "https://drive.google.com/drive/folders/1H-JpO6eNDYGHT4G92-mB846NvaNu8P-1",
"cachedResultName": "Edtech"
},
"operation": "move"
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 3
},
{
"id": "249fa33e-26e5-4668-b54f-e3ba5e10099d",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1968,
800
],
"parameters": {
"width": 320,
"height": 240,
"content": "Search files and folders (Google Drive)\n\nType: Google Drive node\n\nOperation: Search for files and folders\n\nWhat it does:\nSearches for files in a specific Google Drive folder (ID: - folder named \"\")\nReturns all files found in that folder\nUses OAuth2 authentication with Google Drive"
},
"typeVersion": 1
},
{
"id": "d210bbff-936d-4216-afcd-6b2646fdb00a",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1600,
800
],
"parameters": {
"color": 3,
"height": 240,
"content": "Download File (Google Drive)\n\nType: Google Drive node\nOperation: Download\nWhat it does:\n\nDownloads each file found by the previous node\nUses the file ID from the search results (={{ $json.id }})\nDownloads the actual file content for processing"
},
"typeVersion": 1
},
{
"id": "88dd5e88-6673-480e-8005-27398846f504",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1552,
400
],
"parameters": {
"color": 2,
"width": 272,
"height": 208,
"content": "Extract from File (Extract from File)\n\nType: Extract from File node\nOperation: PDF extraction\nWhat it does:\n\nExtracts text content from PDF files\nConverts the downloaded PDF invoices into readable text\nPrepares text for AI analysis"
},
"typeVersion": 1
},
{
"id": "5c87b592-9143-4bfb-8f54-2f8a92fff83b",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1168,
800
],
"parameters": {
"color": 5,
"height": 240,
"content": "Loop Over Items (Split in Batches)\n\nType: Split in Batches node\nWhat it does:\n\nProcesses multiple files one by one in a loop\nEnsures each invoice is processed individually\nManages batch processing of multiple invoices"
},
"typeVersion": 1
},
{
"id": "983aa05a-34b6-44db-bc1e-a2eaed231848",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1248,
-16
],
"parameters": {
"color": 4,
"width": 288,
"height": 288,
"content": "#AI Agent (LangChain Agent)\n\nType: LangChain AI Agent\nWhat it does:\n\nAnalyzes the extracted text content from invoices\nUses a system prompt that instructs it to classify invoices into three categories:\n\nRetail\nManufacturing\nEdTech\n\n\nReturns the classification result"
},
"typeVersion": 1
},
{
"id": "90a266fe-ceda-4e79-b4b0-a772ee0234c7",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-752,
528
],
"parameters": {
"color": 7,
"width": 288,
"height": 240,
"content": "Azure OpenAI Chat Model (Language Model)\n\nType: Azure OpenAI Chat Model\nModel: GPT-4o-mini\nWhat it does:\n\nProvides the AI language model for the AI Agent\nConnected to the AI Agent to power the classification logic\nUses Azure OpenAI API credentials"
},
"typeVersion": 1
},
{
"id": "f9daf053-6ab0-43b2-8878-c07829c17b52",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-608,
-144
],
"parameters": {
"color": 6,
"width": 288,
"height": 304,
"content": "Switch (Conditional Logic)\n\nType: Switch node\nWhat it does:\n\nRoutes the workflow based on AI classification results\nHas three conditional branches:\n\nIf output equals \"Retail\" \u2192 Route to Retail folder\nIf output equals \"Manufacturing\" \u2192 Route to Manufacturing folder\nIf output equals \"EdTech\" \u2192 Route to EdTech folder"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "8c3ea819-3a44-4c6e-9b54-a25edfc40fbe",
"connections": {
"EdTech": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Retail": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Switch": {
"main": [
[
{
"node": "Retail",
"type": "main",
"index": 0
}
],
[
{
"node": "Manufacturing",
"type": "main",
"index": 0
}
],
[
{
"node": "EdTech",
"type": "main",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "Switch",
"type": "main",
"index": 0
}
]
]
},
"Download File": {
"main": [
[
{
"node": "Extract from File",
"type": "main",
"index": 0
}
]
]
},
"Manufacturing": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[],
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Extract from File": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Azure OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Search files and folders": {
"main": [
[
{
"node": "Download File",
"type": "main",
"index": 0
}
]
]
},
"When clicking \u2018Execute workflow\u2019": {
"main": [
[
{
"node": "Search files and folders",
"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.
azureOpenAiApigoogleDriveOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Description:
Source: https://n8n.io/workflows/6682/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This workflow is designed for marketers, content creators, agencies, and solo founders who want to publish long‑form posts with visuals on autopilot using n8n and AI agents.
AI Story Generator with GPT-4o and Google Drive Integration
Automatically compare candidate resumes to job descriptions (PDFs) from Google Drive, generate a 0–100 fit score with gap analysis, and update Google Sheets—powered by Azure OpenAI (GPT-4o-mini). Fast
This workflow automates the creation, storage, and reporting of personalized sales collateral for booked leads using GPT-4o, Google Sheets, Google Drive, and Gmail. It pulls leads from a central sheet
This workflow automates end-to-end validation, assessment, and reporting of n8n workflow JSON templates using Google Drive, Azure OpenAI GPT-4o, Gmail, and Slack. It retrieves workflows from a Drive f