This workflow follows the Google Drive → Google Drive Trigger 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 →
{
"nodes": [
{
"id": "97b052c3-2a98-4dee-973a-f170a5e575c8",
"name": "Google Drive Trigger",
"type": "n8n-nodes-base.googleDriveTrigger",
"position": [
960,
140
],
"parameters": {
"event": "fileCreated",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerOn": "specificFolder",
"folderToWatch": "1uQ0YnGnQNzIaWGdTt2UBT58tTy8xDlpW"
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "1e82f8f8-175d-4493-a3a9-35380431d91c",
"name": "Google Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
1180,
140
],
"parameters": {
"fileId": "={{ $json[\"id\"] }}",
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 2
},
{
"id": "fb36224d-4acb-4aba-9543-dd534e76477f",
"name": "Spreadsheet File",
"type": "n8n-nodes-base.spreadsheetFile",
"position": [
1400,
140
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "323b2a18-fc98-4b73-9c7f-421780f04e94",
"name": "Pipedrive",
"type": "n8n-nodes-base.pipedrive",
"position": [
1540,
400
],
"parameters": {
"filters": {},
"resource": "lead",
"operation": "getAll",
"returnAll": true
},
"credentials": {
"pipedriveApi": {
"name": "<your credential>"
}
},
"executeOnce": true,
"typeVersion": 1
},
{
"id": "80d9733e-ccfb-4140-981f-8b818c4b9e70",
"name": "Pipedrive1",
"type": "n8n-nodes-base.pipedrive",
"position": [
1920,
380
],
"parameters": {
"personId": "={{ $json[\"person_id\"] }}",
"resource": "person",
"operation": "get"
},
"credentials": {
"pipedriveApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "57197318-b0a9-4f15-9e10-f3750a60936c",
"name": "IF",
"type": "n8n-nodes-base.if",
"position": [
1720,
400
],
"parameters": {
"conditions": {
"number": [
{
"value1": "={{ $json[\"person_id\"] }}",
"operation": "larger"
}
]
}
},
"typeVersion": 1
},
{
"id": "e5592e1d-da1f-4536-b816-3a6df764cd0a",
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
2140,
100
],
"parameters": {
"mode": "removeKeyMatches",
"propertyName1": "Email address",
"propertyName2": "email[0].value"
},
"typeVersion": 1
},
{
"id": "29918402-d224-411d-b563-44d68c5b1c10",
"name": "Set",
"type": "n8n-nodes-base.set",
"position": [
2360,
100
],
"parameters": {
"values": {
"string": [
{
"name": "company",
"value": "={{ $json[\"Company name\"] }}"
},
{
"name": "name",
"value": "={{ $json[\"First name\"] }} {{ $json[\"Last name\"] }}"
},
{
"name": "email",
"value": "={{ $json[\"Email address\"] }}"
},
{
"name": "employees",
"value": "={{ $json[\"Company size\"] }}"
}
]
},
"options": {},
"keepOnlySet": true
},
"typeVersion": 1
},
{
"id": "a3c83915-3b87-41ec-ba3b-5db1134b1763",
"name": "Create Organization",
"type": "n8n-nodes-base.pipedrive",
"position": [
2840,
100
],
"parameters": {
"name": "={{ $json[\"company\"] }}",
"resource": "organization",
"additionalFields": {}
},
"credentials": {
"pipedriveApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "e8f0a561-cc7a-4302-83dc-8c4a407b9b53",
"name": "Create Person",
"type": "n8n-nodes-base.pipedrive",
"position": [
3180,
100
],
"parameters": {
"name": "={{ $node[\"Set\"].json[\"name\"] }}",
"resource": "person",
"additionalFields": {
"email": [
"={{ $node[\"Set\"].json[\"email\"] }}"
],
"org_id": "={{ $json[\"id\"] }}",
"customProperties": {
"property": [
{
"name": "0bf0c49725830779ff146f5a087853d959dee064",
"value": "LinkedIn_Ad"
}
]
}
}
},
"credentials": {
"pipedriveApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "7c038ae1-030e-4047-b4af-d13333ed14af",
"name": "Create Lead",
"type": "n8n-nodes-base.pipedrive",
"position": [
3380,
100
],
"parameters": {
"title": "={{$node[\"Set\"].json[\"company\"]}} lead",
"resource": "lead",
"organization_id": "={{$node[\"Create Organization\"].json.id}}",
"additionalFields": {
"owner_id": 12672788,
"person_id": "={{$json.id}}"
}
},
"credentials": {
"pipedriveApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "46a433d1-0248-4208-89d2-747644e1face",
"name": "Create Note",
"type": "n8n-nodes-base.pipedrive",
"position": [
3580,
100
],
"parameters": {
"content": "=\nCompany Size:\n{{$node[\"Set\"].json[\"employees\"]}}",
"resource": "note",
"additionalFields": {
"lead_id": "={{$json.id}}"
}
},
"credentials": {
"pipedriveApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
}
],
"connections": {
"IF": {
"main": [
[
{
"node": "Pipedrive1",
"type": "main",
"index": 0
}
]
]
},
"Set": {
"main": [
[
{
"node": "Create Organization",
"type": "main",
"index": 0
}
]
]
},
"Merge": {
"main": [
[
{
"node": "Set",
"type": "main",
"index": 0
}
]
]
},
"Pipedrive": {
"main": [
[
{
"node": "IF",
"type": "main",
"index": 0
}
]
]
},
"Pipedrive1": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Create Lead": {
"main": [
[
{
"node": "Create Note",
"type": "main",
"index": 0
}
]
]
},
"Google Drive": {
"main": [
[
{
"node": "Spreadsheet File",
"type": "main",
"index": 0
}
]
]
},
"Create Person": {
"main": [
[
{
"node": "Create Lead",
"type": "main",
"index": 0
}
]
]
},
"Spreadsheet File": {
"main": [
[
{
"node": "Pipedrive",
"type": "main",
"index": 0
},
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Create Organization": {
"main": [
[
{
"node": "Create Person",
"type": "main",
"index": 0
}
]
]
},
"Google Drive Trigger": {
"main": [
[
{
"node": "Google Drive",
"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.
googleDriveOAuth2ApipipedriveApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
How this works
Effortlessly synchronise your Pipedrive CRM data with Google Sheets to keep sales records, leads, and deals updated in real time, saving hours of manual data entry and ensuring your team always works with the latest information. This workflow is ideal for sales managers, small business owners, or marketing teams who rely on Pipedrive and Google Sheets for daily operations but lack time for constant syncing. The key step involves the Google Drive trigger detecting file changes, followed by extracting and pushing spreadsheet data directly into Pipedrive via its API.
Use this workflow when you need automated updates from a shared Google Sheet to Pipedrive, such as importing new leads from a team spreadsheet or appending deal notes without disrupting your routine. Avoid it for high-volume data imports exceeding thousands of rows daily, as it may hit API limits; opt for bulk import tools instead. Common variations include filtering specific sheet rows before syncing or adding email notifications for successful updates.
About this workflow
Pipedrive Spreadsheetfile. Uses googleDriveTrigger, googleDrive, spreadsheetFile, pipedrive. Event-driven trigger; 12 nodes.
Source: https://github.com/Zie619/n8n-workflows — 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.
Automação VR/VA (Desafio 4) teste 1. Uses googleDriveTrigger, googleDrive, compression, spreadsheetFile. Event-driven trigger; 40 nodes.
Automatically process invoices and receipts using Gemini OCR, extracting data directly into Google Sheets from multiple sources including Google Drive, Gmail, and Telegram. This powerful workflow ensu
Working With Excel Spreadsheet Files Xls Xlsx. Uses stickyNote, readBinaryFile, manualTrigger, writeBinaryFile. Event-driven trigger; 24 nodes.
This workflow will help guide you through obtaining a spreadsheet file, reading it, making a change then saving it to local or cloud storage.
Drop a contract (PDF, JPG, PNG) into a watched Google Drive folder. easybits Extractor classifies it (SaaS / Lease / Service / Insurance / Other) and pulls every renewal-relevant field in a single cal