DEV Community

Cover image for How to Build a Free Applicant Tracking System in Google Sheets with Apps Script
Vineet
Vineet

Posted on

How to Build a Free Applicant Tracking System in Google Sheets with Apps Script

INTRO: Small businesses don't need a $300/month ATS. Here's how to build a candidate tracking and email automation system in Google Sheets — free, with Apps Script.

SECTION 1: The Sheet Structure

  • 4 sheets: Applications, Email Templates, Settings, Email Log
  • Key design: Status column never triggers emails — explain why this matters

SECTION 2: Reading Candidate Data Correctly

  • The timezone bug: why getDisplayValue() is needed for date cells
  • Code snippet: getCandidate() function

SECTION 3: Non-Contiguous Row Selection

  • The bug: getActiveRange() only returns last clicked range
  • The fix: getActiveRangeList().getRanges()
  • Code snippet: getSelectedRows() function

SECTION 4: Email Providers

  • GmailApp vs MailApp
  • How to support 4 providers from one settings cell
  • Code snippet: dispatch() function

SECTION 5: Logo and HTML Signature

  • buildHtmlEmail() wrapper function
  • Code snippet

SECTION 6: The Menu

  • 6 menu items, no more
  • Why manual confirmation before every send matters

If you want the pre-built template with all this already done: https://subswift.gumroad.com/l/jobapplicationtrack-googlesheets

Top comments (0)