Most recruitment agencies start their day the same way: someone opens LinkedIn, types in a few search queries, and manually copies job postings into a spreadsheet. For a 22-person UK agency we worked with, this was costing 4 hours a day across three researchers.
We replaced that entirely with an automated pipeline. Here's how it works.
The Problem With Manual Job Discovery
Before we built this, their researchers were:
- Running the same 12 saved LinkedIn searches every morning
- Copying job titles, company names, and hiring manager info into Airtable
- Missing jobs posted after 9am until the next morning
- Losing deals because a competitor called the hiring manager first
The fix wasn't hiring more researchers. It was removing them from the process entirely.
The Stack
How the Pipeline Works
Step 1: Job ingestion (every 2 hours)
A Make scenario runs every 2 hours and hits the LinkedIn Jobs API with 14 pre-configured search queries — combinations of job title, location, and company size filters.
Each new job posting gets pushed into a Clay table with:
- Job title
- Company name
- Location
- Date posted
- Original job URL
Step 2: Company enrichment in Clay
Once a job lands in Clay, an enrichment waterfall runs automatically:
- Company size — pulled from Clearbit (via Clay's native integration)
- Tech stack — BuiltWith API identifies what tools the company uses
- Recent funding — Crunchbase enrichment flags companies that raised in the last 90 days
- Hiring velocity — LinkedIn company page scrape counts how many open roles they currently have
Jobs at companies with 50–500 employees, recent funding, and 5+ open roles get flagged as High Priority.
Step 3: Finding the hiring manager
For High Priority jobs, Clay runs a contact-finding waterfall:
Hit rate: roughly 68% of High Priority jobs get a verified hiring manager contact.
Step 4: Sequence trigger
Once a contact is verified, Make pushes them into a Smartlead sequence automatically. The first email goes out within 6 minutes of the job being posted.
That's the edge. Most competitors are still manually searching LinkedIn 8 hours later.
The Numbers
After 6 weeks running the pipeline:
| Metric | Before | After |
|---|---|---|
| Jobs discovered/day | 40–60 | 200–250 |
| Time spent on discovery | 4 hrs/day | 15 mins/day |
| First-mover contacts | ~30% | ~71% |
| Placements in 60 days | 4 | 11 |
What We'd Do Differently
Two things we'd change if we rebuilt this today:
1. Add a deduplication layer earlier. We initially let duplicates flow through Clay and deduplicated at the Airtable stage. This wasted Clay enrichment credits on the same company multiple times. Now we deduplicate on company domain before enrichment runs.
2. Use n8n instead of Make for the orchestration layer. Make's operations-based pricing gets expensive at volume. n8n (self-hosted) runs the same workflows at a fraction of the cost. We've since migrated three clients off Make entirely.
If you want this pipeline built for your agency, we can have it running in two weeks.