This workflow corresponds to n8n.io template #7740 — we link there as the canonical source.
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": "da1b90d1-a828-484d-85f7-d67c9463d4de",
"name": "Get many deals1",
"type": "n8n-nodes-base.pipedrive",
"position": [
-528,
7312
],
"parameters": {
"filters": {},
"operation": "getAll",
"returnAll": true
},
"credentials": {
"pipedriveApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "94915914-ea83-49c3-8f82-e60213af604a",
"name": "Sticky Note12",
"type": "n8n-nodes-base.stickyNote",
"position": [
-624,
6912
],
"parameters": {
"color": 3,
"width": 288,
"height": 544,
"content": "### 2\ufe0f\u20e3 Connect Pipedrive\n1. In **Pipedrive** \u2192 **Personal preferences \u2192 API** \u2192 copy your **API token** \n - URL shortcut: `https://{your-company}.pipedrive.com/settings/personal/api` \n2. In **n8n** \u2192 **Credentials \u2192 New \u2192 Pipedrive API** \n - **Company domain**: `{your-company}` (the subdomain in your Pipedrive URL) \n - **API Token**: paste the token from step 1 \u2192 **Save** \n3. In the **Pipedrive Tool** node, select your Pipedrive credential and (optionally) set filters (e.g., owner, label, created time).\n"
},
"typeVersion": 1
},
{
"id": "e206c83f-d4e9-421e-b84c-7ef3200357ed",
"name": "When clicking \u2018Execute workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-656,
7312
],
"parameters": {},
"typeVersion": 1
},
{
"id": "845b7a0b-d4bc-4041-8c76-0c4d7dec578b",
"name": "Categorize stages",
"type": "n8n-nodes-base.code",
"position": [
-192,
6912
],
"parameters": {
"jsCode": "// Code node: Rename stage_id numbers to names\n// Input: items with item.json.stage_id\n// Output: item.json.stage_name (string)\n\nconst stageMap = {\n 1: \"Prospecting\",\n 2: \"Qualified\",\n 3: \"Proposal Sent\",\n 4: \"Negotiation\",\n 5: \"Closed Won\"\n};\n\nreturn items.map(item => {\n const stageId = item.json.stage_id;\n item.json.stage_name = stageMap[stageId] || `Unknown (${stageId})`;\n return item;\n});\n"
},
"typeVersion": 2
},
{
"id": "a9191249-7b71-4218-ac59-4e6586f9c7f6",
"name": "Today's Date",
"type": "n8n-nodes-base.code",
"position": [
-144,
7376
],
"parameters": {
"jsCode": "return [\n {\n json: {\n badges: {\n today: new Date().toISOString().split('T')[0] \n }\n }\n }\n];\n"
},
"typeVersion": 2
},
{
"id": "c8317b16-77f2-4d03-b727-63d59ae6d0f1",
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
64,
7088
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineAll"
},
"typeVersion": 3.2
},
{
"id": "a6d7d5de-64e3-42b8-8fe3-eb49c4809b31",
"name": "Sticky Note13",
"type": "n8n-nodes-base.stickyNote",
"position": [
400,
6848
],
"parameters": {
"color": 3,
"width": 352,
"height": 384,
"content": "### 2\ufe0f\u20e3 Prepare Your Google Sheet\n#### Connect your Data in Google Sheets\n- Use this format: **[Sample Sheet](https://docs.google.com/spreadsheets/d/1u0i-sfPxmfmm5YMU3ekEdQgdOHA6OgnbI-VwuRMDq4Q/edit?gid=0#gid=0)**\n- Row 1 = **column names** \n- In n8n, use **Google Sheets OAuth2** \u2192 pick your **Spreadsheet** and **Worksheet**\n"
},
"typeVersion": 1
},
{
"id": "80f49397-1db1-44bf-b768-4abe02dc9a97",
"name": "Sticky Note58",
"type": "n8n-nodes-base.stickyNote",
"position": [
-688,
6688
],
"parameters": {
"color": 7,
"width": 1488,
"height": 928,
"content": "# \ud83d\udccb Pipedrive \u2192 Google Sheets \n\nThis workflow pulls deals from **Pipedrive**, categorizes them by stage, and logs them into a **Google Sheet** for reporting and tracking. "
},
"typeVersion": 1
},
{
"id": "e6e97e79-a17e-4c5a-9779-a82fc7f5d12f",
"name": "Sticky Note15",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1136,
6688
],
"parameters": {
"width": 400,
"height": 928,
"content": "\n\n## \u2699\ufe0f Setup Instructions \n\n### 1\ufe0f\u20e3 Connect Pipedrive \n1. In **Pipedrive** \u2192 **Personal preferences \u2192 API** \u2192 copy your **API token** \n - URL shortcut: `https://{your-company}.pipedrive.com/settings/personal/api` \n2. In **n8n** \u2192 **Credentials \u2192 New \u2192 Pipedrive API** \n - **Company domain**: `{your-company}` (the subdomain in your Pipedrive URL) \n - **API Token**: paste the token from step 1 \u2192 **Save** \n3. In the **Pipedrive Tool** node, select your Pipedrive credential and (optionally) set filters (e.g., owner, label, created time). \n\n---\n\n### 2\ufe0f\u20e3 Prepare Your Google Sheet \n#### Connect your Data in Google Sheets \n- Use this format: **[Sample Sheet](https://docs.google.com/spreadsheets/d/1u0i-sfPxmfmm5YMU3ekEdQgdOHA6OgnbI-VwuRMDq4Q/edit?gid=0#gid=0)** \n- Row 1 = **column names** \n- In **n8n**, create credentials: **Google Sheets (OAuth2)** \n- Log in with your Google account and select your **Spreadsheet** + **Worksheet** \n\n---\n\n\n## \ud83d\udcec Contact \nNeed help customizing this (e.g., pulling only active deals, calculating win-rates, or sending dashboards)? \n\n\ud83d\udce7 **robert@ynteractive.com** \n\ud83d\udd17 **[Robert Breen](https://www.linkedin.com/in/robert-breen-29429625/)** \n\ud83c\udf10 **[ynteractive.com](https://ynteractive.com)**\n"
},
"typeVersion": 1
},
{
"id": "14a3cd0a-d1b1-4a57-82fa-4a2e05d7cd1a",
"name": "Store in google",
"type": "n8n-nodes-base.googleSheets",
"position": [
528,
7072
],
"parameters": {
"columns": {
"value": {
"Date": "={{ $json.Date }}",
"Deal": "={{ $json.Deal }}",
"stage_name": "={{ $json.stage_name }}"
},
"schema": [
{
"id": "Date",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "stage_name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "stage_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Deal",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Deal",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1u0i-sfPxmfmm5YMU3ekEdQgdOHA6OgnbI-VwuRMDq4Q/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1u0i-sfPxmfmm5YMU3ekEdQgdOHA6OgnbI-VwuRMDq4Q",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1u0i-sfPxmfmm5YMU3ekEdQgdOHA6OgnbI-VwuRMDq4Q/edit?usp=drivesdk",
"cachedResultName": "Pipedrive Progress"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
},
{
"id": "d7536de3-e3cc-41cf-a60d-2b295358cbde",
"name": "Set Fields",
"type": "n8n-nodes-base.set",
"position": [
272,
7088
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "fc41847f-2c15-43ed-b627-970f270088ea",
"name": "Date",
"type": "string",
"value": "={{ $json.badges.today }}"
},
{
"id": "321b11b5-040f-4a34-b99b-55be66f97a39",
"name": "stage_name",
"type": "string",
"value": "={{ $json.stage_name }}"
},
{
"id": "cb9b3673-6826-400c-8d84-5cd29c095935",
"name": "Deal",
"type": "string",
"value": "={{ $('Get many deals1').item.json.title }}"
}
]
}
},
"typeVersion": 3.4
}
],
"connections": {
"Merge": {
"main": [
[
{
"node": "Set Fields",
"type": "main",
"index": 0
}
]
]
},
"Set Fields": {
"main": [
[
{
"node": "Store in google",
"type": "main",
"index": 0
}
]
]
},
"Today's Date": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Get many deals1": {
"main": [
[
{
"node": "Categorize stages",
"type": "main",
"index": 0
}
]
]
},
"Categorize stages": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"When clicking \u2018Execute workflow\u2019": {
"main": [
[
{
"node": "Get many deals1",
"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.
googleSheetsOAuth2ApipipedriveApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow pulls deals from Pipedrive, categorizes them by stage, and logs them into a Google Sheet for reporting and tracking. In Pipedrive → Personal preferences → API → copy your API token URL shortcut: In n8n → Credentials → New → Pipedrive API Company domain: (the…
Source: https://n8n.io/workflows/7740/ — 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 template is ideal for solo store owners, eCommerce marketers, automation beginners, or anyone using Shopify and Gmail who wants to recover lost revenue without coding.
PCN. Uses googleSheets, httpRequest, @n-octo-n/n8n-nodes-json-database, itemLists. Event-driven trigger; 60 nodes.
The workflow automates the process of gathering extensive keyword data for a "Main Keyword." It starts by reading initial parameters from a Google Sheets template, creates a new dedicated Google Sheet
🔥 March Sale – n8n Community Members Get ideoGener8r for Just $27! (Reg. $47) Use Coupon Code: (Valid until 3/31/2025 for n8n community members)
📄 Documentation: Notion Guide