Find and score Zillow price cuts with Bright Data, GPT-5.6, Sheets and Slack

Go to Workflow
0 views
Built by Daniel Shashko Daniel Shashko
Created on August 19, 2026

Description

Quick overview
This workflow runs daily (or on demand) to discover Zillow listings via Bright Data, detect recent price cuts and underpriced homes, score them using comparable-sales $/sqft, and then uses OpenAI to generate short verdicts before logging results to Google Sheets and posting a digest to Slack.

How it works
Runs on a daily schedule or via an n8n form submission where you enter a target location.
Triggers a Bright Data Zillow discovery dataset with the configured market filters and repeatedly polls Bright Data until the snapshot is ready (or times out).
Downloads the discovered listings, removes failed crawl rows and out-of-scope results (for example above the max price or below the minimum beds), and extracts comparable-sales data for benchmarking.
Analyzes each listing’s price history to detect recent price cuts, including both explicit “Price change” events and relists at a lower price.
Calculates a local benchmark $/sqft (median of comparable sales), computes discounts, save-rate signals, and a combined score, then keeps only the top qualifying listings.
Uses OpenAI (GPT-5.6) to produce a structured verdict, reason, and watch-out note for each selected listing.
Appends the final listing report rows to Google Sheets and posts a formatted digest of the findings to a Slack channel.

Setup
Add a Bright Data HTTP Header Auth credential with Authorization: Bearer .
Connect your OpenAI credential and ensure the model selection (gpt-5.6-terra) is available in your account.
Connect your Google Sheets OAuth credential and replace the spreadsheet URL/ID, ensuring a sheet named “Listings” exists.
Connect your Slack credential and set the target channel (for example #property) in the Slack message step.
Update the market and thresholds in the Settings (location, listing category, days on Zillow, listings per run, max price, min beds, minimum discount %, and max listings), and optionally enable the form trigger for on-demand runs.

Requirements
A Bright Data account with access to the Zillow properties dataset. Discovery is billed per record and is slow, so listings_per_run is the knob that decides both cost and runtime. Google Sheets and Slack credentials. No community nodes: every Bright Data call is a plain HTTP Request node.

Customization
Two entry points ship wired: the daily schedule, and a form trigger for a market somebody names on the spot. Four optional nodes sit unwired beside the chain, each with a note saying where it splices in. "Route By Verdict" is a Switch that sends worth-a-viewing, watch-it and skip to different places. "Estimate The Monthly Payment" turns each asking price into a repayment at a rate and deposit you set. "Cap The Digest" limits a hot market to the top N listings. "Email The Listing Digest" mails the same message a client can read. Settings also holds the market, price ceiling, minimum beds, minimum discount and the cut window.

Nodes Used (7)

Code
n8n-nodes-base.code
Gmail
n8n-nodes-base.gmail
Google Sheets
n8n-nodes-base.googleSheets
HTTP Request
n8n-nodes-base.httpRequest
Information Extractor
@n8n/n8n-nodes-langchain.informationExtractor
OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi
Slack
n8n-nodes-base.slack