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 DRY_RUN mode to preview who would be emailed, and conservative rate limits for both HTTP requests and email sends.
Job Posts
tab (job_url, recruiter_name, recruiter_email
).Last-Modified
missing, HTTP GET and parse common meta tags (article:modified_time
, og:updated_time
, lastmod
, dateModified
).age_days ≥ THRESHOLD_DAYS
, prepare a personalized email using templates.Job Posts
job_url, recruiter_name, recruiter_email
SPREADSHEET_ID
= your Sheet IDSOURCE_SHEET
= Job Posts
TIMEZONE
= Asia/Kolkata
THRESHOLD_DAYS
= 30
(change if needed)USER_AGENT
= n8n-job-checker/1.0
HTTP_TIMEOUT_SECONDS
= 10
HTTP_RETRIES
= 2
RATE_LIMIT_HTTP_SECONDS
= 5
RATE_LIMIT_EMAIL_SECONDS
= 2
SMTP_FROM
= sender email (e.g., [email protected]
)SUBJECT_TEMPLATE
, HTML_TEMPLATE
, TEXT_TEMPLATE
(placeholders: {{recruiter_name}}
, {{job_url}}
, {{age_days}}
, {{last_modified}}
)INCLUDE_WEEKENDS
= true
DRY_RUN
= false
(set true
to preview)Job Posts
tab and required columns.THRESHOLD_DAYS
(e.g., 15, 45).SUBJECT_TEMPLATE
, HTML_TEMPLATE
, and TEXT_TEMPLATE
.RATE_LIMIT_HTTP_SECONDS
and RATE_LIMIT_EMAIL_SECONDS
for your environment.INCLUDE_WEEKENDS
.DRY_RUN=true
to check recipients before real sends.last_modified_http
, age_days
, reminder_sent_at
, last_checked_at
, notes
to the sheet.threshold_days
column to override the global threshold per job.reminder_sent_at
).Issue | Possible Cause | Solution |
---|---|---|
No emails sent | DRY_RUN is true |
Set DRY_RUN=false to actually send. |
Rows skipped | Invalid/missing job_url or recruiter_email |
Fix the row values; ensure valid URL and email. |
“Stale” not detected | Page has no Last-Modified header and no recognizable meta tags |
Add manual review; consider the Helper columns add‑on to log missing dates, or track first_seen_at . |
Wrong time math | Timezone mismatch | Confirm TIMEZONE=Asia/Kolkata (or your TZ) in Set: Config. |
Too many requests | Sites rate‑limit frequent checks | Increase RATE_LIMIT_HTTP_SECONDS ; consider running less frequently. |
Emails fail to send | SMTP auth or quota issues | Verify SMTP credentials, sender address, and provider limits; try a different sender or schedule. |
If you’d like help tailoring the templates, adding Slack notifications or writing back helper columns for audit, just message us at WeblineIndia and we will be happy to help you get this running smoothly.