Skip to content

How the robot practices on Dayforce forms (plain version)

Plain-language version. The engineer version with tables and file names is ../technical/scraper-automation-learnings-dayforce.md.

Some companies take job applications through Dayforce (also called Ceridian). We built a little practice gym so the app can learn to fill out a Dayforce application form without ever touching the real thing. It all runs on your own computer, offline. Nothing is sent anywhere, no account is created, and the final "Submit" button is never really pressed.

The practice gym

  • We built a fake Dayforce form that lives only on your computer. It looks and behaves like a real Dayforce application (the same steps, the same kinds of boxes), but it's a stand-in.
  • Each practice round, the fake form shuffles itself: it renames labels, sometimes in Spanish, hides some of the little "name tags" the robot uses to find boxes, adds a delay before the boxes appear, and occasionally leaves a required box out entirely.
  • The app's form-filler then walks through the whole thing — contact info, work experience, education, a couple of screening questions, the optional equal-opportunity questions — and stops at the very end, right before submitting.
  • It does this over and over, keeping a diary of what worked, what didn't, and how long it had to wait, so we can see where it struggles.

The big lesson: Dayforce makes you wait

The most important thing we learned is about timing.

On some other systems (like Workday), all the boxes are on the page the instant it loads — the robot just has to find them. Dayforce is different: it loads an empty page first, and then the boxes pop in a moment later. If the robot looks too early, it sees nothing and thinks the form is broken.

So the robot learned to wait twice:

  1. First it waits for the page to say "I'm done loading" (Dayforce actually announces this).
  2. Then, for each box, it waits until that specific box is actually visible before typing.

That patience is the whole trick. Once the robot waits properly, the rest is easy — Dayforce forms are actually cleaner and tidier than a lot of older systems.

How it finds each box

Every box can be identified a few different ways, so the robot tries them in order, best first:

  1. A hidden "name tag" the site attaches for testing (the most reliable).
  2. A built-in accessibility label (the text a screen reader would announce).
  3. The visible label printed next to the box.
  4. A couple of last-resort guesses.

If the best clue is missing that round, it falls back to the next one. The diary shows the name tags and accessibility labels almost always win, which is exactly what we hoped.

Things that tripped it up (and how it recovered)

  • The form was slow to appear. Sometimes a step (especially the optional questions) loaded so late the robot nearly gave up. We gave the slow steps extra patience.
  • A required box was missing. When the practice form hid a box on purpose, the robot noted "I couldn't find this one" and moved on, instead of crashing.
  • "Upload your resume" instead of typing. When the form offered a file upload first, the robot chose the "enter it by hand" option instead of getting stuck on a file dialog.
  • A confusing degree box. The robot has "Bachelor of Science" and "Game Development" stored separately, but some forms want them combined as "B.S. in Game Development." Rather than guess, it flags this for a human to double-check.
  • A round that gets stuck. If one practice round ever freezes (usually because the computer is busy running other things), a built-in timer gives up on that round after a minute, writes down "this one got stuck," and moves on to the next — so the whole practice session never hangs.

The safety promise

  • Nothing real is touched. The whole practice form runs on your own computer at a local-only address. There is no connection to the real Dayforce.
  • No account is ever made, and no real login is used.
  • Submit is never really pressed. The robot walks right up to the Submit button, notes "this is where I would submit," and stops. The practice form's fake submit button does nothing but print "nothing was sent." After every round the gym double-checks that no submission happened.