How it works
1. Source
Four sources are pulled weekly.
- Permits. Commercial fit-out and renovation permits from the city or county portal.
- Leases. New commercial leases and tenant improvement announcements.
- GC bid boards. BuildingConnected and PlanHub.
- Property manager portfolios. From Google Maps.
2. Qualify
Filters drop:
- Residential permits. Along with projects under 5,000 sq ft.
- Out of range. Anything outside the service radius.
- Already known. Current clients, and buildings whose owner already appears in the CRM.
A residential repaint or a 2,000 sq ft suite never reaches enrichment, so each Hunter credit goes to a project with a real paint scope.
3. Enrich
For each qualified project the system finds the GC project manager, the property manager, or the facility manager named on the record, finds the email with Hunter, and checks it through a BetterContact waterfall.
4. Outreach
Four emails across 14 days, each one tied to the record: the permit number and address, the lease announcement, or the building in the portfolio.
The ask is a 20-minute site walk before the finish schedule is set.
5. Book, quote, and track
Claude reads each reply and labels it positive, question, not-now, wrong-person, or unsubscribe.
- A positive reply. Gets the site walk calendar plus three prep questions.
- The estimator’s Slack message. Carries the permit number, the address, the GC of record, and the permit valuation.
- After the site walk. The estimator enters square footage, substrate, coats, and access into a form; SourceToDocs builds the branded quote PDF from those line items and n8n emails it within the hour.
- The CRM record. Stores the permit, the site walk notes, the quote PDF, and every email, so a repaint on the same building 5 years later starts from the original scope.
SourceToDocs is built by 2V Automation, the team behind this library.
Lead sources for commercial painting
Ranked by signal quality:
1. Commercial fit-out and renovation permits
A tenant improvement or renovation permit means a finish schedule exists and paint is on it, usually 6 to 12 weeks out.
An Apify scraper reads the city or county permit search every Monday.
| Setting | What it covers |
|---|---|
| Portals read | Accela, Tyler EnerGov, or the county’s own page |
| Occupancy codes | Commercial only |
| Work descriptions matched | “tenant improvement”, “interior alteration”, “renovation”, or “build-out” |
| Fields each record lists | Address, contractor of record, valuation, and issue date |
Highest intent and the least crowded source, since most painters wait for the GC to call.
2. New commercial leases and tenant improvements
When a tenant signs for 5,000 sq ft or more, the build-out begins within 30 to 90 days and the painting sub is picked during its first month.
- Where it comes from. Local business journal lease announcements, CoStar or LoopNet “leased” listings, and broker press releases, scraped weekly through Apify.
- Who is on the record. The tenant rep broker and the landlord’s property manager, both of them.
3. GC bid boards
BuildingConnected and PlanHub list commercial projects that carry a painting scope and a bid due date.
The GC wants a painting sub by that date, so the signal is direct, though 5 to 15 other bidders see the same invitation.
- How invitations arrive. The system pulls new invitations from your BuildingConnected and PlanHub accounts through their notification emails.
- What it logs. The GC contact, which lets the outreach reach the estimator before the bid deadline with a site walk offer.
4. Property manager portfolios (Google Maps, volume filler)
Property management firms whose portfolio page or Google Maps listing shows 10 or more managed buildings in radius, found through SerpAPI queries.
Lowest intent of the four.
A portfolio manager repaints common areas and exteriors on a 5 to 7 year cycle, so the feed is worth a slow drip, and the sourcing workflow turns to it in weeks when the permit search comes back light.
ICP definition
Filter logic the workflow applies:
| Filter | Rule |
|---|---|
| Project type | Tenant improvements, interior alterations, renovations, new commercial shells, exterior restorations |
| Occupancy | Office, retail, medical, industrial, multifamily common areas, hospitality, private education |
| Size | $150,000+ permit valuation, or 5,000+ sq ft leased, or a 10+ building portfolio |
| Radius | Within 60 km of base |
| Contact | Project manager, estimator, property manager, facility manager, tenant rep |
| Trigger window | Permits issued in the last 60 days |
| Excluded | Residential permits (R-3, single family, townhome), government and public school projects (formal procurement), current clients (CRM match), competitors, GCs already on the do-not-contact list |
Outreach sequence
The four steps
| Step | Day | Channel | Goal |
|---|---|---|---|
| 1 | 0 | Cite the permit, lease, or bid invitation; ask for a 20-minute site walk before the finish schedule is set | |
| 2 | 3 | Two-line follow-up repeating the permit date or lease date and the 48-hour quote turnaround | |
| 3 | 7 | Value angle: one specific pain (schedule slips, punch list repaints, occupied-space work) | |
| 4 | 14 | Breakup, door open, quote turnaround offer |
Example step 1 (permit trigger)
Subject: paint scope for [address]
Hi [Name], permit [permit number] for the tenant improvement at [address] lists [GC name] as contractor of record, issued [permit date]. Paint usually lands 6 to 8 weeks out on a build-out that size.
We run [N] commercial crews in [city] and can walk the space, price it in 48 hours, and hold the number through your finish schedule.
Worth a 20-minute site walk in [week]?
Expected reply rates
| Row type | Expected reply rate |
|---|---|
| Permit, lease, and bid board rows | 3 to 6% |
| Property manager portfolio rows | 1 to 3% |
Both figures are estimates.
A GC with paint 6 weeks out on the finish schedule answers near 6%. A portfolio manager with no repaint budgeted this year answers near 1%.
Exterior work stops in freezing months in northern metros, so replies from portfolio managers cluster from February to April when next season’s repaints get budgeted, while permit replies hold steady year-round.
Stack and running costs
| Tool | Purpose | Monthly |
|---|---|---|
| n8n Cloud | Orchestration | $24 |
| Apify | Permit portal and lease announcement scraping | $30 |
| SerpAPI | Property manager portfolio data (Google Maps) | $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 generation | $19 |
| Sending domain | Deliverability | $1 |
| Supabase (free tier) | Prospect database | $0 |
| Total | ~$195 |
BuildingConnected and PlanHub basic subcontractor accounts are free and are used for invitations only. Costs are current public starter tiers.




