How it works
1. Source
Four sources, pulled weekly.
- Commercial construction and fit-out permits. New builds and renovations.
- Business relocation signals. Moves and openings.
- Google Maps facility data. The inventory inside the service area.
- Janitorial job postings. Companies hiring in-house.
2. Qualify
Filters remove facilities under the target size, existing clients, competitors, and anything outside the service radius.
Junk dies here, before enrichment costs money.
3. Enrich
For each qualified facility, the system finds the office manager, facility manager, or practice manager, then verifies their email.
4. Outreach
A 4-step email sequence over 14 days.
The first line references the specific trigger: the new permit, the move, or the job posting.
5. Book & track
Replies are classified by AI.
- Positive replies. Get a booking link and a Slack alert.
- Every touch. Logs to the CRM.
- After the walkthrough. The crew lead fills a 5-field form: rooms, square footage by surface, visit frequency, after-hours requirement, and supply closet access.
- The quote. SourceToDocs builds the branded quote PDF from those values and n8n emails it the same day.
- The deal. The CRM deal moves to quoted with the amount and the walkthrough notes attached.
SourceToDocs is built by 2V Automation, the team behind this library.
Lead sources for commercial cleaning
Ranked by signal quality:
1. Commercial construction and fit-out permits
A new build or renovation means a cleaning contract is about to be signed, first for post-construction cleanup, then recurring.
| Feed | What it gives | Pulled |
|---|---|---|
| City and county permit portals | Commercial alteration, fit-out, and tenant improvement records | Weekly, through a scheduled scraper |
Highest intent, lowest competition.
2. Janitorial job postings
A company hiring an in-house janitor or day porter has budget and a cleaning problem.
| Feed | What it gives | Pulled |
|---|---|---|
| Indeed and LinkedIn job feeds | Employer postings filtered by title | Weekly |
Your pitch: contract beats a hire.
3. Business relocations and openings
A mover needs a new cleaning vendor by definition.
| Feed | What it gives | Pulled |
|---|---|---|
| Local business journals | New leases and office openings | Weekly |
| Google Maps “recently opened” | Businesses newly listed in the radius | Weekly |
4. Facility inventory (Google Maps)
Offices, medical practices, gyms, schools, and warehouses in radius, filtered by size signals.
| Feed | What it gives | Pulled |
|---|---|---|
| Google Maps through SerpAPI | The facility types from section 5 inside the 40 km radius | Weekly |
Lowest intent, used to keep volume stable when trigger sources run thin.
ICP definition
Filter logic the workflow applies:
| Filter | Rule |
|---|---|
| Facility type | Offices, medical and dental, gyms, private schools, warehouses, showrooms |
| Size | 3,000+ sq ft, or 10+ employees (proxy: review count, headcount data) |
| Radius | Within 40 km of base |
| Excluded | Government buildings (bid process), national chains with corporate vendors, current clients (CRM match), competitors |
Outreach sequence
The four steps
| Step | Day | Channel | Goal |
|---|---|---|---|
| 1 | 0 | Trigger-based opener, ask for walkthrough | |
| 2 | 3 | Short bump | |
| 3 | 7 | Value angle: one specific pain (turnover, inconsistency, missed spots) | |
| 4 | 14 | Breakup, door open |
Example step 1 (permit trigger)
Subject: cleaning for [address]
Hi [Name], saw the fit-out permit for [address] was approved last month. Once construction wraps you’ll need post-construction cleanup and likely a recurring crew.
We handle both for [N] offices in [city]. Happy to walk the space and give you a fixed quote before you’re buried in vendor calls.
Worth a 15-minute walkthrough in [week]?
Expected reply rates
| Source type | Expected reply rate |
|---|---|
| Trigger sources | 3 to 6% |
| Facility inventory | 1 to 3% |
Treat these as estimates from typical B2B campaigns with warmed domains.
Your offer and territory will move them.
Stack and running costs
| Tool | Purpose | Monthly |
|---|---|---|
| n8n Cloud | Orchestration | $24 |
| Apify | Permit + Maps scraping | $30 |
| SerpAPI or Maps API | Facility data | $25 |
| Hunter | Decision-maker email finding | $34 |
| BetterContact | Waterfall enrichment + verification | $15 |
| Instantly / Smartlead | Sending + warmup | $37 |
| Claude/OpenAI API | Personalization + reply classification | $5 |
| Sending domain | Deliverability | $1 |
| SourceToDocs (Starter) | Branded quote PDF after the walkthrough | $19 |
| Supabase (free tier) | Prospect database | $0 |
| Total | ~$190 |




