Skip to content
Subscribe

Automating the Browser: Job Applications at Scale

Applying to jobs is the worst kind of repetitive work. Same fields, same resume upload, same “Tell us about yourself” textarea — 50 times over. This is exactly what agents should handle.

There are two approaches to browser automation with AI agents:

ApproachToolBest For
Headless scriptingPlaywright / PuppeteerPredictable, structured pages
AI-driven navigationOpenClaw browser toolDynamic forms, varied layouts

The key insight: ATS platforms (Greenhouse, Lever, Ashby, Workday) are structured enough for AI-driven automation but varied enough that hard-coded scripts break constantly. AI agents adapt to layout changes that would crash a brittle script.

OpenClaw gives agents a browser they can control through natural language actions:

// Agent sees a snapshot of the page DOM
browser({ action: "snapshot" })
// Returns accessibility tree:
// [button "Submit Application"]
// [textbox "First Name"]
// [textbox "Last Name"]
// [file "Resume Upload"]
// Agent fills fields by reference
browser({
action: "act",
request: { kind: "fill", ref: "First Name", text: "JD Davenport" }
})

The agent sees the page as an accessibility tree — not pixels, not raw HTML. It understands form structure, button labels, and navigation elements. This means it works across different ATS platforms without platform-specific code.

Greenhouse is the most common ATS. Here’s what the agent does:

browser({
action: "navigate",
targetUrl: "https://boards.greenhouse.io/company/jobs/12345"
})

The agent takes a snapshot and identifies all form fields. Greenhouse forms typically include:

  • Personal info (name, email, phone)
  • Resume upload
  • Cover letter (optional)
  • Custom questions
  • EEOC/demographic fields
// The agent maps its knowledge to form fields
browser({ action: "act", request: {
kind: "fill", ref: "first_name", text: "JD"
}})
browser({ action: "act", request: {
kind: "fill", ref: "last_name", text: "Davenport"
}})
browser({ action: "act", request: {
kind: "fill", ref: "email", text: "jd@example.com"
}})
browser({
action: "upload",
paths: ["/path/to/tailored-resume.pdf"]
})

This is where AI shines. Custom questions vary by company:

  • “Why do you want to work here?”
  • “Describe a time you led a team.”
  • “What’s your expected salary?”

The agent uses context from its memory (your background, preferences, salary expectations) to generate appropriate answers. No copy-paste from a template — each answer is contextual.

// Take a final snapshot to verify all fields
browser({ action: "snapshot" })
// Agent reviews: all required fields filled? Resume uploaded?
// Then submits
browser({ action: "act", request: {
kind: "click", ref: "Submit Application"
}})

Some ATS platforms use reCAPTCHA. Options:

  • 2Captcha service — sends the challenge to human solvers (~$3 per 1000)
  • Wait and retry — some CAPTCHAs only trigger on suspicious behavior
  • Skip and flag — mark the application for manual completion

Workday loves multi-page applications. The agent handles this by:

  1. Completing each page
  2. Clicking “Next” or “Continue”
  3. Snapshotting the new page
  4. Filling the next set of fields
  5. Repeating until submission

Some companies require account creation. The agent can:

  • Create accounts with a dedicated email
  • Store credentials in memory
  • Log in for future applications to the same company

Automated job applications get mixed reactions. My take:

  1. You’re not gaming the system — you’re eliminating busywork
  2. Every answer is still yours — the agent uses your real experience
  3. Quality matters — a tailored resume and thoughtful answers beat mass-spray
  4. Time is finite — spending 45 minutes per application on 50 applications is 37 hours of repetitive form-filling

The agent doesn’t fake credentials or fabricate experience. It translates your qualifications into their form fields. That’s automation, not deception.

  1. Set up your first OpenClaw agent
  2. Create your base resume and candidate profile
  3. Build a job search agent that finds relevant postings
  4. Connect the browser automation for applications
  5. Track results in a spreadsheet or database

The whole pipeline — search, tailor, apply, track — runs while you sleep.


About the author: JD Davenport builds AI agent systems at OpenClaw. Follow on LinkedIn for updates on building AI agents for business.