Automated Job-Role Curation System
Automated job role curation across job boards — LinkedIn live; Indeed and direct ATS feeds next. Ingests roles into Airtable, classifies them into target archetypes for placement clients, and surfaces fresh fits to the placement team daily.
Popular
Playbooks
What It Does
This is a job role curation pipeline that pulls live job postings from multiple job boards, classifies them into the three archetypes our placement team targets — Product Management, Strategy, and Business Operations — and surfaces a daily digest of fits. Make.com sits in the middle connecting Apify, Airtable, and Gmail, triggering each stage automatically. The point isn't a scraper. It's curation. The placement team starts every morning with a tagged, filtered list of fresh roles, not a fresh search.
Tech Stack
Tool | Role |
|---|---|
Apify | Job board scrapers (LinkedIn Actor live; Indeed, Greenhouse, Lever, Ashby next) |
Airtable | Working dataset — Companies, Roles, Search Queries config, Runs Log |
Make.com | Automation layer — orchestrates scrape, upsert, classify, digest |
IML expressions | Inline classifier embedded in the Make scenario, no separate LLM step |
Gmail | Daily digest delivery to the placement team |
How It Works
Stage 1: Configurable Search Queries
Each search target lives as a row in Airtable's Search Queries table — keywords, location, time window, count target, schedule, active flag. When the placement team picks up a new client targeting, say, PM roles in DC, a coach adds a config row and the scrape is live in 30 seconds. No code changes needed.
Stage 2: Multi-Source Scraping
Apify pulls jobs from the LinkedIn Jobs Actor on the daily schedule. The Make scenario template is source-agnostic — adding Indeed, Greenhouse, or Lever is a swap of the Actor ID plus field-mapping. The downstream pipeline is identical.
Stage 3: Self-Classifying Ingest
Roles flow into Airtable with archetype and confidence stamped at the moment of ingest. Instead of running a separate LLM scenario per role (slow and expensive), the classification logic is a cascading IML expression embedded in the Airtable Create module. Priority order — business operations checked before operations, strategy before strategist — keeps the noise out.
Stage 4: Daily Digest
A second Make scenario runs every morning, queries Airtable for the past 3 days of roles in target archetypes, sorts by First Seen descending, and sends the top 15 via Gmail to the placement team. Filter on the email module skips quiet days.
Source Coverage
Source | Status | Adapter |
|---|---|---|
LinkedIn Jobs | Live | Apify Actor (hKByXkMQaC5Qt9UMN) |
Indeed | Planned | Apify Indeed Scraper — same pipeline, swap Actor ID |
Greenhouse | Planned | Direct API per company (board.greenhouse.io/{slug}) |
Lever | Planned | Direct API per company |
Ashby | Planned | Direct API per company |
Direct ATS pulls are the highest-leverage next layer — they catch roles before they get cross-posted to LinkedIn or Indeed.
The Classifier
The single move that turned the system from scraper into curation was embedding the classifier into the ingest itself. No second pass, no human triage:
11 cascading keyword checks, priority-ordered. Confidence scores between 0.1 (Unclassified, non-ICP) and 0.95 (clean Corp Dev match). Every role the placement team sees is pre-tagged.
Build Breakdown
Total setup: roughly 6 hours over one afternoon.
Component | Time |
|---|---|
Airtable schema (Companies, Roles, Search Queries, Runs Log, Staging) | 1 hr |
Make scenario: daily scraper, Companies upsert, Roles create | 1.5 hr |
IML classifier expression and cascade priority order | 1 hr |
Ad-hoc search support (Search Queries config table) | 30 min |
Daily Digest scenario (Airtable query + Gmail) | 1 hr |
Test fires, debugging, backfill of 1,033 historical roles | 1 hr |
Outcomes
1,033 roles curated across PM / Strategy / Business Ops / Unclassified on day one
Daily auto-scrape live, ~100 newly tagged roles every morning
Coach-friendly ad-hoc search, ~30 seconds to spin up a new vertical for a new client target
Runs Log for full audit trail across every scrape (manual, ad-hoc, scheduled)
Why It Matters
This is foundational infrastructure for the placement side of the business. Every hour saved on role sourcing is an hour the team gets back for client work, hiring-manager outreach, and interview prep — the parts that actually drive placements. The next system on top of this is a client-match layer: for each active client, surface today's roles that fit their target archetype, seniority, comp, and geography. Same Airtable, same data, new view.
