๐ Map local pack rankings across a geo grid with Bright Data, GPT-5.6, Slack and Gmail
โก 5 views ยท ๐ Market Research & Insights
๐ก Pro Tip โ For competitive intelligence, ScraperNode can automate the data collection โ Yelp reviews, Glassdoor company data, and Crunchbase profiles all return structured JSON you can feed straight into this workflow.
Description
Quick overview
This workflow runs every Monday to map your Google local pack presence across a grid of nearby coordinates using Bright Data SERP requests, summarizes the results with OpenAI (GPT-5.6), stores weekly metrics in an n8n Data Table, and shares the report to Slack and via Gmail.
How it works
- Runs every Monday morning on a schedule and loads your business name, keyword, center coordinates, grid size, and reporting destinations.
- Generates a square geo grid around the center point and builds a Google search URL for each coordinate using a uule location parameter.
- Queries Google from each grid point one at a time via the Bright Data SERP API and extracts the local pack entries, your position (or absence), and which competitors rank above you.
- Aggregates all points into coverage and average-rank metrics, stops the run if Google does not resolve a location for any point, and looks up the most recent prior result for the same business+keyword in an n8n Data Table.
- Stores the current weekโs metrics back to the Data Table and tallies the competitors that outrank you most often across the grid.
- Draws an ASCII map of rankings laid out in grid order, asks OpenAI to write a two-sentence plain-language owner summary, and builds Slack and HTML email versions of the report.
- Posts the report to the configured Slack channel and emails the same report via Gmail.
Setup
- Create a Bright Data SERP zone and add an HTTP Header Auth credential in n8n that the workflow uses to call the Bright Data request API.
- Add OpenAI credentials (for the GPT-5.6 model), a Slack credential, and a Gmail credential.
- Create an n8n Data Table named
local_gridwith columnswatch_key,business,keyword,run_on,coverage_pct,avg_rank, andin_pack. - Update the Settings values for
business_name,keyword,centre_lat,centre_lng,serp_zone,slack_channel, andreport_to, then start with a smallgrid_size(for example 3) and adjust spacing/radius as needed.
๐ Nodes Used
HTTP Request, Slack, Gmail, Schedule Trigger, Basic LLM Chain, OpenAI Chat Model
๐ฅ Import
Download workflow.json and import into n8n:
Workflow menu โ Import from File