Quick overview
This workflow runs daily to fetch newly posted jobs from the Apify ATS Jobs API, deduplicates them against a Google Sheets log, scores each job for fit using Anthropic Claude, then sends the top matches to Telegram and/or Gmail and appends all new jobs to the sheet.
How it works
- Runs once per day on a schedule.
- Calls the Apify ATS Jobs API actor to retrieve jobs posted since yesterday using your keywords and location filters.
- Reads previously logged job IDs from a Google Sheets tab and removes already-seen jobs from the new results.
- Sends the remaining jobs (ID, title, company, location) to Anthropic Claude to get a 0–10 fit score and a short reason for each.
- Ranks the jobs by score, selects the top N, and formats a Telegram text message and Gmail-ready HTML message.
- Sends the alert to Telegram and/or Gmail based on your enabled flags, and appends all newly found jobs (including scores and a sent flag) to Google Sheets.
Setup
- Create an Apify API token and add an HTTP Header Auth credential for the Apify request.
- Create an Anthropic API key and add an HTTP Header Auth credential for the Claude request (with the required version header configured in the node).
- Connect your Google Sheets account, set the Sheet ID in the settings, and create a “Jobs” tab with columns: id, title, company, location, applyUrl, score, reason, sent, status, loggedAt.
- If using Telegram, add Telegram credentials, set your Telegram chat ID, and enable the Telegram flag in the workflow settings.
- If using Gmail, connect Gmail credentials, set the recipient address, and enable the Gmail flag in the workflow settings.