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
- Runs every weekday morning on a scheduled trigger.
- Reads a company watchlist from a Google Sheets “Companies” tab and splits it into company names and optional career page URLs.
- Starts an Apify ATS Job Scraper actor run in monitoring mode and polls Apify until the run succeeds or hits the polling limit.
- Downloads the run’s dataset of newly discovered job postings from Apify and normalizes each posting into a consistent set of fields.
- 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.
- 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.
- Posts a daily summary message to Slack showing how many new jobs were found and how many were alerted.
Setup
- 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.
- 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”.
- Connect your OpenAI account (or update the model setting) and adjust the
roleProfile, minScore, and polling limits in the workflow settings.
- 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.