Keep one job-application row updated from recruiter emails
At a glance
A job seeker used n8n, Gemini and Google Sheets to track application status from Gmail. This workflow is listed under Job Search, Application Tracking, Email Automation.
- Agents / tools
- n8n, Google Gemini, Gmail, Google Sheets
SourceBuilding a tool for these workflows? See weekly rates.
What they did
1) In n8n, configure Gmail and Sheets OAuth credentials plus a Gemini API credential. Create an Applications sheet with application_key, company, role, status, next_step, deadline, last_update, last_subject, from and gmail_link columns; set the workflow timezone. 2) Add an hourly Gmail Trigger, with Simple off and both read states included. Exclude promotions/social mail and search application, interview, offer and assessment terms. 3) Keep sender, subject, date, message/thread IDs and the first 3,000 body characters. Send these through a Basic LLM Chain with Gemini and a Structured Output Parser. Require an application flag, hiring company, role, status, next step and ISO deadline; reject newsletters and job alerts. 4) Filter false flags. Lowercase company|role and normalize punctuation to form application_key. Append or update Sheets using that key; retain the Gmail thread link. 5) Activate and inspect the resulting rows against their emails. Merge ambiguous company names or unknown roles manually.
Worth knowing
The trigger starts with new mail. Backfill requires a separate Gmail Get Many Messages run through the same extraction chain.