How it works
1. Source
The system pulls sites from five sources weekly.
- New restaurant health permits and business licenses. From the county and city portals.
- Fleet registrations. From the FMCSA Motor Carrier Census.
- New warehouse and distribution permits. From the permit portal.
- Published health inspection citations. For grease and exterior conditions.
- Property manager portfolios. Plus “recently opened” listings from Google Maps.
2. Qualify
Filters drop:
- Residential records.
- Undersized sites. Single-location sites under 2,500 sq ft of exterior flatwork.
- Small fleets. Fleets under 10 power units.
- Out of range. Anything outside the service radius.
- Already known. Current clients, and competitors.
A driveway request or a 3-truck carrier gets dropped here, before Hunter charges a credit.
3. Enrich
For each qualified site the system finds the facility manager, franchise operator, property manager, or fleet manager by company domain and role with Hunter.
It then verifies the address through BetterContact’s waterfall.
4. Outreach
The sequence runs 14 days and 4 emails, with the first one timed to arrive before opening day or the next reinspection.
The opener cites what the system found:
- The health permit and opening date.
- The carrier registration and unit count.
- The citation.
- The building count in the portfolio.
5. Book, quote, and track
The Claude API sorts every reply.
- A positive reply. Triggers a booking link to the prospect and a Slack alert that shows the site address, the trigger (permit, registration, or citation), and the size proxy, so the crew lead can plan a drive-by before the visit.
- The site visit form. The crew lead walks the site, then enters each surface with its sq ft, condition, visit frequency, water access, and night work into a form.
- The quote. SourceToDocs renders that form into a branded per-visit and annual quote PDF, and n8n emails it within 10 minutes of the form submission.
- The CRM record. Stores the trigger record, the visit date, the quote amount, and each sequence step.
SourceToDocs is built by 2V Automation, the team behind this library.
Lead sources for commercial pressure washing
Ranked by signal quality:
1. New restaurant and retail openings
Health permits, business licenses, and Google Maps “recently opened”.
A new food facility permit means a restaurant opens in 30 to 90 days with a grease pad, dumpster enclosure, drive-thru lane, and storefront that the landlord and the health department both expect kept clean, and no washing vendor chosen yet.
| Feed | What it gives | Pulled |
|---|---|---|
| County environmental health department’s new food facility permit list | New food facility permits, published on the county or city open data portal or searchable permit site, pulled through an Apify scraper | Weekly |
| City business license registry | New business licenses, from the same portals through the same Apify scraper | Weekly |
| Google Maps listings tagged “recently opened”, via SerpAPI | The cross-check on both feeds | Weekly |
The record carries the business name, address, permit issue date, and owner or operator name.
Highest intent, lowest competition, because most washing companies wait for the opening to show up on the street.
2. Fleet yards and logistics hubs
FMCSA registrations and warehouse permits.
A newly registered motor carrier with 10 or more power units, or a new distribution warehouse permit over 50,000 sq ft, means a yard that needs a weekly or biweekly fleet wash and quarterly concrete and dock washing under a contract.
| Feed | What it gives | Filtered by |
|---|---|---|
| FMCSA Motor Carrier Census file | Carrier data. Public, updated monthly | Physical address within radius, power units, and registration date in the last 90 days |
| County permit portal, through the same Apify scraper used in source 1 | Warehouse permits | Occupancy codes for storage and distribution |
The carrier record names the company officer and the yard address, so the email reaches the fleet manager directly.
3. Property manager portfolios
Multi-site retail, HOA common areas, and parking structures.
A property management firm with 10 or more retail centers, HOA common areas, or parking structures in radius buys exterior washing on an annual vendor contract and rebids it every 1 to 3 years.
- The firm’s own portfolio page. Read by an Apify scraper.
- State HOA and community association registries. Where they exist: Florida DBPR, Nevada Real Estate Division, and similar public databases.
- Parking operator location lists.
Medium intent on any given week, high contract value, because one manager signs for 10 to 40 sites at once.
4. Health inspection results
Grease and exterior citations.
A published inspection with a citation for grease accumulation, dumpster area sanitation, or exterior debris means the operator has 14 to 30 days to fix it before reinspection.
- Where it comes from. The county health inspection database where results are online, pulled weekly through an Apify scraper and filtered by violation text. Most large US counties publish them.
- What the record carries. The establishment name, address, inspection date, and violation description.
High urgency, smaller volume, and the pitch is direct: fix it before the reinspector returns.
5. Site inventory (volume filler)
Shopping centers, gas stations, quick service restaurants, parking garages, and self-storage facilities in radius.
- Where it comes from. SerpAPI Google Maps queries, filtered by review count as a size proxy.
- What it is for. Filling the send in weeks when permits and citations are scarce.
Lowest intent of the five.
ICP definition
Filter logic the workflow applies:
| Filter | Rule |
|---|---|
| Site type | Restaurants, quick service, retail centers, groceries, gas stations, parking structures, HOA common areas, fleet yards, distribution warehouses, self storage |
| Buyer role | Facility manager, property manager, franchise operator, fleet manager, regional manager, general manager |
| Size | 2,500+ sq ft of exterior flatwork, or 10+ sites, or 10+ power units, or a 50,000+ sq ft warehouse |
| Radius | Within 50 km of base |
| Trigger window | Trigger dated in the last 90 days (permits, licenses, carrier registrations, citations) |
| Review count | 30+ Google reviews (Maps inventory only, as a traffic and size proxy) |
| Excluded | Residential properties (single family, townhome, any driveway or house washing request), government facilities (formal procurement), national chains with a corporate vendor program (Walmart, Target, Home Depot), current clients (CRM match), competitors, carriers with a home base outside the radius |
Outreach sequence
The four steps
| Step | Day | Channel | Goal |
|---|---|---|---|
| 1 | 0 | Refer to the permit, registration, or citation and ask for a site visit before opening day or the next reinspection | |
| 2 | 3 | Short bump with the permit date, registration date, or citation date | |
| 3 | 7 | Value angle: one specific pain (grease complaints, slip claims, lease exterior clauses, DOT appearance) | |
| 4 | 14 | Breakup, door open, same-day quote promise |
Example step 1 (health permit trigger)
Subject: exterior wash program for [business name]
Hi [Name], the county issued a food facility permit for [business name] at [address] on [permit date]. Most openings that size end up with a grease-stained pad and a dumpster enclosure the landlord complains about by month 3.
We run monthly exterior programs for [N] restaurants in [city]: pad, enclosure, drive-thru lane, and storefront, priced per visit with a quote in 10 minutes after a site visit.
Worth a 15-minute walk of the site before you open?
Expected reply rates
| Source | Expected reply rate |
|---|---|
| Trigger sources: health permits, business licenses, carrier registrations, citations | 3 to 6% |
| Property manager portfolios and Google Maps inventory | 1 to 3% |
Both ranges are estimates for a warmed domain sending to facility and fleet managers.
- Restaurant openings. They cluster in spring and fall.
- Fleet washing demand. It rises in winter road-salt states.
- Price. A per-visit price above the local market will push the low end lower.
Stack and running costs
| Tool | Purpose | Monthly |
|---|---|---|
| n8n Cloud | Orchestration | $24 |
| Apify | Health permit, license, inspection, and portfolio scraping | $30 |
| SerpAPI | Google Maps inventory and “recently opened” listings | $25 |
| Hunter | Decision-maker email finding | $34 |
| BetterContact | Waterfall enrichment + verification | $15 |
| Instantly | Sending, warmup, reply webhook | $37 |
| Claude API | First lines and reply classification | $8 |
| SourceToDocs (Starter) | Branded quote PDF from the site visit form | $19 |
| Sending domain | Deliverability | $1 |
| Supabase (free tier) | Prospect database | $0 |
| Total | ~$195 |
The FMCSA Motor Carrier Census file is free.
Costs are current public starter tiers, and the Claude API figure is an estimate based on 800 first lines and 50 classifications a month.




