How it works
1. Source
The system pulls employers from four trigger feeds weekly.
- Job posting volume and velocity. By employer, from Indeed, LinkedIn Jobs, and Google Jobs.
- New facility openings. Warehouse and plant permits and certificates of occupancy from city and county portals.
- Funding filings. Form D funding notices from SEC EDGAR.
- Seasonal hiring announcements. From the local business journal and company press releases.
- A fifth feed keeps volume steady. Warehouses, plants, and distribution centers in the territory, from Google Maps.
2. Qualify
Filters remove:
- Wrong size. Employers under 25 or over 2,000 employees.
- Other agencies. Staffing agencies and RPO firms posting on behalf of clients.
- Already served. Employers whose postings already name a staffing vendor, and existing clients.
- Out of range. Anything outside the service radius.
An agency posting on behalf of a client or an employer with a VMS program is dropped before a single Hunter credit is spent on it.
3. Enrich
For each qualified employer, the system finds the plant manager, operations manager, HR manager, or owner with a Hunter search, and BetterContact verifies the result.
- 200 or more employees. Routed to the HR manager.
- Smaller employers. Routed to the owner or operations lead.
4. Outreach
Two weeks, 3 emails, 1 recruiter phone call. The opener states the employer’s own signal.
- Posting cluster. The count and titles of roles posted.
- Facility permit. The address on the permit.
- Form D. The round they filed.
- Seasonal announcement. The hiring number from the announcement.
5. Book & track
Replies are classified by the Claude API.
- Positive reply. Gets a 20-minute meeting link.
- Recruiter alert. A Slack message carrying the open-role count, the job titles, the pay band and shift from the posting, and the days the oldest role has been open.
- ATS or CRM record. Stores the employer as a client opportunity with the trigger record, every email and call outcome, and the date the posting was last seen live.
Lead sources for staffing agencies
Ranked by signal quality:
1. Job posting volume and velocity by employer
An employer with 5 or more open roles on Indeed or LinkedIn in the same metro, or one role reposted after 30 days, has more requisitions than its recruiter can fill.
| Feed | What it gives | Pulled |
|---|---|---|
| Indeed and LinkedIn Jobs, via Apify actors | Employer postings with title, pay, shift, and description | Weekly |
| Google Jobs, via SerpAPI | The same roles from a third board | Weekly |
What each employer row carries: a count of open roles, the titles, the first-seen date, and a repost flag, grouped by employer name and domain.
A repost means 30 or more days of an empty seat, and on a production line that is measurable overtime cost.
The pitch: a bench of screened candidates can fill 5 roles in a week.
Highest intent, and the posting itself tells you the shift, the pay rate, and the job titles to put in the first line.
2. New facility openings
A warehouse, plant, or distribution center permit means 30 to 300 hires in the 90 days before opening, and a certificate of occupancy fixes the date.
- Permit portals. City and county building permit portals, commercial use class warehouse, manufacturing, or distribution, pulled by scheduled Apify scrapers.
- State announcements. State economic development announcements that list the job count.
Second-highest intent because the hiring deadline is public and fixed.
3. Funding rounds
A company filing a Form D for a $2M to $50M raise typically grows headcount 30 to 100% within 12 months, and most have no in-house recruiter at the time of filing.
- Where it comes from. The SEC EDGAR full-text search, free, pulled weekly and filtered by state and by offering amount.
- Where it lands. Strong for administrative, customer service, and skilled-trades orders; weaker for light industrial.
4. Seasonal hiring announcements
A retailer, distributor, or parcel carrier announcing a seasonal hiring number in the local business journal or a press release has a dated target it will miss without outside help.
A UPS hub announcing 400 seasonal roles in September fills them through agencies.
- Where it comes from. The business journal and the top 3 regional news sites via Apify scrapers, with the employer name, the hiring number, and the target date.
- When it runs. Hot from August to November and March to May, and near empty otherwise.
5. Facility inventory (Google Maps via SerpAPI)
Warehouses, manufacturers, distribution centers, and logistics companies within 60 km with 25 or more employees.
- When it is pulled. Only in weeks when the four trigger feeds return fewer than 120 new employers, which happens in January and in the summer lull between seasonal ramps.
- What the pitch is. These employers have no visible open requisition, so the offer is a bench introduction ahead of their next peak.
Lowest intent of the five feeds; it keeps the sending volume steady so the warmed domain does not go quiet.
ICP definition
Filter logic the workflow applies.
What starts a row
| Filter | Rule |
|---|---|
| Trigger type | Job post cluster, job repost, facility permit, Form D, seasonal announcement, or the inventory source |
| Posting volume | 5+ open roles, or a repost 30+ days after first seen |
| Facility permit | Warehouse, manufacturing, or distribution use at 20,000+ sq ft |
| Funding | Form D of $2M to $50M |
| Seasonal announcement | 50+ hires announced |
What keeps a row
| Filter | Rule |
|---|---|
| Employer type | Warehouses, manufacturing, distribution, logistics, food processing, construction contractors, healthcare admin, call centers, professional offices |
| Size | 25 to 2,000 employees (proxy: LinkedIn headcount, Indeed company page, Form D employee field, permit square footage divided by 500) |
| Radius | Within 60 km of base, or anywhere for direct-hire orders |
| Job titles | Warehouse Associate, Forklift Operator, Machine Operator, Assembler, Production Worker, CNC Machinist, Welder, Maintenance Technician, Administrative Assistant, Customer Service Representative, Data Entry Clerk, Receptionist |
| Poster check | No agency phrases in the description (staffing agency, on behalf of our client, our client is seeking, temp-to-hire through), and the poster is not a competitor or named with staffing, recruiting, personnel, or workforce solutions keywords |
| Excluded | Current clients (ATS or CRM match), competitors, government entities (bid process), enterprises above 2,000 employees with an MSP or VMS program, employers already in an active sequence within 120 days |
Outreach sequence
The four steps
| Step | Day | Channel | Goal |
|---|---|---|---|
| 1 | 0 | Opener that counts the open roles or cites the permit, filing, or hiring number; offer a 20-minute meeting | |
| 2 | 3 | Short bump with the booking link and a fill-time anchor (first screened candidates in 48 hours) | |
| 3 | 7 | Phone | Call the plant manager or HR lead, reference the email, ask for the meeting or the first order |
| 4 | 14 | Breakup with a specific deadline (opening date, peak season start, or days the role has been open) |
Example step 1 (job posting cluster trigger)
Subject: your [open_roles] open roles in [city]
Hi [First name], I saw [Company] has [open_roles] roles open on Indeed, including [job title 1] and [job title 2], and the [job title 1] posting has been up since [first_seen date].
We keep a screened bench of [N] [job category] candidates in [city] and can have the first 5 on site within 48 hours, at a [markup]% bill rate with no fee until they work.
Open to a 20-minute call this week to go through the open list?
Expected reply rates
| Row type | Expected reply rate |
|---|---|
| Trigger sources | 2 to 5% |
| Facility inventory rows | 1 to 2% |
These are estimates for a warmed domain.
Staffing replies swing with the calendar.
- The August to November and March to May ramps. The high end, when plant managers have empty shifts today.
- January and July. The low end, when requisitions are frozen.
- By trigger. Job posting clusters and facility permits reply at the high end of the range; Form D triggers reply at the low end until the hiring plan is approved.
Stack and running costs
| Tool | Purpose | Monthly |
|---|---|---|
| n8n Cloud | Orchestration | $24 |
| Apify | Indeed, LinkedIn Jobs, permit portal, and business journal scrapers | $30 |
| SerpAPI | Google Jobs feed and Google Maps inventory | $25 |
| SEC EDGAR full-text search | Form D funding feed | $0 |
| City and county permit portals | Facility opening feed | $0 |
| Hunter | Decision-maker email finding | $34 |
| BetterContact | Waterfall enrichment + verification | $15 |
| Instantly | Sending + warmup | $37 |
| Claude API | First-line generation + reply classification | $7 |
| Sending domain | Deliverability | $1 |
| Supabase (free tier) | Prospect database | $0 |
| Total | ~$175 |
A paid job-data aggregator (for example a JobsPikr or Aspen Tech Labs plan, $200 to $500/month at the lowest tiers) replaces the Indeed and LinkedIn scrapers with a single API and is left out of the base build because Apify covers one metro for $30.




