๐ Reprice WooCommerce products using Amazon data, Bright Data, OpenAI and Slack
โก 3 views ยท ๐ Market Research & Insights
๐ก Pro Tip โ HTTP Request scraping tends to break when sites update their markup. If youโre scraping a major platform, check if ScraperNode covers it โ it has maintained scrapers for LinkedIn, Instagram, TikTok, YouTube, and 20+ other platforms that return structured data.
Description
Quick overview
This workflow runs daily to compare WooCommerce product prices against Amazon buy-box prices scraped via Bright Data, uses OpenAI (GPT-5.6) to confirm each Amazon URL matches the same product, then (optionally) updates WooCommerce sale prices, logs results to Google Sheets, and posts a digest to Slack.
How it works
- Runs every day on a schedule and loads repricing rules (limits, margin/undercut settings, dry-run flag, and target Slack channel).
- Fetches up to the configured number of products from WooCommerce and reads a Google Sheets mapping of
skutoamazon_url(pluscost) to build a list of comparable product pairs. - Triggers Bright Dataโs Amazon product dataset for all competitor URLs, then polls the snapshot progress until the scrape is ready.
- Downloads the scraped results, joins them back to the WooCommerce products by URL, and extracts buy-box price, availability, and title data.
- Uses OpenAI (GPT-5.6) to verify the WooCommerce and Amazon listings refer to the same product, then calculates a new sale price using guardrails like margin floor, regular-price ceiling, max change per run, and a sanity band.
- If
dry_runis off, updates the WooCommerce sale price for each approved change; otherwise, skips writes while keeping the same reporting. - Appends each proposed/applied change to a Google Sheets โReprice Logโ tab and posts a summary (including held-back items and reasons) to Slack.
Setup
- Add credentials for Bright Data (HTTP Header Auth with
Authorization: Bearer <API_KEY>), WooCommerce, Google Sheets, OpenAI, and Slack. - Create or update a Google Sheet with a mapping tab (for example,
Sheet1) containingsku,amazon_url, andcostcolumns, plus a โReprice Logโ tab for appended results. - In the workflow settings, set your competitor sheet ID in the repricing rules and update the Google Sheets document ID used for logging.
- Set the Slack channel name in the repricing rules (for example,
#pricing) and leavedry_runenabled until you validate the digest output.
Requirements
- A WooCommerce store, a Bright Data account with access to the Amazon products dataset, plus OpenAI, Google Sheets and Slack credentials.
Customization
- Three optional add-ons ship unwired beside the main chain, so you can plug in whichever fits your shop: Clear Todayโs Sale Prices rolls a whole run back, Email The Reprice Digest replaces the Slack post, and Hold Back Promo Products keeps named SKUs out of the repricing.
- Tune undercut_percent, min_margin_percent, max_change_percent and the sanity band in Set Repricing Rules. dry_run ships on, so the first run reports what it would change and writes nothing.
๐ Nodes Used
Google Sheets, HTTP Request, Slack, WooCommerce, Gmail, Schedule Trigger
๐ฅ Import
Download workflow.json and import into n8n:
Workflow menu โ Import from File