Every business on your prospect list looks the same from the outside. Same trade, same size, same town.
Their customers do not think they are the same. Some of those customers have written down exactly why, in public, with dates on.
This build reads that, works out what the recurring complaint is, and puts one sentence next to each prospect. Not a copy of the reviews. A sentence.
Why not a copy of the reviews
Because you are not allowed to keep them, and because the sentence is more useful anyway.
Google’s Maps Platform terms permit caching that is “temporary (and in no event more than 30 calendar days)”, and separately forbid using the service in a way that gives you or a third party “access to mass downloads or bulk feeds” of the content. Review text is Maps content. A spreadsheet you keep and sort is a permanent store, which is the opposite of temporary.
The place ID is the exception. It is exempt from the caching rules, so you keep that forever and use it to look the reviews up again whenever you want them.
That constraint sounds like it kills the idea. It does not, once you notice what you actually want out of this. You do not want forty review texts sitting in a sheet you will never read. You want one line that says “three of their last five reviews complain about not hearing back”, and that line is yours. You wrote it. Nothing in anybody’s terms stops you keeping your own conclusion about a business.
So the workflow reads live, decides, stores the decision, and discards the source. Which is also, as it happens, a much smaller sheet.
Setting up the key
Create a Google Cloud project, enable the Places API (New), and make an API key restricted to that API. You have to attach a billing account even though a workflow this size stays inside the monthly allowance. Set a budget alert while you are in there, because the expensive failure mode with any metered API is a loop with a bug in it running overnight.
Two calls per prospect. Text Search to turn a name and a town into a place ID, then Place Details to get the reviews and the rating.
The build, eight nodes
1. Schedule Trigger. Monthly. Reviews do not arrive fast enough to justify anything more often, and this one costs money per run.
2. Google Sheets, Get Rows. Your prospect list. Filter to rows you have not looked at in the last ninety days, so a rerun works through the backlog rather than doing the same forty every month.
3. Loop Over Items. Batch of one. Metered API, so pace it.
4. HTTP Request, called Find Place. Text Search, asking only for the fields you need:
POST https://places.googleapis.com/v1/places:searchText
X-Goog-Api-Key: YOUR_KEY
X-Goog-FieldMask: places.id,places.displayName,places.rating,places.userRatingCount
{ "textQuery": "{{ $json.company }} {{ $json.town }}" }The field mask is not optional politeness. Places API (New) bills by the fields you ask for, so requesting everything costs more than requesting three things. Ask for what you need.
5. IF node, called Found It. If no place came back, or the returned name looks nothing like the company name, write not_found and move on. Text search is happy to hand you the nearest plausible business, and a review summary attached to the wrong firm is worse than no summary at all.
6. HTTP Request, called Get Reviews. Place Details on the ID from the previous step, field mask reviews,rating,userRatingCount.
You get up to five reviews. That is the documented maximum and no amount of paying changes it. Five is enough to notice a pattern and nowhere near enough to prove one, and the copy you write later should reflect that.
7. Basic LLM Chain, called Summarise. Send the review text, ask for two things and nothing else:
complaint_theme the recurring complaint in six words or fewer, or "none clear"
fit yes | no | unclearGive it your own definition of fit in the prompt. If you sell lead follow-up, fit means reviews mentioning being ignored, waiting for a quote, calls not returned. If you sell something else, it means something else. Write it in your own words, because a generic “is this a good prospect” prompt returns a column of maybes.
8. Google Sheets, Update Row. Write complaint_theme, fit, rating, review_count, place_id and today’s date.
Note what is not in that list: the review text. Do not add it. That is the whole discipline of this build and it is one column away from being broken by someone who thinks it would be handy to have.
What five reviews will and will not tell you
They will tell you that something is a pattern worth looking at. Three of five mentioning the same thing is a real signal.
They will not tell you how common it is. Reviews are a biased sample twice over: people write them when they are delighted or furious, and a business that asks for reviews gets a different mix than one that does not. A firm with 4.9 from 200 reviews and one recent complaint about response times is probably fine. A firm with 4.2 from 11 reviews, two of which mention waiting a week, is a different proposition.
The rating and the count are in your sheet for exactly that reason. Read them together with the theme, or the theme will mislead you.
Before you use it in a conversation
Read the actual reviews. Live, in the browser, on the ones you are going to contact.
This is not a compliance point, it is a competence one. A six-word summary flattens things, and turning up to a conversation having half understood somebody’s problem is worse than turning up knowing nothing. The workflow tells you which twelve businesses to read about. It does not do the reading.
And do not quote their reviews at them. It is a specific kind of unpleasant to open with “I noticed your customers say you never call back”, and it converts a good insight into a reason to hang up. The right use is quieter than that: you know what to ask about, so you ask about it, and they tell you themselves.
Where this beats a bought list
A bought list is everyone in a postcode. This is the subset whose own customers have written down the problem you sell against, which is a shorter list and a far easier first conversation.
It is slower and it costs a few pounds a month. Both of those are fine at the volumes a small business actually works through. If you are contacting four hundred firms a week, this is the wrong tool and you have a different problem.
Published 28 August 2026. Written by the people who run this sort of thing for clients, on n8n, including our own lead pipeline.
Next in finding new customers: A local prospect list you are allowed to keep. Or go back to all 4 in this category.