Teaching the assistant to fill in UKG job applications (plain version)¶
Engineer version: ../technical/scraper-automation-learnings-ukg.md
Some employers run their job applications on a system called UKG (also called UltiPro). It works differently from Workday (another big one), so we built a practice range to teach the assistant how to fill in UKG applications without ever touching a real one.
Everything here is a safe practice dummy¶
The practice range runs entirely on your own computer. There is no real UKG website, no real internet connection, and no real "submit" button that sends anything to an employer. It's a pretend copy of a UKG application that only exists on your machine.
The most important rule: the assistant never actually submits. When it reaches the final "Submit application" screen, it stops, writes down "I would submit here — but I won't," and starts over with a fresh pretend application. The submit button is wired to do nothing.
Why UKG is harder than Workday¶
Think of filling in a form as finding each box by a label on the back of it.
- On Workday, every box has a neat, permanent barcode sticker. Find the sticker, find the box. Easy and reliable.
- On UKG, there's no barcode sticker. Instead each box might be identified by its name, or by a label meant for screen readers, or just by the words printed next to it — and which of those is present can change from one employer to the next, or from one software update to the next.
So the assistant can't memorize "the email box is always in this spot." It has to try several ways of finding each box, in order, until one works.
The "try these in order" trick¶
For every box, the assistant keeps a short list of ways to find it, best first:
- Its id (the closest thing UKG has to a barcode — but it sometimes disappears).
- Its name (very reliable — this turned out to be the assistant's best backup).
- Its screen-reader label (a good safety net).
- The words printed next to it.
- A last-ditch guess based on the greyed-out hint text inside the box.
The practice range showed this works: even when we deliberately ripped the "id" barcode off every box, the assistant found every single field using the name backup. Nothing was ever left blank.
Other UKG quirks the assistant learned to handle¶
- "Upload your resume" screens. UKG often pushes you to upload a resume file first. The assistant instead clicks the small "Enter manually" link and types the details in, so it stays in control of exactly what's filled.
- Hidden voluntary questions. The optional diversity/veteran/disability questions are often tucked inside a collapsed panel. The assistant opens the panel first, then fills them in — but only with the answers you've already chosen, and it leaves anything blank that you'd rather not say.
- Slow-loading screens. UKG pages sometimes appear a beat late. The assistant waits patiently for each screen to actually show up before trying to type.
One thing it deliberately does not guess¶
Just like with Workday, there's a tricky spot around your degree. Your profile says "Bachelor of Science" in one box and "Game Development" in another — but some UKG employers have a single box that wants them combined, like "B.S. in Game Development." Rather than guess the format, the assistant flags it as a judgement call and (in the real app) would pause to ask you, then remember your answer for next time.
What we ran¶
We ran 20 practice applications back to back. Every one finished, every one stopped safely at the submit screen without submitting, and no field was ever left unfilled by mistake. Along the way the practice range kept score of which "ways to find a box" worked and which failed — that scorecard is what tells us the name backup is the reliable one to lean on.
How to run a long practice session¶
If you want to leave it running to keep hardening the assistant:
dotnet run --project tools/WorkWingman.ScraperLab.Ukg -- --minutes 60
It will keep running fresh pretend applications for an hour, logging what it learns — and never submitting anything, ever.