Yelp to Google Sheets, review summaries ready to share
Pulling Yelp reviews into something you can actually use is a grind. You copy, paste, clean weird formatting, miss a few reviews, and then you still have to explain “what it all means” to someone else.
This Yelp review automation hits local SEO specialists first, but business owners and reputation managers feel it too. The outcome is simple: structured Yelp review data lands in Google Sheets, plus a clean Gemini summary you can share without rewriting it yourself.
Below, you’ll see how the workflow pulls reviews, formats them into tidy fields, generates an executive-style summary, and delivers the combined result to your destination (including Google Sheets).
How This Automation Works
See how this solves the problem:
n8n Workflow Template: Yelp to Google Sheets, review summaries ready to share
flowchart LR
subgraph sg0["When clicking ‘Test workflow’ Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking ‘Test workflow’", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Yelp URL with the Bright..", pos: "b", h: 48 }
n2["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>HTTP Request to fetch the Ye.."]
n3@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model", pos: "b", h: 48 }
n4@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser", pos: "b", h: 48 }
n5@{ icon: "mdi:robot", form: "rounded", label: "Summarization Chain", pos: "b", h: 48 }
n6["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/merge.svg' width='40' height='40' /></div><br/>Merge"]
n7["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Webhook Notifier for the mer.."]
n8@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model for..", pos: "b", h: 48 }
n9@{ icon: "mdi:robot", form: "rounded", label: "Structured Data Extractor", pos: "b", h: 48 }
n6 --> n7
n5 --> n6
n3 -.-> n9
n4 -.-> n9
n9 --> n5
n9 --> n6
n0 --> n1
n1 --> n2
n8 -.-> n5
n2 --> n9
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n4,n5,n9 ai
class n3,n8 aiModel
class n2,n7 api
classDef customIcon fill:none,stroke:none
class n2,n6,n7 customIcon
The Challenge: Turning Yelp Reviews Into Actionable Reporting
Yelp reviews are valuable, but the raw reality is messy. One week you’re scanning for patterns (“Is everyone complaining about wait time?”), and the next week you’re trying to prove it with something more concrete than screenshots. Manual scraping is fragile, and manual copy-paste is worse because it creates gaps and subtle errors you don’t notice until you’re presenting a report. Then there’s the mental load: you spend your best attention cleaning text and grouping themes, not actually deciding what to fix.
It adds up fast. Here’s where it breaks down in day-to-day work.
- Copying reviews into spreadsheets takes about an hour per location when you include cleanup and deduping.
- Inconsistent fields (date, rating, reviewer name, review text) make trend tracking unreliable from one report to the next.
- Summaries get written differently depending on who is on shift, so leadership hears mixed signals and nothing moves.
- When you want to scale to multiple businesses or competitors, the whole process becomes a recurring fire drill.
The Fix: Yelp Reviews Into Sheets + Shareable Gemini Summaries
This workflow automates the unglamorous middle of “review intelligence.” You give it a Yelp business review URL, it retrieves the review page through Bright Data’s Web Unlocker (so you’re not fighting blocks), and then it extracts the review content into a structured format. From there, it runs a summarization chain with Google Gemini to turn raw review text into something you can paste into a client update, an internal report, or a weekly ops email. Finally, it combines the structured review fields with the summary and posts the merged result to your chosen endpoint (which can be Google Sheets, a database, or another app).
The workflow starts with a manual run trigger (easy to swap for a schedule later). It then pulls Yelp review HTML, parses out the useful fields, and sends cleaned text to Gemini for theme extraction and summarization. The output is one consistent payload: reviews plus a concise narrative summary, ready to route wherever your reporting lives.
What Changes: Before vs. After
| What This Eliminates | Impact You’ll See |
|---|---|
|
|
Real-World Impact
Say you track 5 competitor listings and your own business each week (6 pages total). If manual review capture takes maybe 10 minutes per page to copy, clean, and format, that’s about an hour every week before you’ve even written a summary. With this workflow, you kick off a run for each URL, wait for extraction and summarization, then paste or push the results into Google Sheets. In practice, the “human time” drops to about 10–15 minutes total, mostly for checking that the output looks right.
Requirements
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Bright Data Web Unlocker to retrieve Yelp pages reliably.
- Google Gemini API to generate review summaries and themes.
- Bright Data token (get it from your Web Unlocker zone settings).
Skill level: Intermediate. You’ll connect credentials, edit one Yelp URL field, and confirm where the final payload should go.
Need help implementing this? Talk to an automation expert (free 15-minute consultation).
The Workflow Flow
You provide a Yelp review URL. The workflow begins with a manual trigger, then sets the target Yelp business review page you want to analyze (easy to swap per run).
The review page gets retrieved safely. An HTTP request pulls the content through Bright Data Web Unlocker, which helps bypass common scraping blocks that break “normal” requests.
Reviews are extracted and structured. A language-chain extraction step pulls the fields you care about (like rating and review text), then a structured parser formats everything into consistent JSON so downstream reporting doesn’t turn into cleanup work.
Gemini writes the summary you actually need. The summarization chain runs on the cleaned review content and returns a concise, shareable narrative (themes, common complaints, common praise, and overall sentiment).
Results are combined and delivered. A merge node stitches together the structured reviews and Gemini summary, then an HTTP webhook posts the merged payload to your endpoint (Google Sheets, a database, or an internal tool).
You can easily modify the Yelp URL input to rotate through locations or competitors based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Manual Trigger
Start the workflow with a manual trigger so you can test the review extraction on demand.
- Add Manual Run Trigger as the workflow trigger.
- Leave default settings as-is since this trigger does not require configuration.
Step 2: Connect the Yelp URL and Retrieve the Review Page
Define the Yelp search URL and pass it to the Bright Data request for raw HTML retrieval.
- In Assign Yelp Target URL, add two fields: url set to
https://www.yelp.com/search?find_desc=Restaurants&find_loc=San+Francisco%2C+CA&sortby=rating?product=unlocker&method=apiand zone set toweb_unlocker1. - In Retrieve Review Page, set URL to
https://api.brightdata.com/requestand Method toPOST. - Enable Send Body and Send Headers.
- In Body Parameters, set zone to
{{ $json.zone }}, url to{{ $json.url }}, and format toraw. - Credential Required: Connect your httpHeaderAuth credentials in Retrieve Review Page.
Step 3: Set Up Review Extraction with AI Parsing
Use an LLM chain with a structured output parser to extract consistent review data from the raw HTML.
- In Extract Review Data, set Text to
Summarize and analyze Yelp reviews {{ $json.data }}and enable Has Output Parser. - Connect Structured Parser as the output parser and set JSON Schema Example to the provided schema in the node.
- Connect Gemini Chat Engine as the language model for Extract Review Data.
- Credential Required: Connect your googlePalmApi credentials in Gemini Chat Engine.
Step 4: Summarize Reviews and Merge Results
Summarize extracted reviews and prepare a combined payload for output.
- In Review Summary Chain, keep the prompts and ensure it receives
{{ $json.output }}from Extract Review Data. - Connect Gemini Summarizer Model as the language model for Review Summary Chain.
- Credential Required: Connect your googlePalmApi credentials in Gemini Summarizer Model.
- Ensure Extract Review Data outputs to both Review Summary Chain and Combine Results in parallel.
- In Combine Results, keep default settings to merge the raw extraction with the summary output.
Step 5: Configure the Webhook Output
Send the combined review data and summary to your downstream system.
- In Post Summary Webhook, set URL to
https://[YOUR_WEBHOOK_URL]. - Enable Send Body.
- Set reviews to
{{ $json.output }}and summary to{{ $json.response.text }}in Body Parameters.
Step 6: Test and Activate Your Workflow
Run a full test to confirm data extraction, summarization, and delivery before enabling the workflow.
- Click Execute Workflow and run Manual Run Trigger to start the flow.
- Verify Retrieve Review Page returns data and Extract Review Data outputs structured reviews.
- Confirm Review Summary Chain returns a concise summary and Combine Results merges both outputs.
- Check your destination system receives the webhook payload from Post Summary Webhook.
- Switch the workflow to Active once tests pass.
Watch Out For
- Bright Data credentials can expire or be tied to the wrong Web Unlocker zone. If things break, check your n8n Credential entry (Header Authentication) and confirm the token still matches the active zone.
- If you add Wait nodes or run this during peak traffic, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.
Common Questions
About 30 minutes if your Bright Data and Gemini keys are ready.
Yes, but someone needs to be comfortable pasting API keys into n8n credentials. After that, it’s mostly editing the Yelp URL and choosing where to send the output.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in Bright Data usage and Gemini API costs.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
You can swap the Yelp target in the “Assign Yelp Target URL” node to focus on a different location, competitor, or category. If you want fewer reviews, add filtering after “Extract Review Data” before the summary chain runs. And if your reports need different columns, adjust the “Structured Parser” output so the JSON matches your spreadsheet fields.
Usually it’s an auth header issue: the Bearer token in your Header Authentication credential is missing, expired, or tied to the wrong Web Unlocker zone. It can also fail if your zone setup isn’t Web Unlocker API, so double-check that in Bright Data. Finally, Yelp pages change, so if extraction suddenly returns empty fields, inspect the raw HTML response and update the extraction prompt or parser to match.
On self-hosted n8n, executions are mainly limited by your server and Bright Data/Gemini rate limits. On n8n Cloud, your monthly execution limit depends on your plan, and this workflow typically uses one execution per run (per Yelp URL). If you’re monitoring dozens of listings daily, schedule runs in batches so the summarizer doesn’t hit rate limits.
Often, yes. This flow depends on web extraction, structured parsing, and chaining an LLM summary, which is where n8n tends to be more flexible (and cheaper at scale if you self-host). Zapier and Make can work, but you’ll usually end up stitching together multiple steps and fighting data shaping. If you only need “new review alert to Slack,” keep it simple elsewhere. If you want structured data plus consistent summaries you can reuse in reports, n8n is a better fit. Talk to an automation expert if you want a recommendation for your exact volume.
Once this is running, Yelp reviews stop being “noise” and start becoming a weekly input you can actually use. The workflow handles the repetitive stuff, so you can focus on the fixes that move ratings and revenue.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.