Competitor Price Monitoring with Web Scraping, Google Sheets & Telegram
## How it works Download the Google sheet here and replace this with the Google Sheets node: [Google Sheet](https://www.dropbox.com/scl/fi/zaif45nt9uzgz8mrhht9n/competitor_price_drop_automation.xlsx?rlkey=4vj3wz6gqp16dc2hh9hw5o49z&st=i23h513p&dl=1), upload to Google Sheets and replace in the Google Sheets node. - Scheduled trigger: Runs once a day at 8 AM (server time). - Fetch product list: Reads your "master" sheet (product_url + last known price) from Google Sheets. - Loop with delay: Iterates over each row (product) one at a time, inserting a short pause (20 s) between HTTP requests to avoid blocking. - Scrape current price: Loads each product_url, extracts the current price via a simple CSS selector. - Compare & normalize: Compares the newly scraped price against the "last_price" from your sheet, calculates percentage change, and tags items where price_changed == true. **On price change:** - Send alert: Formats a Telegram message ("Price Drop" or "Price Hike") and pushes it to your configured chat. - Log history: Appends a new row to a separate "price_tracking" tab with timestamp, old price, new price, and % change. - Update master sheet: After a 1 min pause, writes the updated current_price back to your "master" sheet so future runs use it as the new baseline. ## Set up step 1. Google Sheets credentials (~5 min) 2. Create a Google Sheets OAuth credential in n8n. 3. Copy your sheets ID and ensure you have two tabs: 4. product_data (columns: product_url, price) 5. price_tracking (columns: timestamp, product_url, last_price, current_price, price_diff_pct, price_changed) 6. Paste the sheet ID into both Google Sheets nodes ("Read" and "Append/Update"). 7. Telegram credentials (~5 min) 8. Create a Telegram Bot token via BotFather. 9. Copy your chat_id (for your target group or personal chat). 10. Add those credentials to n8n and drop them into the "Telegram" node. ## Workflow parameters (~5 min) - Verify the schedule in the Schedule Trigger node is set to 08:00 (or adjust to your preferred run time). - In the Loop Over Items node, confirm "Batch Size" is 1 (to process one URL at a time). - Adjust the Delay to avoid Request Blocking node if your site requires a longer pause (default is 20 s). - In the Parse Data From the HTML Page node, double-check the CSS selector matches how prices appear on your target site. - Once credentials are in place and your sheet tabs match the expected column names, the flow should be ready to activate. Total setup time is under 15 minutes—detailed notes are embedded as sticky comments throughout the workflow to help you tweak selectors, change timeouts, or adjust sheet names without digging into code.
- Platform
- n8n
- Category
- Commerce
- Price
- $14.99
- Creator
- Tony Paul
- video
- production
- final
- if
- code
- html
- wait
- telegram
- stickyNote
- httpRequest
How to import this workflow into n8n
- 1Purchase or download the workflow to get the n8n workflow JSON file.
- 2In your n8n instance, open Workflows and choose "Import from File" (or paste the JSON with Ctrl+V on the canvas).
- 3Open each node marked with a credential warning and connect your own accounts and API keys.
- 4Run the workflow once manually to verify the data flow, then toggle it to Active.
Related Commerce workflows
- Monetize Private LLM Models with x402 and Ollama in n8n$14.99
- Automatically Discover and Email Pizza Deals Using Bright Data and n8n$9.99
- AI-Powered HR Interview System with BeyondPresence$24.99
- Clone Viral TikToks with AI Avatars & Auto-Post to 9 Platforms$27.99
- Serve Custom HTML Websites via n8n Webhooks$4.99
- Automate Amazon Product Searches via Telegram with AI Integration$9.99
Need this deployed? We'll set it up for you.
Our automation experts deploy this workflow in your stack, connect your accounts, and verify it works — or build a custom solution from scratch.