Repository navigation
feat: Workday careers sites in the job feed - #72
Merged
Merged
Conversation
34 graduate employers' careers sites run on Workday, which the collection didn't
fetch. A Workday site searches through a public JSON service (the one its own
pages call): POST .../wday/cxs/<tenant>/<site>/jobs lists postings, 20 a call
and without descriptions; GET ...<externalPath> is one posting.
- _WORKDAY_BOARDS: 31 sites ("<tenant>/wd<n>/<site>"), early-careers ones first
(Lloyds, LSEG, MUFG, Visa, Rolls-Royce, FCA, abrdn) and whole careers sites
(Citi, Barclays, NatWest, Capital One, Thales, Shell, bp…). Accenture's
refuses searches (429) and isn't listed; a site an employer page misled the
check into (Allstate's, for another firm) is listed once.
- _fetch_workday: boards are big and worldwide (Citi 2000+), so each is searched
with the collection's queries (40 best matches each), and only postings whose
title matches and that may be in the searched locations ("2 Locations" ones
included) are read in full, 25 at most per board. Calls share one gate (4 at
once); a 429 is waited out once, then the site is left for the next run.
- collect_jobs passes its locations to the board fetchers for this.
- check_board knows Workday (a one-posting search: its total; 404 = gone).
- Full descriptions on demand: Workday postings through the site's job service
(only *.myworkdayjobs.com hosts are called), and Lever EU postings from the EU
API (step 1's CoreTech Security came back empty from api.lever.co).
Live, one collection's pass: 67 s, 248 postings read, 166 in London/UK, 74 past
the title filter, all with full descriptions; 47 graduate roles (Lloyds' SE,
Cyber, Data Science & AI schemes; LSEG; Visa; Rolls-Royce; Barclays' 2027
programmes; NatWest Graduate Trainee - Engineering). Autopilot doesn't fill
Workday forms: these are applied to from the job page.
This was referenced Oct 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
34 of the graduate employers' careers sites checked in #71 run on Workday, which the collection didn't fetch: the largest group after plain company pages.
A Workday site searches through a public JSON service, the same one its own pages call:
POST …/wday/cxs/<tenant>/<site>/jobslists postings, 20 a call and without descriptions;GET …/wday/cxs/<tenant>/<site><externalPath>returns one posting.What changed
_WORKDAY_BOARDS: 31 sites as"<tenant>/wd<n>/<site>"._fetch_workday: boards are big and worldwide (Citi lists 2000+), so each is searched rather than read whole.collect_jobspasses its locations to the board fetchers for this.check_boardknows Workday: a one-posting search gives the total, and 404 means gone._ats_full_description):*.myworkdayjobs.comhosts, by bare hostname, are called.api.eu.lever.co. CoreTech Security from feat: more employers' job boards in the feed, and Lever's EU instance #71 came back empty fromapi.lever.co.Autopilot doesn't fill Workday forms (
ATS_HOSTSunchanged). These jobs are applied to from the job page, which writes the CV and letter.Tests
check_board: gives the total, or None when the site is gone._search_level2_ats_apistakelocations.check_board33 on Lloyds and None on a missing site; a Lloyds description fetched (6,251 chars).After deploy
docker compose up -d --build api.