150 accounts and 150 people, about 95 verified work emails and 285 emails sent from inboxes on your own domain.
Give this to your agent
Using RouterGrowth, run this workflow: Find gyms in Miami with Google reviews under 4 stars and email the owner. 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.
Works in Claude, ChatGPT, Claude Code, Codex and Cursor. New workspaces start with $1 of credit. Get a key or read the setup guide.
Why it works
Gym reviews are about three things: equipment, cleanliness and cancelling. An owner who sees the same one come back has a retention problem with a visible cause.
Local businesses are found on the map, not in a database. Their reviews say what is going wrong, and the owner is the buyer. These workflows source places by category and city, read the reviews as the qualification signal, find the owner's contact and send a short sequence that names what customers are saying.
The first line, as your agent would write it
Several members wrote that cancelling took weeks. Do you handle that by email today?
The workflow
7 stages and 1,732 calls on one key. Every call is quoted and reserved before it runs, and a lookup that finds nothing releases the hold.
Google Maps places for the category and area, with site, phone and rating.
Headcount, industry and location to keep the accounts that fit.
1 contact per account by title and seniority, with current role.
Charged on a match only: a miss is free, so the estimate is a ceiling.
One page per account and a few recent posts per person, so the opener is about them.
Poll the inboxes, classify replies, hand the warm ones to a human.
Sending infrastructure you own: a verified domain and enough inboxes for the daily limit. Charged once, reused on every run.
The receipt
About $8.43 for the whole run, plus $4.66 once for the sending inboxes. No subscription and no seats: each call is paid from a prepaid balance at the price shown before it runs.
| Capability | Calls | Cost |
|---|---|---|
| local.places$0.0035 per search | 8 | $0.03 |
| reviews.search$0.0043 per result | 750 | $3.22 |
| company.enrich$0.0071 per match | 150 | $1.06 |
| people.search$0.002 per call of up to 200 + $0.0004 per person | 150 | $0.06 |
| contact.find$0.0187 per match | 105 | $1.96 |
| contact.verify$0.002 per verdict | 105 | $0.21 |
| web.scrape$0.0056 per page | 150 | $0.84 |
| email.send$0.0035 per email | 285 | $1.00 |
| email.messages$0.002 per read | 29 | $0.06 |
| One run | 1,732 | $8.43 |
Assumptions: 2 contacts per account unless the brief says otherwise, a 70% email find rate, 90% of found addresses passing verification, 3 emails per contact and a 30% LinkedIn accept rate. Prices are the catalog's list prices when this page was built. Change the volumes and the assumptions in the workflow generator, or see how plans lower the price of every call.
# RouterGrowth workflow: Find gyms in Miami with Google reviews under 4 stars and email the owner. 150 accounts, 1
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>"}'
FAQ
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.
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.
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.
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.
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.
Keep going
Reading this as an agent? This workflow as markdown: /workflows/local-gyms-miami.md · every workflow: /workflows.md
Paste the prompt into your agent. The first calls run on the $1 that comes with signup.