Sync

Pull live data from external systems into the local DB. After each pull, unify_persons() rebuilds the unified 98,675-person table.

Ashby

jobPosting.list + candidate.list. Existing rows refresh; previously enriched candidates keep their AI summaries.
Local: 54 jobs · 31,428 candidates
Loading status…

JazzHR

Three phases: jobsapplicants (list) → enrich (per-applicant detail). Slow phase is rate-limited to JazzHR's 240 req/min.
Local: 211 jobs · 82,880 applicants

AI enrichment

Generates ai_summary, ai_skills, ai_seniority, ai_primary_role for every unenriched row across the source pools (graduates first, then candidates, then small pools). Auto-pauses while the PDF queue is non-empty so parsing isn't starved.
Loading status…

Unify persons (manual)

Rebuilds the canonical persons table from all 8 source pools (Ashby, JazzHR, graduates, talent, CYO, AI interns, creative directory, sourced). Runs automatically after each Ashby/JazzHR sync. Use this button to manually re-run.

Recent Ashby syncs

#StartedEndedStatus JobsCandidates Error
9 1778230565 1778232991 done 42 31413
8 1778224015 1778225005 failed 41 14900 candidate.list HTTP 502: <!DOCTYPE html> <!--[if lt IE 7]> <html class="no-js ie
7 1778169997 1778172514 failed 41 27500 candidate.list HTTP 502: <!DOCTYPE html> <!--[if lt IE 7]> <html class="no-js ie
6 1778169015 candidates 41 9300
5 1778139070 1778139381 failed 41 5900 candidate.list HTTP 502: <!DOCTYPE html> <!--[if lt IE 7]> <html class="no-js ie

Recent JazzHR syncs

#StartedEndedStatus JobsApplicants Error
16 1778224015 1778225055 done 211 82953
15 1778169997 1778204517 done 211 55550
14 1778169015 1778169997 cancelled 211 74699 Stale — auto-cancelled
13 1778139071 0 cancelled 211 39400 Stale — auto-cancelled during recovery sweep
12 1778138948 0 cancelled 211 9800 Stale — auto-cancelled during recovery sweep