This workflow corresponds to n8n.io template #9261 — we link there as the canonical source.
This workflow follows the Agent → Gmail 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 →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "714b6c99-8f0a-439b-94d7-29bea1589dba",
"name": "Intro Sticky",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1888,
-880
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "36f55639-f8b7-4733-b9e5-a17551fdb633",
"name": "Setup Sticky",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1520,
-880
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "f1b4ea4f-7566-41e2-af24-e4a19b5d93c5",
"name": "AI Extraction Sticky",
"type": "n8n-nodes-base.stickyNote",
"position": [
432,
-992
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "37dbc171-8e58-4eb6-a326-e3629dfc41b0",
"name": "Data Split Sticky",
"type": "n8n-nodes-base.stickyNote",
"position": [
992,
-1008
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "11ffaff7-b3cc-408a-9abe-43b794a5463f",
"name": "Google Sheets Sticky",
"type": "n8n-nodes-base.stickyNote",
"position": [
1584,
-944
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "9c4e40cd-8129-428d-a88d-b5562350b75b",
"name": "Gmail Sticky",
"type": "n8n-nodes-base.stickyNote",
"position": [
1376,
-1312
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "ffcac485-5c9c-485c-bc6e-fb01a00aecb9",
"name": "Extend Sticky",
"type": "n8n-nodes-base.stickyNote",
"position": [
1664,
-1312
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "44ec1ad5-daa0-49fc-b502-4f176a112413",
"name": "Compare Datasets1",
"type": "n8n-nodes-base.compareDatasets",
"position": [
-432,
-720
],
"parameters": {},
"typeVersion": 2.3
},
{
"id": "2c3bbfee-8ca9-4e88-bf9c-e4cdbb99d9db",
"name": "Extract from File1",
"type": "n8n-nodes-base.extractFromFile",
"position": [
256,
-704
],
"parameters": {},
"typeVersion": 1
},
{
"id": "559ca06b-7caf-4852-b27c-44fa8f24f416",
"name": "Google Gemini Chat Model2",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
512,
-560
],
"parameters": {},
"typeVersion": 1
},
{
"id": "3dbb9100-2549-4421-814c-a3260e31cf4d",
"name": "Log the processing of the doc1",
"type": "n8n-nodes-base.googleSheets",
"position": [
1680,
-720
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "1b3f9c22-09a3-401f-9f1a-3226dd535a4d",
"name": "Cleans output1",
"type": "n8n-nodes-base.code",
"position": [
-656,
-800
],
"parameters": {},
"typeVersion": 2
},
{
"id": "96c85220-8cf0-4e6a-bbb5-870a7129c3ea",
"name": "Get list of pdf files1",
"type": "n8n-nodes-base.httpRequest",
"position": [
-848,
-800
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "8c29b1cf-983f-4a4c-a031-b42f351f7b46",
"name": "Read processed docs1",
"type": "n8n-nodes-base.googleSheets",
"position": [
-736,
-608
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "74c6773d-4794-4b9a-8600-0c3d76dd8ca4",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-928,
-880
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "70d08a7f-2e3f-4c87-b211-42f9431fdd79",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-144,
-880
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "df813074-a781-45ea-98a0-5941f22fa7f8",
"name": "AI Agent - get targeted elements from text1",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
544,
-784
],
"parameters": {},
"typeVersion": 1.9
},
{
"id": "479aa135-bed9-464d-9d0f-fd1e21f0958f",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1184,
-880
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "fcdb2e08-cb36-479b-85fc-3e30219e5d24",
"name": "Google Drive Trigger1",
"type": "n8n-nodes-base.googleDriveTrigger",
"position": [
-1120,
-704
],
"parameters": {},
"typeVersion": 1
},
{
"id": "548694d2-ced7-4047-8ce2-99077202c840",
"name": "Download file1",
"type": "n8n-nodes-base.googleDrive",
"position": [
64,
-704
],
"parameters": {},
"typeVersion": 3
},
{
"id": "0fcd4caf-6f6b-41ad-b882-c7c58fd3e0e4",
"name": "Structured Output Parser1",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
688,
-608
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "1f2a7b86-5134-4541-8c84-f5544f62f4c8",
"name": "Google Gemini Chat Model3",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
768,
-480
],
"parameters": {},
"typeVersion": 1
},
{
"id": "7f825e30-be8e-4ada-a74e-0831ea3580bd",
"name": "Limit1",
"type": "n8n-nodes-base.limit",
"disabled": true,
"position": [
-128,
-704
],
"parameters": {},
"typeVersion": 1
},
{
"id": "11e663ae-b30d-4b22-9c85-92a09bf94818",
"name": "Send a message1",
"type": "n8n-nodes-base.gmail",
"position": [
1456,
-1120
],
"parameters": {},
"executeOnce": true,
"typeVersion": 2.1
},
{
"id": "2c9e2591-51ca-4cf3-b1b8-f30a854a0a0f",
"name": "Update invoice Fields1",
"type": "n8n-nodes-base.googleSheets",
"position": [
1456,
-784
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "02719e23-6981-4dab-81ba-b49ff1462cb2",
"name": "Loop Over Items1",
"type": "n8n-nodes-base.splitInBatches",
"position": [
1008,
-784
],
"parameters": {},
"typeVersion": 3
},
{
"id": "767efe5c-6da5-4048-a56a-dec53da68438",
"name": "Code in JavaScript1",
"type": "n8n-nodes-base.code",
"position": [
1232,
-784
],
"parameters": {},
"typeVersion": 2
},
{
"id": "571d934d-c285-402a-aab3-7020dc9e2614",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
208,
-880
],
"parameters": {
"content": ""
},
"typeVersion": 1
}
],
"connections": {
"Limit1": {
"main": [
[
{
"node": "Download file1",
"type": "main",
"index": 0
}
]
]
},
"Cleans output1": {
"main": [
[
{
"node": "Compare Datasets1",
"type": "main",
"index": 0
}
]
]
},
"Download file1": {
"main": [
[
{
"node": "Extract from File1",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items1": {
"main": [
[
{
"node": "Send a message1",
"type": "main",
"index": 0
}
],
[
{
"node": "Code in JavaScript1",
"type": "main",
"index": 0
}
]
]
},
"Compare Datasets1": {
"main": [
[
{
"node": "Limit1",
"type": "main",
"index": 0
}
]
]
},
"Extract from File1": {
"main": [
[
{
"node": "AI Agent - get targeted elements from text1",
"type": "main",
"index": 0
}
]
]
},
"Code in JavaScript1": {
"main": [
[
{
"node": "Update invoice Fields1",
"type": "main",
"index": 0
}
]
]
},
"Read processed docs1": {
"main": [
[
{
"node": "Compare Datasets1",
"type": "main",
"index": 1
}
]
]
},
"Google Drive Trigger1": {
"main": [
[
{
"node": "Get list of pdf files1",
"type": "main",
"index": 0
},
{
"node": "Read processed docs1",
"type": "main",
"index": 0
}
]
]
},
"Get list of pdf files1": {
"main": [
[
{
"node": "Cleans output1",
"type": "main",
"index": 0
}
]
]
},
"Update invoice Fields1": {
"main": [
[
{
"node": "Log the processing of the doc1",
"type": "main",
"index": 0
}
]
]
},
"Google Gemini Chat Model2": {
"ai_languageModel": [
[
{
"node": "AI Agent - get targeted elements from text1",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Google Gemini Chat Model3": {
"ai_languageModel": [
[
{
"node": "Structured Output Parser1",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Structured Output Parser1": {
"ai_outputParser": [
[
{
"node": "AI Agent - get targeted elements from text1",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Log the processing of the doc1": {
"main": [
[
{
"node": "Loop Over Items1",
"type": "main",
"index": 0
}
]
]
},
"AI Agent - get targeted elements from text1": {
"main": [
[
{
"node": "Loop Over Items1",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow automates the extraction and processing of invoice data from PDFs stored in a Google Drive folder. It leverages Google Drive, Google Sheets, and Gemini AI to streamline invoice management. Automatic Detection: Monitors a Google Drive folder for new invoices.…
Source: https://n8n.io/workflows/9261/ — 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.
Who is this for? Agencies, consultants, and service providers who conduct discovery calls and need to quickly turn conversations into professional proposals.
This comprehensive n8n workflow automates the entire Meta (Facebook/Instagram) advertising process, from asset analysis to ad creation. It combines AI-powered content analysis with automated ad deploy
This automation is designed to help you generate AI-powered music tracks, cover art, and fully rendered music videos — all triggered from a simple Telegram chat and managed via Google Sheets.
LinkedIn URL → Scrape → Match → Screen → Decide, all automated
Transcript Evalu8r V2 is a robust browser-based transcript analysis tool powered by Deepgram’s speech-to-text API and built into an n8n workflow template. This release introduces full in-browser audio