This workflow corresponds to n8n.io template #14102 — we link there as the canonical source.
This workflow follows the Gmail → Google Sheets 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": "fAl8GPShvDVoLGVV",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Seed & Series A Funding Enrichment & Weekly Scouting Report with PredictLeads",
"tags": [],
"nodes": [
{
"id": "963b415d-95cf-48a6-bb15-c93fb6f4363c",
"name": "About This Workflow",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3280,
304
],
"parameters": {
"color": 4,
"width": 420,
"height": 400,
"content": "ABOUT THIS WORKFLOW\n\nMonitors your company watchlist for new Seed and Series A funding rounds and delivers a formatted weekly scouting report via email and Slack.\n\nSetup: Google Sheet with company domains, PredictLeads API, OpenAI API key, Gmail OAuth2, Slack webhook.\n\nUse case: A VC analyst tracks 200 companies. Every Monday, this workflow checks for new funding rounds and sends a clean report with company, round type, amount, and investors.\n\nPredictLeads API: https://predictleads.com\nQuestions: https://www.linkedin.com/in/yaronbeen"
},
"typeVersion": 1
},
{
"id": "fd52965d-e11b-4a3f-8330-4832ec48bc16",
"name": "\ud83d\udccc TRIGGER & INPUT",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2800,
-32
],
"parameters": {
"color": 5,
"width": 520,
"height": 748,
"content": "## 1\ufe0f\u20e3 Trigger & Watchlist Source\n\n**Nodes:** \n\u23f0 Weekly Schedule \u2192 \ud83d\udccb Read Watchlist\n\n**Description:** \nThe workflow begins with a weekly scheduled trigger that runs automatically every Monday. \nIt reads a list of company domains from a **Google Sheets watchlist**, which represents the companies you want to monitor for funding activity.\n\nThis sheet acts as the source dataset for the scouting workflow. Each domain from the list will be checked to determine whether the company has recently raised funding."
},
"typeVersion": 1
},
{
"id": "929a78cc-ff12-4e83-a228-a2b930aff6b5",
"name": "\ud83d\udd0d ENRICHMENT",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2224,
-16
],
"parameters": {
"color": 5,
"width": 696,
"height": 732,
"content": "## 2\ufe0f\u20e3 Financing Event Enrichment\n\n**Nodes:** \n\ud83d\udd04 Loop Companies \u2192 \ud83d\udd0d Fetch Financing Events \u2192 \u2699\ufe0f Filter Seed & Series A\n\n**Description:** \nEach company from the watchlist is processed individually in a loop. \n\nThe workflow calls the **PredictLeads Financing Events API** to retrieve recent funding events for that company. \nAfter retrieving the data, a code node filters the results to keep only **Seed and Series A funding rounds** that occurred within the **last 7 days**.\n\nThis ensures the workflow focuses only on **early-stage funding activity**, which is typically most relevant for scouting and market monitoring."
},
"typeVersion": 1
},
{
"id": "959aa596-1bdb-48fa-bc19-8fc268741d3d",
"name": "\u2699\ufe0f PROCESSING",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1456,
-272
],
"parameters": {
"color": 5,
"width": 520,
"height": 972,
"content": "## 3\ufe0f\u20e3 Data Processing & AI Report Generation\n\n**Nodes:** \n\u2699\ufe0f Aggregate Results \u2192 \ud83e\udd16 Generate Scouting Report\n\n**Description:** \nAll filtered funding events from the workflow run are aggregated into a single structured dataset. \n\nThis dataset is then sent to **OpenAI**, which generates a formatted **weekly venture scouting report**. \nThe report includes a summary of discovered funding rounds along with a structured markdown table showing:\n\n- Company \n- Round Type \n- Funding Amount \n- Date \n- Key Investors \n\nThe AI also produces a short analysis highlighting key patterns or trends in the funding activity."
},
"typeVersion": 1
},
{
"id": "5bc988d5-955a-4f2b-b3dd-c0e808f61e44",
"name": "\ud83e\udd16 AI REPORT",
"type": "n8n-nodes-base.stickyNote",
"position": [
-864,
-208
],
"parameters": {
"color": 5,
"width": 380,
"height": 956,
"content": "## 4\ufe0f\u20e3 Report Delivery & Notifications\n\n**Nodes:** \n\ud83d\udce7 Send Report Email \u2192 \ud83d\udcac Slack Summary\n\n**Description:** \nOnce the AI-generated scouting report is ready, it is delivered through two channels.\n\nThe full report is sent via **Gmail**, allowing the team to review the complete analysis and funding details. \nAt the same time, a **Slack notification** is posted to alert the team that the weekly scouting report is available.\n\nThis ensures the insights reach stakeholders quickly while keeping the workflow fully automated."
},
"typeVersion": 1
},
{
"id": "39f95c3d-9b2a-4da1-b812-20cbb1543bb4",
"name": "\u23f0 Weekly Schedule",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-2704,
464
],
"parameters": {
"rule": {
"interval": [
{
"field": "weeks"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "df0b98e5-704c-442a-8ee1-9f929dd90fab",
"name": "\ud83d\udccb Read Watchlist",
"type": "n8n-nodes-base.googleSheets",
"position": [
-2480,
464
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID_07/edit#gid=0",
"cachedResultName": "Watchlist"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "YOUR_GOOGLE_SHEET_ID_07",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID_07/edit?usp=drivesdk",
"cachedResultName": "07"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.5
},
{
"id": "26625e32-dfab-480c-b62d-0971aea978f0",
"name": "\ud83d\udd04 Loop Companies",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-2144,
464
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "83655a99-2dd0-402b-8ec2-eb8a3d0064f5",
"name": "\ud83d\udd0d Fetch Financing Events",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1936,
480
],
"parameters": {
"url": "=https://predictleads.com/api/v3/companies/{{ $json.domain }}/financing_events",
"options": {},
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "X-Api-Key",
"value": "YOUR_PREDICTLEADS_API_KEY"
},
{
"name": "X-Api-Token",
"value": "YOUR_PREDICTLEADS_API_TOKEN"
},
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "545e0b4f-d441-4010-ab1a-d4d2f8c9d1e1",
"name": "\u2699\ufe0f Filter Seed & Series A",
"type": "n8n-nodes-base.code",
"position": [
-1712,
480
],
"parameters": {
"jsCode": "// Filter financing events for Seed and Series A rounds within the last 7 days\nconst items = $input.all();\nconst results = [];\nconst sevenDaysAgo = new Date();\nsevenDaysAgo.setDate(sevenDaysAgo.getDate() - 7);\n\nfor (const item of items) {\n const events = item.json.data || item.json.financing_events || [];\n const domain = item.json.domain || item.json.company_domain || 'unknown';\n\n for (const event of events) {\n const roundType = (event.attributes?.category || event.category || '').toLowerCase();\n const eventDate = new Date(event.attributes?.date || event.date || '1970-01-01');\n\n if (\n (roundType.includes('seed') || roundType.includes('series_a') || roundType.includes('series a')) &&\n eventDate >= sevenDaysAgo\n ) {\n results.push({\n json: {\n domain: domain,\n company_name: event.attributes?.company_name || event.company_name || domain,\n round_type: event.attributes?.category || event.category || 'Unknown',\n amount: event.attributes?.amount || event.amount || 'Undisclosed',\n currency: event.attributes?.currency || event.currency || 'USD',\n date: event.attributes?.date || event.date || 'Unknown',\n investors: (event.attributes?.investors || event.investors || []).join(', ') || 'Undisclosed'\n }\n });\n }\n }\n}\n\n// If no results, pass an empty marker\nif (results.length === 0) {\n return [{ json: { _no_results: true } }];\n}\n\nreturn results;"
},
"typeVersion": 2
},
{
"id": "4e3c450e-de09-4d4d-b66b-3f79bf2ad006",
"name": "\u2699\ufe0f Aggregate Results",
"type": "n8n-nodes-base.code",
"position": [
-1344,
448
],
"parameters": {
"jsCode": "// Aggregate all filtered financing events into a single array\nconst items = $input.all();\nconst allEvents = [];\n\nfor (const item of items) {\n if (!item.json._no_results) {\n allEvents.push(item.json);\n }\n}\n\nif (allEvents.length === 0) {\n return [{\n json: {\n summary: 'No new Seed or Series A rounds found in the last 7 days from your watchlist.',\n events: [],\n count: 0\n }\n }];\n}\n\nreturn [{\n json: {\n summary: `Found ${allEvents.length} Seed/Series A round(s) in the last 7 days.`,\n events: allEvents,\n count: allEvents.length\n }\n}];"
},
"typeVersion": 2
},
{
"id": "53146c28-9e80-4c0e-9a6e-4659fe876063",
"name": "\ud83e\udd16 Generate Scouting Report",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1120,
448
],
"parameters": {
"url": "https://api.openai.com/v1/chat/completions",
"method": "POST",
"options": {},
"jsonBody": "={\n \"model\": \"gpt-4o-mini\",\n \"messages\": [\n {\n \"role\": \"system\",\n \"content\": \"You are a venture capital analyst. Generate a professional weekly scouting report for Seed and Series A funding rounds. Format the report with a title, executive summary, and a markdown table with columns: Company | Round Type | Amount | Date | Key Investors. End with key takeaways and trends.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"Generate a weekly scouting report for the following financing events discovered this week:\\n\\nSummary: {{ $json.summary }}\\n\\nEvents data:\\n{{ JSON.stringify($json.events) }}\"\n }\n ],\n \"temperature\": 0.4,\n \"max_tokens\": 2000\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer YOUR_TOKEN_HERE"
},
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "f3a58dfd-0d89-4023-a664-b6a5587462c2",
"name": "\ud83d\udce7 Send Report Email",
"type": "n8n-nodes-base.gmail",
"position": [
-704,
352
],
"parameters": {
"sendTo": "user@example.com",
"message": "=<h2>Weekly Seed/Series A Scouting Report</h2>\n<p>{{ $json.choices[0].message.content }}</p>\n<hr>\n<p><em>Generated automatically by n8n + PredictLeads</em></p>",
"options": {},
"subject": "=Weekly Seed/Series A Scouting Report - {{ new Date().toISOString().split('T')[0] }}"
},
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "8a3a3f03-78cd-44b1-868f-848cd6e332f1",
"name": "\ud83d\udcac Slack Summary",
"type": "n8n-nodes-base.httpRequest",
"position": [
-704,
544
],
"parameters": {
"url": "https://hooks.slack.com/services/YOUR/SLACK/WEBHOOK",
"method": "POST",
"options": {},
"jsonBody": "={\n \"text\": \"\ud83d\udcca *Weekly Scouting Report Ready*\\nNew Seed/Series A rounds detected from your watchlist. Full report sent via email.\\n\\n{{ $('\u2699\ufe0f Aggregate Results').item.json.summary }}\"\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"typeVersion": 4.2
}
],
"active": false,
"settings": {
"binaryMode": "separate",
"availableInMCP": false,
"executionOrder": "v1"
},
"versionId": "d42bb7de-b53d-4c88-b6cb-072616dd64f4",
"connections": {
"\u23f0 Weekly Schedule": {
"main": [
[
{
"node": "\ud83d\udccb Read Watchlist",
"type": "main",
"index": 0
}
]
]
},
"\ud83d\udccb Read Watchlist": {
"main": [
[
{
"node": "\ud83d\udd04 Loop Companies",
"type": "main",
"index": 0
}
]
]
},
"\ud83d\udd04 Loop Companies": {
"main": [
[
{
"node": "\u2699\ufe0f Aggregate Results",
"type": "main",
"index": 0
}
],
[
{
"node": "\ud83d\udd0d Fetch Financing Events",
"type": "main",
"index": 0
}
]
]
},
"\u2699\ufe0f Aggregate Results": {
"main": [
[
{
"node": "\ud83e\udd16 Generate Scouting Report",
"type": "main",
"index": 0
}
]
]
},
"\ud83d\udd0d Fetch Financing Events": {
"main": [
[
{
"node": "\u2699\ufe0f Filter Seed & Series A",
"type": "main",
"index": 0
}
]
]
},
"\u2699\ufe0f Filter Seed & Series A": {
"main": [
[
{
"node": "\ud83d\udd04 Loop Companies",
"type": "main",
"index": 0
}
]
]
},
"\ud83e\udd16 Generate Scouting Report": {
"main": [
[
{
"node": "\ud83d\udce7 Send Report Email",
"type": "main",
"index": 0
},
{
"node": "\ud83d\udcac Slack Summary",
"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.
gmailOAuth2googleSheetsOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Monitor a company watchlist for new Seed and Series A funding rounds and deliver a formatted weekly scouting report via email and Slack.
Source: https://n8n.io/workflows/14102/ — 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 runs on scheduled weekly and monthly triggers to generate unified marketing performance reports. It processes multiple websites by collecting analytics data, paid ads performance, and CR
Watch target companies for C-level and VP hiring signals, then send AI-personalized outreach emails when leadership roles are posted.
This workflow is designed for marketing teams, data analysts, and business owners who need to consistently track key performance indicators (KPIs). It saves hours of manual data collection and reporti
Detect when target accounts adopt competitor technology by enriching company watchlists with PredictLeads tech detection data and emailing the assigned AE.
Goal: Get Reddit posts from specific subreddits, filter those mentioning freelance/gigs and n8n, extract top-level comments, remove mod replies, and store everything into Google Sheets.