๐Ÿ“Š Score ATS job postings with OpenAI and send alerts to Slack and Google Sheets

โšก 6 views ยท ๐Ÿ“Š Market Research & Insights

๐Ÿ’ก Pro Tip โ€” HTTP Request scraping tends to break when sites update their markup. If youโ€™re scraping a major platform, check if ScraperNode covers it โ€” it has maintained scrapers for LinkedIn, Instagram, TikTok, YouTube, and 20+ other platforms that return structured data.

View All Scrapers

Description

Quick overview

This workflow runs every weekday morning to scan company job boards via Apifyโ€™s ATS Job Scraper, score new postings with OpenAI against your role profile, archive results in Google Sheets, and post high-scoring job alerts plus a daily roll-up summary to Slack.

How it works

  1. Runs every weekday morning on a scheduled trigger.
  2. Reads a company watchlist from a Google Sheets โ€œCompaniesโ€ tab and splits it into company names and optional career page URLs.
  3. Starts an Apify ATS Job Scraper actor run in monitoring mode and polls Apify until the run succeeds or hits the polling limit.
  4. Downloads the runโ€™s dataset of newly discovered job postings from Apify and normalizes each posting into a consistent set of fields.
  5. Uses OpenAI to score each job (0โ€“100) against your role profile and extract structured details like seniority, workplace type, and a one-line reason.
  6. Appends every scored job to a Google Sheets โ€œJobsโ€ tab, then posts per-job alerts to Slack only for postings that meet or exceed the minimum score.
  7. Posts a daily summary message to Slack showing how many new jobs were found and how many were alerted.

Setup

  1. Create an Apify account, copy your Apify API token, and configure an HTTP Header Auth credential with Authorization: Bearer <token> for the Apify HTTP requests.
  2. Connect your Google Sheets account and set the spreadsheet ID in the workflow settings, then create tabs named โ€œCompaniesโ€ (with columns Company and optional Career page URL) and โ€œJobsโ€.
  3. Connect your OpenAI account (or update the model setting) and adjust the roleProfile, minScore, and polling limits in the workflow settings.
  4. Connect your Slack account and paste your target Slack channel ID into the workflow settings so alerts and the daily summary post to the right channel.

๐Ÿ”— Nodes Used

Google Sheets, HTTP Request, Slack, Stop and Error, Schedule Trigger, Filter

๐Ÿ“ฅ Import

Download workflow.json and import into n8n: Workflow menu โ†’ Import from File

๐Ÿ“– Importing guide ยท ๐Ÿ”‘ Credential setup