Google Sheets + Telegram: Amazon price drops alerted
Manually checking Amazon prices is a special kind of annoying. You open five tabs, forget what the “good price” was, and somehow still miss the one drop you actually cared about.
This is the kind of mess that hits marketing teams tracking competitor promos, but small business owners watching supplies feel it too. Even agency operators doing market research get stuck in the same loop. This Amazon price alerts automation moves the tracking into Google Sheets and pings you in Telegram the moment a product hits a new low.
Below, you’ll see what the workflow does, the practical results you can expect, and how to set it up without turning this into a “new side hobby”.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: Google Sheets + Telegram: Amazon price drops alerted
flowchart LR
subgraph sg0["When clicking ‘Execute workflow’ Flow"]
direction LR
n1@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking ‘Execute workf..", pos: "b", h: 48 }
n2@{ icon: "mdi:cog", form: "rounded", label: "Scrape Amazon Product Price", pos: "b", h: 48 }
n3["<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/merge.svg' width='40' height='40' /></div><br/>Merge"]
n4@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Min price?", pos: "b", h: 48 }
n5@{ icon: "mdi:database", form: "rounded", label: "Update price", 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/telegram.svg' width='40' height='40' /></div><br/>Send alert"]
n7@{ icon: "mdi:database", form: "rounded", label: "Get products", pos: "b", h: 48 }
n8@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop", pos: "b", h: 48 }
n8 --> n2
n3 --> n8
n4 --> n5
n4 --> n3
n6 --> n3
n7 --> n8
n5 --> n6
n2 --> n4
n1 --> n7
end
subgraph sg1["Schedule Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger", pos: "b", h: 48 }
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 n1,n0 trigger
class n4 decision
class n5,n7 database
classDef customIcon fill:none,stroke:none
class n3,n6 customIcon
The Problem: Tracking “deal prices” turns into tab chaos
If you’re watching more than a couple Amazon items, manual tracking breaks down fast. You might tell yourself “I’ll check once a day,” then you get busy and it becomes once a week. Or you check often, but you don’t record anything consistently, so you can’t tell a real discount from a normal fluctuation. Worst part: the good drop happens while you’re in a meeting, and you only notice after the price rebounds. It’s not just time. It’s the mental overhead of remembering what matters and when to look.
It adds up fast. Here’s where it usually goes sideways.
- You end up re-checking the same products because you don’t trust your notes.
- Prices drop briefly, and you miss the window because there’s no alert.
- “Lowest price” lives in your head, which means mistakes are guaranteed.
- Scaling from 3 items to 30 becomes a daily chore you resent.
The Solution: Google Sheets tracking + Telegram alerts, fully automated
This workflow turns your Google Sheet into a simple price-tracking database, then uses an AI-powered scraper to pull current prices from Amazon on a schedule. It starts by reading your list of products (name, URL, and your current “MIN PRICE”). For each item, it visits the Amazon page and extracts the latest price, even when the page relies on heavy JavaScript rendering. Then it compares the freshly scraped price to your stored minimum. If the new price is lower, it updates the sheet with the new minimum and date, and sends a Telegram message to your chosen chat so you can act immediately. If it’s not a new low, it quietly moves on.
The workflow starts from a timed schedule (every 10 minutes) or a manual run when you want to test. From there, it loops through your sheet, scrapes each page using ScrapeGraphAI, and checks the “new low” condition. Finally, it writes the updated minimum back to Google Sheets and sends the Telegram alert with a link to the product.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you’re tracking 20 items for restocks or deals. Manually, even “quick checks” take maybe 2 minutes per item once you load pages, scan prices, and try to remember the lowest price, which is about 40 minutes per round. Do that once a day and you’ve lost a few hours a week. With this workflow, you add the URLs to Google Sheets once (about 10 minutes), and after that the check runs every 10 minutes and only messages you when something hits a new low. You’ll spend your time reacting to real opportunities, not hunting for them.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Google Sheets to store product URLs and min prices
- Telegram to receive instant price drop messages
- ScrapeGraphAI API key (get it from your ScrapeGraphAI dashboard)
Skill level: Beginner. You’ll connect accounts, paste an API key, and map a few spreadsheet columns.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
A schedule (or manual run) kicks things off. The workflow can run every 10 minutes for near-real-time monitoring, and you can also start it manually while you’re setting things up.
Your Google Sheet becomes the source of truth. n8n pulls your product list and the current “MIN PRICE” value per item, then processes products in batches so it can work through the list reliably.
ScrapeGraphAI extracts the current Amazon price. For each URL, the workflow scrapes the page and returns structured data (so you’re not trying to parse messy HTML by hand). The “new price vs. min price” check happens immediately after.
Only true “new lows” trigger updates and alerts. If the latest price is lower than the stored minimum, the workflow writes the new minimum and date back into Google Sheets, then sends a Telegram notification with the product name and link.
You can easily modify the check from “new lowest price” to “below my target price” based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Schedule Trigger
Set up the scheduled execution that can run alongside manual tests.
- Select Utility: Timed Trigger and set the schedule rule to run at minute
10. - Keep Manual Execution Start for on-demand runs during testing; it starts the main data flow.
Step 2: Connect Google Sheets
Configure the spreadsheet used to store product URLs and update minimum prices.
- Open Retrieve Product List and select the Google Sheet with Document set to
[YOUR_ID]and Sheet set togid=0(Foglio1). Credential Required: Connect your googleSheetsOAuth2Api credentials. - Open Modify Sheet Price and confirm Operation is
update. - In Modify Sheet Price, set the column mappings to:
DATE →{{$now.format('dd/LL/yyyy')}}
MIN PRICE →{{ $('Extract Product Price').item.json.result.price }}
row_number →{{ $('Iterate Items').item.json.row_number }} - Keep Matching Columns set to
row_numberto update the correct row. Credential Required: Connect your googleSheetsOAuth2Api credentials.
PRODUCT , URL, DATE, MIN PRICE, and row_number to avoid update errors.Step 3: Set Up the Processing and Validation Nodes
Extract prices from Amazon and validate whether the new price is a new minimum.
- In Iterate Items, keep default batch settings so each product row is processed individually.
- Configure Extract Product Price with userPrompt set to
You are an expert extraction algorithm. Extract the price of the Amazon productand websiteUrl set to{{ $json.URL }}. Enable renderHeavyJs and useOutputSchema. Credential Required: Connect your scrapegraphAIApi credentials. - In Validate Minimum Price, set the numeric comparison to Left Value
{{ $json.result.price }}and Right Value{{ $('Iterate Items').item.json['MIN PRICE'] }}, using the lt (less than) operator.
Step 4: Configure Output and Loop Control
Send notifications and loop back to process the next product until all rows are complete.
- In Telegram Price Notification, set chatId to
[YOUR_ID]and text toThe product {{ $('Iterate Items').item.json['PRODUCT '] }} (sold by {{ $json['MIN PRICE'] }}) has just hit its lowest price yet on Amazon! 🎉 Check it out: {{ $('Validate Minimum Price').item.json.website_url }}. Credential Required: Connect your telegramApi credentials. - Confirm the flow: Extract Product Price → Validate Minimum Price → Modify Sheet Price → Telegram Price Notification → Combine Streams → Iterate Items.
- Verify the alternate path from Validate Minimum Price (when the price is not lower) goes to Combine Streams to continue iterating.
Step 5: Test and Activate Your Workflow
Run a manual test, verify updates and alerts, then enable scheduled monitoring.
- Click Execute Workflow and use Manual Execution Start to run a test with a few rows from the sheet.
- Successful execution should update MIN PRICE and DATE in the sheet and send a Telegram message when a new minimum is detected.
- Once validated, activate the workflow so Utility: Timed Trigger runs it automatically on schedule.
Common Gotchas
- Google Sheets credentials can expire or need specific permissions. If things break, check the credential status in n8n and confirm the spreadsheet is shared with the connected Google account.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- ScrapeGraphAI can get inconsistent outputs if the prompt or extraction target is vague. Be explicit about the price field you want, and test with a few different Amazon pages before you scale up.
Frequently Asked Questions
About 30 minutes if your Google and Telegram accounts are ready.
No. You’ll mostly connect credentials and match your sheet columns to the workflow fields.
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 ScrapeGraphAI API usage costs, since scraping runs on every scheduled check.
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.
Yes, but you’ll change the logic. Replace the “new price is lower than MIN PRICE” check in the Validate Minimum Price step with “new price is lower than TARGET PRICE,” then add a TARGET PRICE column in Google Sheets. Many teams also customize the Telegram message format, and some add a second alert path to email for high-priority items.
Most of the time it’s OAuth access expiring or the spreadsheet living in a different Google account than the one you connected. Reconnect the Google Sheets credential in n8n, then confirm the spreadsheet is accessible to that account. Also check that the sheet name and tab name match what the node expects, because a renamed tab can look like a “permission” issue.
Dozens is normal, and you can push higher if your scraper quota and n8n limits allow it. On n8n Cloud, the cap depends on your monthly executions, while self-hosting removes the execution ceiling and shifts the limit to your server and ScrapeGraphAI usage. Practically, most people start with 20–50 products and adjust the schedule if they want to monitor more.
Often, yes, because scraping + looping + conditional updates gets expensive and awkward in tools that charge per step. n8n is comfortable with batch processing and branching, so you can run the same “check, compare, update, notify” logic across a whole sheet without building a fragile maze of zaps. The self-hosted option is also a big deal if you want frequent checks. That said, if you only track a couple products and don’t need scraping, Zapier or Make can be faster to click together. Talk to an automation expert if you want a quick recommendation.
Once this is running, you stop “checking prices” and start getting decisions delivered to you. Set it up, let it monitor, and use the extra headspace for work that actually matters.
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.