# Reach law firm partners in Denver with weak reviews

150 accounts and 150 people, about 95 verified work emails and 285 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-law-firms-denver

## Give this to your agent

```text
Using RouterGrowth, run this workflow: Find law firms in Denver with Google reviews under 4 stars and email the managing partner. 150 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 8 map searches, reviews.search x 750 reviews read. Google Maps places for the category and area, with site, phone and rating.
2. Qualify on firmographics: company.enrich x 150 companies. Headcount, industry and location to keep the accounts that fit.
3. Find the people: people.search x 150 profiles. 1 contact per account by title and seniority, with current role.
4. Get the contact: contact.find x 105 (150 tried, 70% found), contact.verify x 105 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 150 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 285 (95 contacts x 3 steps). Sequence from inboxes on a domain you own, one call per email.
7. Read the replies: email.messages x 29 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 $8.43 plus $4.66 one-time setup. Run routergrowth inspect on any capability before the first call to confirm the quote.
```

## Why this works

A law firm with weak reviews is usually good at law and slow at replying. The managing partner cares because referrals check the map too.

The first line, as your agent would write it:

> Two recent reviews say calls were not returned. How does an inquiry reach an attorney at your firm today?

## 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 8, `reviews.search` x 750 | $3.24 |
| 2 | Qualify on firmographics | `company.enrich` x 150 | $1.06 |
| 3 | Find the people | `people.search` x 150 | $0.06 |
| 4 | Get the contact | `contact.find` x 105, `contact.verify` x 105 | $2.17 |
| 5 | Context for the first line | `web.scrape` x 150 | $0.84 |
| 6 | Run the outreach | `email.send` x 285 | $1.00 |
| 7 | Read the replies | `email.messages` x 29 | $0.06 |
| + | One-time setup | `email.domain` x 1, `email.inbox` x 1 | $4.66 once |

One run: $8.43 for 1,732 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 law firms in Denver with Google reviews under 4 stars and email the managing partner.
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 8, reviews.search x 750)
routergrowth run -c local.places -i '{"query":"<query>"}'
routergrowth run -c reviews.search -i '{"place":"<place>"}'

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

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

# 04 Get the contact  (contact.find x 105, contact.verify x 105)
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 150)
routergrowth run -c web.scrape -i '{"url":"<url>"}'

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

# 07 Read the replies  (email.messages x 29)
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 $8.43 for one run of 1,732 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 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)
- [Reach plumbing companies in Houston with weak reviews](https://www.routergrowth.com/workflows/local-plumbers-houston.md)
- [Reach roofing companies in Phoenix with weak reviews](https://www.routergrowth.com/workflows/local-roofers-phoenix.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%20law%20firms%20in%20Denver%20with%20Google%20reviews%20under%204%20stars%20and%20email%20the%20managing%20partner.%20150%20accounts%2C%201%20contact%20each%2C%20three-step%20sequence.
