workflows.fit
Back to n8n workflows
n8n templateFreeBy WeblineIndia

Automate job post expiry reminders with Google Sheets, HTTP checks & Gmail

Job post expiry & refresh reminders from Google Sheets using HTTP Last‑Modified checks This workflow checks each job URL in your Google Sheet and identifies listings that look stale based on the page’s Last‑Modified d...

Data & StorageProductivityDevelopmentCore NodesCommunicationHITLSchedule TriggerGoogle Sheets
Loading interactive preview...

Template notes

Job post expiry & refresh reminders from Google Sheets using HTTP Last‑Modified checks

This workflow checks each job URL in your Google Sheet and identifies listings that look stale based on the page’s Last‑Modified date. At 10:00 Asia/Kolkata every day, it requests each URL (HEAD, then GET if needed), calculates the age in days, and sends a polite email reminder to the recruiter when age ≥ a configurable threshold (default 30 days). It includes a DRYRUN mode to preview who would be emailed, and conservative rate limits for both HTTP requests and email sends.

Who’s it for

- Recruitment teams maintaining job links on external boards/career sites. - Coordinators who want a daily, hands‑off nudge to refresh or unlist outdated posts. - Teams using Google Sheets to store job URLs and owner contacts.

How it works

1. Cron (10:00 IST) triggers daily. 2. Google Sheets reads the Job Posts tab (joburl, recruitername, recruiteremail). 3. Validate rows (URL + email format, weekend rule via config). 4. HTTP HEAD to fetch headers; if Last-Modified missing, HTTP GET and parse common meta tags (article:modifiedtime, og:updatedtime, lastmod, dateModified). 5. Compute age (days since last modified in your configured timezone). If agedays ≥ THRESHOLDDAYS, prepare a personalized email using templates. 6. DRYRUN? If true, output a preview; if false, rate‑limit and send emails via SMTP.

How to set up

1. Create the Sheet - Tab name: Job Posts - Columns: joburl, recruitername, recruiteremail 2. Credentials in n8n - Google Sheets (OAuth) - SMTP (Gmail) (use an app password if 2FA) 3. Open “Set: Config” and set: - SPREADSHEETID = your Sheet ID - SOURCESHEET = Job Posts - TIMEZONE = Asia/Kolkata - THRESHOLDDAYS = 30 (change if needed) - USERAGENT = n8n-job-checker/1.0 - HTTPTIMEOUTSECONDS = 10 - HTTPRETRIES = 2 - RATELIMITHTTPSECONDS = 5 - RATELIMITEMAILSECONDS = 2 - SMTPFROM = sender email (e.g., hiring-ops@company.com) - SUBJECTTEMPLATE, HTMLTEMPLATE, TEXTTEMPLATE (placeholders: {{recruitername}}, {{joburl}}, {{agedays}}, {{lastmodified}}) - INCLUDEWEEKENDS = true - DRYRUN = false (set true to preview) 4. Activate the workflow.