Google Sheets + Gmail: competitor finance updates
You spot a competitor announcement, open five tabs, copy numbers into a sheet, and then realize you missed the actual filing. Later, leadership asks “what changed since last week?” and you’re back to digging.
This is where Sheets Gmail alerts pay off. Marketing leads need the story fast, founders need signal over noise, and analysts need clean tracking that doesn’t collapse under “quick fixes.”
This workflow monitors competitor funding and filings, stores the numbers in Google Sheets, then emails a plain-English summary via Gmail. You’ll see what it does, what you need, and what to watch for before you install it.
How This Automation Works
See how this solves the problem:
n8n Workflow Template: Google Sheets + Gmail: competitor finance updates
flowchart LR
subgraph sg0["🚦 Manual Launch Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "🚦 Manual Launch Trigger", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "🔗 Set Finance URL", pos: "b", h: 48 }
n2@{ icon: "mdi:robot", form: "rounded", label: "🤖 Financial Data Scraper", pos: "b", h: 48 }
n3@{ icon: "mdi:brain", form: "rounded", label: "🧠 OpenAI Chat Engine", pos: "b", h: 48 }
n4@{ icon: "mdi:cog", form: "rounded", label: "🌐 MCP Data Tool", pos: "b", h: 48 }
n5@{ icon: "mdi:database", form: "rounded", label: "📊 Retrieve Sheet Metrics", pos: "b", h: 48 }
n6["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>⚖️ Evaluate Metrics"]
n7@{ icon: "mdi:message-outline", form: "rounded", label: "📧 Email Comparison Report", pos: "b", h: 48 }
n8@{ icon: "mdi:robot", form: "rounded", label: "Auto-Correcting Parser", pos: "b", h: 48 }
n9@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Engine B", pos: "b", h: 48 }
n10@{ icon: "mdi:robot", form: "rounded", label: "📦 Format Finance JSON", pos: "b", h: 48 }
n9 -.-> n8
n6 --> n7
n4 -.-> n2
n3 -.-> n2
n8 -.-> n2
n0 --> n1
n1 --> n2
n5 --> n6
n10 -.-> n8
n2 --> n5
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n2,n8,n10 ai
class n3,n9 aiModel
class n5 database
class n6 code
classDef customIcon fill:none,stroke:none
class n6 customIcon
The Challenge: Keeping up with competitor financial moves
Competitor finance tracking sounds simple until you do it every week. Funding rounds show up in press releases, numbers shift between sources, and SEC Edgar filings are accurate but slow to read and easy to misinterpret. The real cost isn’t just the time spent searching. It’s the mental load of remembering what you checked, what you logged, and what you meant to follow up on. And when you’re copying values into a spreadsheet by hand, one swapped digit can send your team chasing the wrong narrative for days.
It adds up fast. Here’s where it usually breaks down once volume increases and you’re tracking more than a couple competitors.
- You end up comparing “last time” by memory because the sheet isn’t consistently updated.
- Numbers get copied from the wrong source, which means your summary is confidently wrong.
- Important changes hide inside long filings, and nobody has time to read them line-by-line.
- Updates reach stakeholders too late, after sales, PR, or strategy decisions are already made.
The Fix: Automatic finance monitoring with a Sheets log + Gmail summary
This workflow turns competitor finance monitoring into a repeatable system. You start with a list of sources (like Crunchbase pages, press release URLs, or SEC Edgar links) and the workflow pulls fresh data using an HTTP request and a scraping agent. Then OpenAI extracts the key figures you actually care about (funding amount, revenue mentions, valuation context) and formats them into structured JSON so your spreadsheet stays clean. Next, the workflow retrieves your existing Google Sheets metrics, compares the new pull with what’s already logged, and runs a small evaluation step to decide what counts as “significant.” Finally, Gmail sends a comparison report that reads like a brief, not a data dump.
The workflow starts when you run it manually (or schedule it in n8n) after you’ve set your competitor finance URLs. From there, the scraper and AI parsing steps normalize messy pages into consistent fields. Google Sheets becomes your timeline, and Gmail becomes the “what changed” alert channel your team will actually read.
What Changes: Before vs. After
| What This Eliminates | Impact You’ll See |
|---|---|
|
|
Real-World Impact
Say you track 10 competitors, and each week you check three sources per company (a database page, a press release page, and Edgar). If you spend about 5 minutes per source to scan, copy numbers, and note changes, that’s roughly 2.5 hours weekly. With this workflow, you kick it off in a minute, wait for scraping and parsing to finish, and then read one Gmail report that points to what changed. You still review the highlights, but the busywork is basically gone.
Requirements
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Google Sheets for your competitor finance tracking log.
- Gmail to email the comparison report to your team.
- OpenAI API key (get it from your OpenAI dashboard).
Skill level: Intermediate. You’ll connect accounts, add credentials, and edit a Set node with your competitor URLs and thresholds.
Need help implementing this? Talk to an automation expert (free 15-minute consultation).
The Workflow Flow
A manual run starts it. In this version, you launch the workflow when you want an update (many teams later switch to a schedule). The first step sets the finance URLs and any “only alert me if it’s big” thresholds.
Scraping pulls the latest public data. The workflow uses an agent-style scraper and HTTP requests to collect content from sources like funding databases, press releases, and filings pages. This is the messy part in real life, so it’s handled automatically.
AI extracts and normalizes the figures. OpenAI converts unstructured text into consistent fields (think revenue mentions, funding amounts, valuation notes). A structured output parser formats everything into predictable JSON so you don’t end up with a spreadsheet full of half-sentences.
Google Sheets becomes the baseline for comparison. The workflow retrieves existing sheet metrics, evaluates what changed with a small code step, and decides what to include in the report.
Gmail sends the “what changed” report. You get a single email that compares current findings against what’s already in the sheet, so you’re not rereading the same information each run.
You can easily modify the competitor list and “significance” thresholds to match how your team thinks. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Manual Trigger
Set up the workflow to start on demand so you can run the financial comparison when needed.
- Add the 🚦 Manual Launch Trigger node as the workflow trigger.
- Leave all settings at their defaults for manual testing and execution.
Step 2: Connect Google Sheets
Pull your baseline financial metrics from a spreadsheet to compare against Tesla’s latest numbers.
- Add 📊 Retrieve Sheet Metrics and open its configuration.
- Set Document to
[YOUR_ID]. - Set Sheet Name to
gid=0(the sheet labeled “Sheet1”). - Credential Required: Connect your
googleSheetsOAuth2Apicredentials.
Total Revenue, Quarter Estimate, Pretax Income, Basic EPS, Diluted EPS, Net Income, Net Margin, Total Expenses).Step 3: Set Up the Financial Data AI Scraper
Configure the AI agent and tools that scrape Yahoo Finance and format the output into structured JSON.
- Open 🔗 Set Finance URL and set the field teslaURL to
https://finance.yahoo.com/quote/TSLA/financials. - Open 🤖 Financial Data Scraper and confirm the Text prompt includes the expression
{{ $json.teslaURL }}for the search URL. - Ensure 🤖 Financial Data Scraper uses 🧠 OpenAI Chat Engine as its language model. Credential Required: Connect your
openAiApicredentials in 🧠 OpenAI Chat Engine. - In 🌐 MCP Data Tool, confirm Tool Name is
web_data_yahoo_finance_businessand Tool Parameters uses{{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Tool_Parameters', ``, 'json') }}. Credential Required: Connect yourmcpClientApicredentials. - Confirm the output parser chain: 📦 Format Finance JSON → Auto-Correcting Parser → 🤖 Financial Data Scraper. Credential Required: Add
openAiApicredentials to OpenAI Chat Engine B (the language model for Auto-Correcting Parser).
Step 4: Set Up Metric Comparison Logic
Compare your sheet values against Tesla’s latest financial metrics and generate a comparison summary.
- Open ⚖️ Evaluate Metrics and keep the provided JavaScript in Code as-is to compare AI output to Google Sheets values.
- Verify the code references the AI data path from 🤖 Financial Data Scraper using
$('🤖 Financial Data Scraper').first().json.output.financial_data.
Step 5: Configure Email Delivery
Send a summary email showing whether each metric is outperforming or underperforming.
- Open 📧 Email Comparison Report and set Send To to
[YOUR_EMAIL]. - Set Subject to
Financial Comparison: Your Company vs Tesla, Inc. (TSLA). - Set Message to the provided expression block beginning with
Hello team!and containing dynamic values like{{ $json.comparison[0].result }}through{{ $json.comparison[7].result }}. - Credential Required: Connect your
gmailOAuth2credentials.
Step 6: Test and Activate Your Workflow
Run a manual test to validate AI extraction, comparisons, and email output before activating the workflow.
- Click Execute Workflow from 🚦 Manual Launch Trigger to run the full flow.
- Confirm 🤖 Financial Data Scraper returns structured output matching the schema in 📦 Format Finance JSON.
- Verify ⚖️ Evaluate Metrics produces a
comparisonarray with eight results. - Check your inbox for the email from 📧 Email Comparison Report and validate the outputs.
- Toggle the workflow Active once you’re satisfied with the results.
Watch Out For
- Google Sheets permissions can be sneaky. If rows stop updating, check the connected Google account in n8n credentials and confirm it still has edit access to the exact spreadsheet.
- If you’re using Wait nodes or external scraping, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- OpenAI prompts that are too generic produce fluffy summaries. Add your “what matters” criteria early (funding stage, valuation changes, SEC form types) or you will be editing outputs forever.
Common Questions
About 30 minutes if your Google and OpenAI accounts are ready.
Yes, but you’ll want one careful person to own the setup. No coding is required, though you will edit a competitor list and thresholds in a Set node.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API usage, which is usually a few cents per run for summarization.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
You can swap the monitored sources by editing the “Set Finance URL” step, then tighten or loosen what counts as meaningful in the “Evaluate Metrics” code step. Common tweaks include tracking different SEC form types, adding extra fields (like “lead investor” or “use of proceeds”), and changing the email tone to match your internal update style.
Usually it’s permissions or an expired Google authorization. Reconnect the Google Sheets credential in n8n, then confirm the same account can edit the spreadsheet you’re targeting. If the sheet was copied or moved, the workflow may still be pointing at the old file ID. Also check for shared-drive restrictions if you’re in Google Workspace.
On a typical n8n Cloud plan, you can run it daily for dozens of competitors without drama.
For this workflow, n8n is a better fit if you want scraping + AI parsing + conditional evaluation in one place, because those multi-step chains get expensive and awkward in most “simple automation” tools. Self-hosting is another advantage, especially when you want lots of runs without worrying about execution pricing. Zapier or Make can still work if you only need a lightweight email from a single source and you don’t care about structured data in Google Sheets. The moment you add multiple URLs, comparisons against historical rows, and structured JSON parsing, n8n is just easier to grow with. If you want a second opinion on tooling, Talk to an automation expert.
Once this is running, competitor finance updates stop being a weekly scramble and start being a calm, consistent signal. The workflow handles the repetitive checking and summarizing so you can focus on decisions.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.