AI Agent & Workflow
A scheduled agentic workflow that maintains a personal job application tracker in Google Sheets.
Type
AI Agent & AI Workflow
Tools
Anthropic – Claude, Google Sheets, Google Drive API, Claude Chrome Extension
Year
2026
Description
An agentic workflow that maintains a personal job application tracker in Google Sheets on a weekly schedule, plus a couple of on-demand functions triggered by chat. It reads the sheet, checks live job postings against what’s recorded, updates previous entries, and reports back in plain language, largely without manual intervention.
Why
Job search spreadsheets are useful but tedious, time consuming, and not always great for one’s mental health (especially when having to mark sent applications as ghosted). Applications sit marked “Applied” long after a company goes quiet, and postings people bookmark to consider later can close, get filled, or change terms without anyone circling back to check. Doing this by hand means opening a dozen job links every week just to confirm nothing changed. This offloads that checking to something that runs on its own and only surfaces what actually needs a decision.
What the Task Does
Some of this runs as part of the agent’s weekly pass; the rest runs on its own, bound directly to the sheet. The ghosted sweep and the apply-trigger mechanics (date stamping, row placement) are handled by Apps Script triggers on the sheet itself. The agent’s job is the posting-status checks, fit scoring on new listings, and finding the right resume when I apply.
- Ghosted sweep: A time-driven trigger bound to the sheet (an Apps Script function, ghostedSweep) runs weekly on its own schedule. It finds applications still marked “Applied” after 30+ days with no status change and relabels them “Ghosted.”
- Posting status check: for every application still live in the pipeline, Applied or Not Yet Applied, fetches the actual job posting and classifies it as “Open,” “Closed,” or “Unclear,” writing that directly into the sheet. Flags substantive changes too, a shifted salary range, a new location restriction, a different title.
- Fit scoring on new postings: when a link gets added in the Job Hunt Project, it reads the job description, compares it to experience (found in the project), and writes out what’s a strong match and what’s a gap, plus a hidden internal score used only to keep the “Not Yet Applied” list sorted by best fit first.
- Apply trigger: When I tell it “I applied to X,” the agent finds the matching row, searches Drive for a tailored resume using a filename pattern, and links it in, only if it’s confident about the match, otherwise it leaves that field blank. Setting the Status dropdown to “Applied” is its last step. A trigger bound to the sheet picks that up instantly, stamps today’s date into Date Applied, and moves the row into the applied section.
Task Setup
Runs automatically every Tuesday at 12:00AM Eastern via a scheduled task bound to a personal device, so it can drive the browser for the handful of edits as needed. Everything else, reading the sheet, fetching postings, matching resumes, runs through read-only connectors with no manual approval needed week to week. A few employer career pages are JavaScript-heavy enough that a plain fetch can’t confirm their status, those consistently come back “Unclear” rather than a guess.