How it works
1. Source
Five relocation signals, pulled weekly.
- New leases. Newly leased office, lab, and warehouse listings on LoopNet and Crexi, plus business journal lease roundups and economic development relocation announcements.
- Permits at a new address. Tenant improvement permits filed at an address that differs from a company’s current one.
- Memoranda of lease. Records in the county recorder index with a term ending in 9 to 12 months.
- Certificates of occupancy. New warehouse certificates of occupancy.
- Growth signals. Funding rounds and headcount growth.
2. Qualify
Filters drop:
- Undersized leases. Anything under 5,000 sq ft.
- Wrong occupancy. Residential and retail.
- Out of range. Anything outside the 80 km service radius.
- Already known. Companies already in the CRM.
- No move in it. Permits where the company name matches its existing address.
A lease with no named tenant is held for 7 days while the system tries to match the address to a permit, then dropped if nothing matches.
3. Enrich
For each qualified company the system finds the facility manager, office manager, operations director, or COO, depending on headcount.
- Find the email. Hunter locates it.
- Verify it. BetterContact confirms the address.
- A second thread. For leases sourced from a broker press release, the tenant rep’s name is stored too.
4. Outreach
Four emails spread across 14 days, timed to land before the move date is locked.
The opening line quotes the relocation record the system stored:
- Lease rows. The leased address and square footage.
- Permit rows. The build-out permit at the next address.
- Recorder rows. The recorded lease end date.
- Growth rows. The funding round.
5. Book, quote, and track
Replies are classified by Claude into positive, question, not-now, wrong-person, and unsubscribe.
- Positive reply. A booking link for a site survey goes out.
- Slack alert. It carries the company name, the new address, the square footage, and the target move date the system pulled.
- The survey form. After the survey the surveyor enters desk count, crate count, IT disconnect and reconnect scope, truck count, and move date.
- The quote. SourceToDocs builds a branded move quote PDF from those inputs, priced per desk, crate, IT seat, and truck-hour, and n8n emails it to the contact within 60 minutes of the survey form being submitted.
- CRM deal. It stores the deal, the trigger record, the survey date, and the quote amount.
SourceToDocs is built by 2V Automation, the team behind this library.
Lead sources for commercial movers
Ranked by signal quality:
1. New office, lab, and warehouse leases
When a tenant signs for 5,000 sq ft or more, the trucks roll 30 to 120 days after the signing, and the mover gets chosen roughly halfway through that window.
Three feeds, all pulled weekly:
| Feed | How it is pulled |
|---|---|
| LoopNet and Crexi listings whose status changed to “leased” | Apify scraper on saved searches by submarket and property type |
| The local business journal’s lease roundup column | Apify RSS and page scraper |
| City and regional economic development relocation announcements | Apify page scraper on the press release index |
The record carries the address, the square footage, the tenant name when disclosed, the landlord, and the brokers on both sides.
Highest intent, because the move date is already fixed by the lease commencement.
2. Tenant improvement permits at a new address for an existing company
A company listed as applicant or tenant on a TI permit at an address where it does not currently operate is building out its next space, and the move lands 8 to 16 weeks after issue.
- Where it comes from. An Apify actor queries the city or county permit portal weekly: Accela, Tyler EnerGov, or the county’s own search page.
- What the filter keeps. Commercial occupancy permits whose work description contains “tenant improvement”, “interior alteration”, or “build-out”.
- The address check. Each applicant is cross-checked against the company’s current address from its website and state business registry.
- What the record carries. The applicant, the address, the valuation, and the issue date.
3. Lease expirations from memoranda of lease
A memorandum of lease recorded in the county records names the tenant, the premises, and the term, and a tenant whose term ends in 9 to 12 months is deciding right now whether to renew or move.
- Where it comes from. The county recorder’s online index, pulled monthly by an Apify scraper on document type “memorandum of lease”, filtered to commercial parcels.
- What it gives. The term end date, parsed from the document summary.
- What the offer becomes. The signal is earlier than a signed lease, so the pitch is a free space audit and a move budget the tenant can take into lease negotiations.
Coverage varies by county, because only an estimated 20 to 40% of commercial leases are recorded.
4. New warehouse certificates of occupancy
A certificate of occupancy on a warehouse or flex building means racking, equipment, and inventory move in within 30 to 60 days.
- Where it comes from. The same permit portal as source 2, pulled weekly.
- What the filter keeps. Occupancy groups S-1, S-2, and F-1, and building sizes of 20,000 sq ft or more.
- What the record carries. The address, the square footage, the owner, and the issue date.
- How the tenant is found. Matched from the lease sources or the economic development announcement for the same address.
5. Company growth signals
A funding round or a headcount jump of 20% or more in 6 months means the company outgrows its space within a year.
- RSS feeds. PR Newswire and Business Wire, pulled weekly and filtered by city and the words “Series A”, “Series B”, or “growth round”.
- Headcount tracking. An Apify LinkedIn company scraper stores headcount monthly for companies in radius with 40 to 500 employees.
Lowest intent of the five, because the move date is unknown, so the sequence for this source offers a space-planning call instead of a survey.
ICP definition
Filter logic the workflow applies:
| Filter | Rule |
|---|---|
| Company type | Offices, labs, life sciences, warehouses, distribution, light manufacturing, healthcare clinics, private education |
| Size | 5,000+ sq ft leased, or a $100,000+ permit valuation, or a 20,000+ sq ft warehouse, or 40 to 500 employees |
| Radius | Within 80 km of base (origin or destination address) |
| Trigger window | Trigger dated in the last 30 days (leases, permits, certificates of occupancy), or a recorded lease ending 9 to 12 months out |
| Contact | Facility manager, office manager, operations director, COO, tenant rep, IT director |
| Excluded | Residential and retail occupancy, household moves, government tenants (formal procurement), national chains with a corporate relocation management company, current clients (CRM match), competitors, landlords with no disclosed tenant after the 7-day hold |
Outreach sequence
The four steps
| Step | Day | Channel | Goal |
|---|---|---|---|
| 1 | 0 | Point to the lease or permit record and ask for a site survey before the move date is locked | |
| 2 | 3 | Short bump with the lease commencement or permit date | |
| 3 | 7 | Value angle: one specific pain (weekend cutover, IT disconnect and reconnect, crate logistics) | |
| 4 | 14 | Breakup, door open, 48-hour quote offer |
Example step 1 (lease trigger)
Subject: move plan for [new address]
Hi [Name], saw the [sqft] sq ft lease at [new address] was signed on [lease date] through [broker]. On a space that size the move usually lands 60 to 90 days out, and the weekend before is the hard part.
We move [N] offices a year in [city], handle IT disconnect and reconnect, and can survey both addresses and price the move in 48 hours.
Worth a 30-minute site survey in [week]?
Expected reply rates
| Row type | Expected reply rate |
|---|---|
| Trigger sources (leases, permits, memoranda of lease, certificates of occupancy) | 3 to 6% |
| Growth signals | 2 to 4% |
These are estimates for a warmed domain sending to one metro.
The share of leases with a disclosed tenant and the competition from tenant rep referrals in your market will move them.
Stack and running costs
| Tool | Purpose | Monthly |
|---|---|---|
| n8n Cloud | Orchestration | $24 |
| Apify | LoopNet, Crexi, business journal, permit portal, county recorder, and LinkedIn scraping | $30 |
| 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 | ~$170 |
PR Newswire and Business Wire RSS feeds are free.
No Google Maps inventory source is used, so there is no SerpAPI line. Costs are current public starter tiers.




