← Retour au blog
ATS & Extension

Comment l’extension Chrome Kandidat remplit Workday en 30 secondes

Deep dive technique : détection DOM, injection React, upload simulé, questions ouvertes IA. Comment ça marche sous le capot.

K
Équipe Kandidat
Zurich
📅 15 fév 2026
9 min de lecture
👁 2.4k lectures
🧩

The Problem: ATS Forms

A typical Workday form contains 40 to 50 fields spread across 3–4 pages. Filling it in manually takes 15–20 minutes. If you apply to 10 jobs per week, that is 3 hours lost solely on form completion.

The Kandidat Chrome extension solves this problem by automating form completion. Here is how it works under the hood.

40-50
Fields per form
30s
Completion time
4
Supported ATS platforms

Extension Architecture

The extension comprises three layers:

  1. Content Script — Injected into the ATS page, it analyses the DOM and interacts with form fields
  2. Background Worker — Communicates with the Kandidat API to retrieve profile and data
  3. Popup UI — React interface for controlling the process and viewing progress

The content script is the core of the extension. It must work with dynamic pages (React, Angular) that frequently change their DOM structure.

Intelligent DOM Detection

Each ATS structures its forms differently. The extension uses a signature system to identify the ATS:

  • Workday — Detected via data-automation-id attributes and specific CSS classes
  • Greenhouse — Identified by the form ID #application_form
  • Lever — Recognised via the page structure .posting-page
  • SmartRecruiters — Detected via [data-test] components

Once the ATS is identified, a specialised adapter is loaded with the field mapping logic.

Field Completion

Filling in fields is not a simple input.value = "...". Modern frameworks (React, Angular) do not detect value changes made directly on the DOM. The extension simulates real user events:

  1. Focus — Simulate a click on the field
  2. Input — Inject text character by character (for React fields)
  3. Change — Trigger the validation event
  4. Blur — Exit the field to confirm

For dropdowns and selects, the extension opens the menu, searches for the matching option and simulates a click on it.

💡 Technical note: For React fields, we use React Fiber's internal properties to trigger setState correctly. This is the most complex part of the code.

Document Upload

Uploading CVs and cover letters simulates a drag & drop or native file input:

  • The document is retrieved from the Kandidat API (PDF optimised for the position)
  • A DataTransfer is created with a File blob
  • The drop event is dispatched on the upload zone
  • For Workday: simulation of the change event on the hidden file input

Open-Ended Questions and AI

Open-ended questions ("Why this role?", "Describe a project") are detected by analysing the label and placeholder. The extension sends the question + context (position, company, profile) to the Kandidat API, which generates a response via AI.

Candidates can edit the response in the popup before the extension submits it. The average generation time is 2–3 seconds per question.

Install the Kandidat Extension

Complete Workday, Greenhouse, Lever and SmartRecruiters forms in 30 seconds.

Discover the extension →

Conclusion

The Kandidat Chrome extension is a sophisticated automation tool that simulates real user behaviour to complete ATS forms. The combination of DOM detection, simulated events and AI for open-ended questions reduces application time from 15 minutes to 30 seconds. More time preparing for interviews, less time on forms.

K
Équipe Kandidat
Zurich, Suisse
Kandidat automatise la recherche d'emploi en Suisse et en Europe. IA, extension Chrome, documents personnalisés — postulez à votre prochain poste en 30 secondes.
Extension ChromeWorkdayATSTechniqueAutomatisation
Comment l’extension Chrome Kandidat remplit Workday en 30 secondes | Kandidat