workflows.fit
Back to n8n workflows
n8n templateFreeBy Pratistha Thapa

Track daily job applications from Gmail to Google Sheets via GPT-4o-mini with approval

Who's it for Active job-seekers who apply to 10–30 roles a week and lose track of which application is at what stage. Built for anyone tired of manually updating a spreadsheet every time a recruiter replies — or worse...

Data & StorageProductivityCommunicationHITLAILangchainCore NodesSticky Note
Loading interactive preview...

Template notes

Who's it for

Active job-seekers who apply to 10–30 roles a week and lose track of which application is at what stage. Built for anyone tired of manually updating a spreadsheet every time a recruiter replies — or worse, realizing their tracker has been lying to them for two weeks.

What it does

This workflow runs every morning at 9 AM, scans your Gmail for job-application emails, and uses GPT-4o-mini to extract three things from each one:

- Company (the actual hiring company, not the ATS platform) - Position (cleaned of boilerplate like "the role of") - Status (Applied, Interview, Offer, Rejected, or Other)

It then writes structured rows into a Google Sheet — one row per application, identified by a Match Key of Company | Position. New applications get appended automatically. Status changes for existing rows (Applied → Interview, Interview → Offer / Rejected) are gated behind a one-tap email approval, so an LLM misclassification can never silently demote a row.

How it works Daily 9 AM Trigger ↓ Fetch Gmail (filtered by ATS senders & job-keyword subjects, last 2 days) ↓ Process Email Data (clean & truncate body to 4000 chars) ↓ Extract Key Information (GPT-4o-mini, structured JSON output) ↓ Format Data (build Match Key) ↓ Filter Valid Job Updates ──→ Other ──→ "Other app" sheet tab ↓ Branch by Status ├─ Applied ──→ Track New Application (append row) └─ Interview / Offer / Rejected ↓ Aggregate into single digest ↓ Email & Wait for Approval (sendAndWait) ↓ Merge → Split → Update Application (match by Match Key)

Key design choices: