# Reach med spa owners in Dallas with weak reviews

120 accounts and 120 people, about 76 verified work emails and 228 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-med-spas-dallas

## Give this to your agent

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

## Why this works

Med spas compete on trust, and a few bad reviews about results or billing cost more than any ad can win back. The owner follows the score closely.

The first line, as your agent would write it:

> A couple of reviews mention surprise charges at checkout. Do clients see the full price before they book?

## 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 6, `reviews.search` x 600 | $2.59 |
| 2 | Qualify on firmographics | `company.enrich` x 120 | $0.85 |
| 3 | Find the people | `people.search` x 120 | $0.05 |
| 4 | Get the contact | `contact.find` x 84, `contact.verify` x 84 | $1.74 |
| 5 | Context for the first line | `web.scrape` x 120 | $0.67 |
| 6 | Run the outreach | `email.send` x 228 | $0.80 |
| 7 | Read the replies | `email.messages` x 23 | $0.05 |
| + | One-time setup | `email.domain` x 1, `email.inbox` x 1 | $4.66 once |

One run: $6.75 for 1,385 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 med spa clinics in Dallas with Google reviews under 4 stars and email the owner. 120 
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 6, reviews.search x 600)
routergrowth run -c local.places -i '{"query":"<query>"}'
routergrowth run -c reviews.search -i '{"place":"<place>"}'

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

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

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

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

# 07 Read the replies  (email.messages x 23)
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 $6.75 for one run of 1,385 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 auto repair shop owners in Atlanta with weak reviews](https://www.routergrowth.com/workflows/local-auto-shops-atlanta.md)
- [Reach dental clinics in Austin with weak reviews](https://www.routergrowth.com/workflows/local-dental-austin.md)
- [Reach restaurant owners in Chicago with recent bad reviews](https://www.routergrowth.com/workflows/local-restaurants-chicago.md)
- [Reach gym owners in Miami with weak reviews](https://www.routergrowth.com/workflows/local-gyms-miami.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%20med%20spa%20clinics%20in%20Dallas%20with%20Google%20reviews%20under%204%20stars%20and%20email%20the%20owner.%20120%20accounts%2C%201%20contact%20each%2C%20three-step%20sequence.
