πŸ“Š Refresh Webflow directory listings from Google Maps with Bright Data and OpenAI

⚑ 2 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.

View All Scrapers

Description

Quick overview

This workflow runs weekly to sync a Webflow CMS directory with current Google Maps listing data fetched via Bright Data, rewrites updated one-line blurbs with OpenAI (GPT-5.6), posts a digest to Slack, and optionally writes approved changes back to Webflow.

How it works

  1. Runs on a weekly schedule and loads configuration values such as Webflow IDs, field slugs, change thresholds, and dry-run/publish settings.
  2. Retrieves items from a Webflow CMS collection and builds a batch of Google Maps URLs to refresh (up to the configured maximum).
  3. Triggers a Bright Data Google Maps dataset fetch for the URL batch, polls until the snapshot is ready, and downloads the fresh listing results.
  4. Compares the fresh Google Maps rating/review counts (and closed status) against the stored Webflow values and keeps only listings that exceed the defined change thresholds.
  5. Uses OpenAI (GPT-5.6) to generate an updated single-sentence directory blurb for each changed listing using only the provided category and numbers.
  6. Posts a formatted refresh digest to a Slack channel and updates the matching Webflow CMS items with the new rating, review count, and blurb when dry_run is disabled and the listing is not flagged as permanently closed.

Setup

  1. Add a Webflow credential, then set your Webflow site ID and collection ID in the Settings values.
  2. Update the Webflow field slugs in Settings (google maps URL, rating, review count, and blurb) to match your collection’s fieldData keys.
  3. Add a Bright Data Web Scraper/Datasets API key as an HTTP Header Auth credential and confirm the dataset endpoint/ID used in the Bright Data requests.
  4. Add an OpenAI credential and ensure the selected GPT-5.6 model is available in your account.
  5. Add a Slack credential and set the target channel for the digest message.
  6. Keep dry_run enabled for initial testing, then disable it to allow writes, and set publish_live to control whether updates are pushed to the live Webflow site.

Requirements

Customization

πŸ”— Nodes Used

Google Sheets, HTTP Request, Slack, Gmail, Webflow, Schedule Trigger

πŸ“₯ Import

Download workflow.json and import into n8n: Workflow menu β†’ Import from File

πŸ“– Importing guide Β· πŸ”‘ Credential setup