Monitor competitor prices with OpenAI, Google Sheets, Slack, and Notion
Quick overview This workflow runs daily to read competitor product URLs from Google Sheets, fetch each page, use OpenAI to extract price and stock status, and send Slack alerts and Notion logs for significant price drops while updating the latest prices back in Google Sheets.
How it works Runs every day on a schedule. Loads configuration values and pulls all competitor rows (including product name, URL, and last known price) from Google Sheets. Fetches each competitor product page URL with retries and, if the request fails, posts an error alert to Slack and continues to the next item. Cleans the fetched HTML into plain text and sends it to OpenAI to extract a price, stock status, and a confidence level. Routes low-confidence extractions to a Slack “manual check” alert, otherwise compares the extracted price to the last known price to detect drops beyond the configured threshold. For significant drops, posts a Slack alert and creates a Notion database entry, then writes the latest checked time and new last-known price back to Google Sheets. After all rows are processed, posts a daily Slack summary with counts of checked items, detected drops, fetch errors, and low-confidence extractions.
Setup Connect credentials for Google Sheets, OpenAI, Slack, and Notion. Create a Google Sheet with columns such as productName, competitorUrl, ourPrice, lastKnownPrice, and checkedAt, and set the sheet/document ID and sheet tab in the Google Sheets steps. Update the Config step values for slackAlertChannelId, slackErrorChannelId, notionDatabaseId, googleSheetId, and priceDropThresholdPercent. Ensure the HTTP request step is set to continue on error (so failed fetches route to Slack error alerts instead of stopping the run). Create or choose a Notion database with properties matching the fields being written (for example New Price, Change %, and Competitor URL).
Requirements Google Sheet with columns: productName, competitorUrl, ourPrice, lastKnownPrice, checkedAt Google Sheets OAuth2 credential OpenAI API key Slack workspace with two channels (one for price alerts, one for errors/review) Notion database for logging price drops
Customization Adjust the price drop threshold percentage in the Config node Change the schedule frequency (default: daily) Extend the AI prompt to extract additional fields like promotional badges or shipping cost Swap Notion for Airtable if preferred
Related Templates
Automated Work Attendance with Location Triggers
his workflow automates time tracking using location-based triggers. How it works Trigger: It starts when you enter or e...
Automated SEO Performance Collection from Google Search Console to NocoDB
Problem Monitoring SEO performance from Google Search Console (GSC) manually is repetitive and prone to human error. Fo...
Summarize SERPBear data with AI (via Openrouter) and save it to Baserow
Who's this for? If you own a website and need to analyze your keyword rankings If you need to create a keyword report on...
🔒 Please log in to import templates to n8n and favorite templates
Workflow Visualization
Loading...
Preparing workflow renderer
Comments (0)
Login to post comments