# Reach restaurant owners in Chicago with recent bad reviews

200 accounts and 200 people, about 126 verified work emails and 378 emails sent from inboxes on your own domain.

Family: [Local businesses](https://www.routergrowth.com/workflows/local-businesses.md) · HTML page: https://www.routergrowth.com/workflows/local-restaurants-chicago

## Give this to your agent

```text
Using RouterGrowth, run this workflow: Find restaurants in Chicago with Google reviews under 4 stars and email the owner. 200 accounts, 1 contact each, three-step sequence.
Show me the price before every call, and stop after each stage with a sample of the results so I can adjust.

1. Source the businesses: local.places x 10 map searches, reviews.search x 1,000 reviews read. Google Maps places for the category and area, with site, phone and rating.
2. Qualify on firmographics: company.enrich x 200 companies. Headcount, industry and location to keep the accounts that fit.
3. Find the people: people.search x 200 profiles. 1 contact per account by title and seniority, with current role.
4. Get the contact: contact.find x 140 (200 tried, 70% found), contact.verify x 140 verdicts. Charged on a match only: a miss is free, so the estimate is a ceiling.
5. Context for the first line: web.scrape x 200 pages. One page per account and a few recent posts per person, so the opener is about them.
6. Run the outreach: email.send x 378 (126 contacts x 3 steps). Sequence from inboxes on a domain you own, one call per email.
7. Read the replies: email.messages x 38 inbox reads. Poll the inboxes, classify replies, hand the warm ones to a human.

Before sending: email.domain x 1, email.inbox x 1, on a domain I own.

Budget for one run: about $11.23 plus $4.66 one-time setup. Run routergrowth inspect on any capability before the first call to confirm the quote.
```

## Why this works

For a restaurant the star rating is the storefront. An owner with recent bad reviews is looking for the cause this week, not next quarter.

The first line, as your agent would write it:

> Your last few reviews all mention slow service on weekends. Is that staffing, or the kitchen?

## The workflow, stage by stage

Source the businesses → Qualify on firmographics → Find the people → Get the contact → Context for the first line → Run the outreach → Read the replies

| # | Stage | Calls | Cost |
|---|---|---|---:|
| 1 | Source the businesses | `local.places` x 10, `reviews.search` x 1,000 | $4.32 |
| 2 | Qualify on firmographics | `company.enrich` x 200 | $1.42 |
| 3 | Find the people | `people.search` x 200 | $0.08 |
| 4 | Get the contact | `contact.find` x 140, `contact.verify` x 140 | $2.90 |
| 5 | Context for the first line | `web.scrape` x 200 | $1.12 |
| 6 | Run the outreach | `email.send` x 378 | $1.32 |
| 7 | Read the replies | `email.messages` x 38 | $0.08 |
| + | One-time setup | `email.domain` x 1, `email.inbox` x 1 | $4.66 once |

One run: $11.23 for 2,306 calls. Assumptions: 2 contacts per account unless the brief says otherwise, 70% email find rate, 90% verification pass, 3 emails per contact, 30% LinkedIn accept rate. Prices are the catalog's at the time this page was built; `routergrowth inspect` returns the exact quote before a call.

### Source the businesses

Google Maps places for the category and area, with site, phone and rating.

### Qualify on firmographics

Headcount, industry and location to keep the accounts that fit.

### Find the people

1 contact per account by title and seniority, with current role.

### Get the contact

Charged on a match only: a miss is free, so the estimate is a ceiling.

### Context for the first line

One page per account and a few recent posts per person, so the opener is about them.

### Run the outreach

Sequence from inboxes on a domain you own, one call per email.

### Read the replies

Poll the inboxes, classify replies, hand the warm ones to a human.

## Run it from the command line

```bash
# RouterGrowth workflow: Find restaurants in Chicago with Google reviews under 4 stars and email the owner. 200 acc
npm install -g routergrowth && routergrowth setup

# one-time setup
routergrowth run -c email.domain -i '{"domain":"<domain>"}'
routergrowth run -c email.inbox -i '{}'

# 01 Source the businesses  (local.places x 10, reviews.search x 1000)
routergrowth run -c local.places -i '{"query":"<query>"}'
routergrowth run -c reviews.search -i '{"place":"<place>"}'

# 02 Qualify on firmographics  (company.enrich x 200)
routergrowth run -c company.enrich -i '{"domain":"<domain>"}'

# 03 Find the people  (people.search x 200)
routergrowth run -c people.search -i '{}'

# 04 Get the contact  (contact.find x 140, contact.verify x 140)
routergrowth run -c contact.find -i '{"first_name":"<first_name>","last_name":"<last_name>","company_domain":"<company_domain>"}'
routergrowth run -c contact.verify -i '{"email":"<email>"}'

# 05 Context for the first line  (web.scrape x 200)
routergrowth run -c web.scrape -i '{"url":"<url>"}'

# 06 Run the outreach  (email.send x 378)
routergrowth run -c email.send -i '{"inbox_id":"<inbox_id>","to":"<to>"}'

# 07 Read the replies  (email.messages x 38)
routergrowth run -c email.messages -i '{"inbox_id":"<inbox_id>"}'
```

## Questions

### How do I get local business leads from Google Maps?

local.places returns the businesses on Google Maps for a category and a city, with address, phone, website, rating and review count. The agent pages through the area until it has the number you asked for.

### How do I qualify a local business before contacting it?

With its reviews. reviews.search reads the recent ones for each place, so the agent can keep the businesses under a rating you set and note the complaint that comes back most often.

### How do I find the owner's email?

people.search looks for the owner or manager at the business's domain and contact.find returns a work email, charged only when one is found. Small businesses without a domain are reached through the phone number and site on the listing instead.

### Is this for agencies or for local businesses themselves?

For anyone who sells to local businesses: agencies, software vendors, suppliers. The workflow builds a list of businesses to sell to, not a list of consumers.

### What does this workflow cost to run?

About $11.23 for one run of 2,306 calls, plus $4.66 once for the sending inboxes. Each call is quoted before it runs and a lookup that finds nothing is not charged, so the figure is a ceiling. There is no subscription: the run is paid from a prepaid balance.

## Related

- [Reach gym owners in Miami with weak reviews](https://www.routergrowth.com/workflows/local-gyms-miami.md)
- [Reach law firm partners in Denver with weak reviews](https://www.routergrowth.com/workflows/local-law-firms-denver.md)
- [Reach salon owners in Los Angeles with weak reviews](https://www.routergrowth.com/workflows/local-salons-los-angeles.md)
- [Reach hotel managers in Lisbon with weak reviews](https://www.routergrowth.com/workflows/local-hotels-lisbon.md)
- Guide: [Local lead generation with Google Maps listings and reviews](https://www.routergrowth.com/use-cases/local-lead-generation.md)
- Skill: [Cold email pipeline](https://www.routergrowth.com/skills/cold-email-pipeline.md)
- Skill: [Hiring-signal outbound](https://www.routergrowth.com/skills/hiring-signal-outbound.md)

Adjust the volumes and assumptions: https://www.routergrowth.com/free-gtm-tools/workflow-generator#q=Find%20restaurants%20in%20Chicago%20with%20Google%20reviews%20under%204%20stars%20and%20email%20the%20owner.%20200%20accounts%2C%201%20contact%20each%2C%20three-step%20sequence.
