Skip to main content
FirstCoast.ai
All case studies
Case study: Mid-sized employer on ADP

Automated Candidate Screening and Multiple Job Site Integrations

A recruitment team was recreating every job posting across separate systems and manually screening hundreds of resumes a month with keyword tools that missed good candidates. We connected ADP, Greenhouse, their website, and two outside job boards into one pipeline, with an AI reasoning step doing the screening.

How the candidate screening pipeline worksA new opening is entered once, in ADP and Greenhouse. It publishes automatically to the company's own careers page, so nobody retypes a posting and the systems stay in sync. Two independently generated hourly XML feeds keep the same openings current on the RecruitMilitary and SpouseWorks job boards, so one feed failing never stops the other. The integration was built inside the client's existing stack, not bolted on beside it, with state management that prevents the systems from ever drifting out of sync. The applications those postings produce flow back into the pipeline, especially the ones from the outside boards, where each resume is parsed to text and the file itself is deleted rather than stockpiled. An AI reasoning step then evaluates every candidate against the actual job description, in context, the way a careful human reader would, instead of matching keywords, which is what used to reject qualified candidates who simply described their experience differently. Each candidate comes out with a score from 0 to 100 and the written reasoning behind it. Recruiters work a ranked list in their existing inbox and can trust any score or override it, and resume review time is down by about 30 percent.POSTINGS OUTADPGREENHOUSEEntered once, in both systemsthen published everywhere elsePublished, never retypedthe careers page, in sync with both systemsNO DUPLICATE ENTRYOUTSIDE JOB BOARDSHourly XML feedsRecruitMilitary and SpouseWorksopenings, always currentBUILT INTO THEIR STACKNo sync conflicts, everbuilt inside their stack,not bolted on beside itstate management keeps fivesystems from ever drifting apartAPPLICATIONS BACKReasoning, not keywordsread against the actual job descriptionReasoning in contextKeyword matching0 to 100 scoreWritten reasoningRESUME FILES DELETEDthe file itself is deleted after parsingRanked list, not a piledelivered to the recruiters’ own inboxREASONING ATTACHEDtrusted, or overridden, either wayRESULTAbout 30%less resume review timeacross every opening

The challenge

  • Every job opening was entered separately in ADP, Greenhouse, and the website's careers page
  • Getting openings onto outside job boards, like RecruitMilitary, meant a manual export with no fixed schedule
  • Resume screening consumed hundreds of hours a month
  • Keyword matching rejected qualified candidates who simply used different words for the same experience

What we built

An hourly background pipeline. New and updated positions publish from ADP and Greenhouse to the website automatically, and two independently generated hourly XML feeds keep the RecruitMilitary and SpouseWorks job boards current with the same openings, so one feed failing never blocks the other. New applications flow back, resumes are parsed, and an AI reasoning step evaluates each candidate against the actual job description, in context, the way a careful human reader would. Recruiters get a prioritized list with a 0-to-100 score and written reasoning for every candidate.

  • Postings stay in sync across ADP, Greenhouse, and the website with zero duplicate entry
  • Hourly XML feeds publish current openings to both the RecruitMilitary and SpouseWorks job boards automatically, each generated and validated independently
  • The SpouseWorks feed maps only what Greenhouse can source accurately: title, job ID, URL, industry, description, and location; fields it cannot verify, like compensation or remote status, wait for controlled data instead of a guess
  • Resumes are processed and the files deleted after text extraction, not stockpiled
  • Every score arrives with its reasoning, so recruiters can trust it or override it

How it's built

Custom ADP and Greenhouse API integrations, scheduled XML feed generators for the RecruitMilitary and SpouseWorks job boards, automated document parsing, an AI evaluation layer, and state management that prevents sync conflicts, delivered into the recruiters' existing inbox workflow. The SpouseWorks feed was mapped against the Military Spouse Employment Partnership's own published guidance and validates its XML, field by field, before it ever replaces the last-known-good feed. Built inside the client's stack, not alongside it.

Results

  • Resume-review time reduced by about 30%
  • Recruiters work a ranked list instead of a pile
  • Listings stay synced across ADP, Greenhouse, the website, and both outside job boards without anyone retyping them
  • The SpouseWorks feed runs on deterministic code rather than a model call, so it costs nothing to run and never invents a field the source data does not support

Where does your team type the same thing twice?

Duplicate entry and manual screening are the two most automatable jobs in any business. The audit finds yours.