Daily job posting watcher into Notion with a Slack top 3
Every morning at 9, surface new Lever and Greenhouse roles that match your sourcing brief, file them in Notion, and post the top 3 in Slack.
Every day at 9am, I want an agent that watches public job boards for new roles matching my sourcing brief, files them in Notion, and posts a Slack digest of the top matches. Trigger is a daily cron at 9am in my local timezone.
Step 1. Run ScrapingBee Google Search across a configurable list of role variants and locations. Queries should look like: site:jobs.lever.co OR site:boards.greenhouse.io "Senior Backend Engineer" "New York" and one variant per configured (role, location) pair. Collect all organic result URLs from each query, dedupe within the run.
Step 2. For each unique result URL, call ScrapingBee Scrape HTML to fetch the listing page (render_js as needed), then ScrapingBee Extract Data with AI (ai_query) to pull a structured object: title, company, location, salary range, posted date, apply link, and a short relevance_score from 0 to 100 against my configured ideal-candidate spec, plus a one-sentence rationale. Skip any posting whose relevance_score is below the configured threshold (default 70).
Step 3. Before writing to Notion, dedupe against my existing tracker by querying the Notion database (data source) for any page whose Apply URL property matches the candidate posting. Skip anything already tracked.
Step 4. For each genuinely new posting that cleared the threshold, Create a Page in my Notion job-postings database with properties for title, company, location, salary range, posted date, apply link, relevance score, rationale, and the date discovered.
Step 5. End with a Slack Bot Send a Message to my configured channel: a digest of the top 3 highest-scoring roles found today, each line showing title, company, location, score, and a link to the Notion page. If nothing cleared the threshold, post a one-liner saying no new matches today.
Make these configurable at the top of the workflow: the role variants and locations to search, which job boards (site: filters) to include, the ideal-candidate spec used for scoring, the relevance threshold, the Notion database id, and the Slack channel.
Additional information
What does this prompt do?
- Searches Lever, Greenhouse, and any other public job boards every morning for fresh roles that match your target titles and locations.
- Reads each posting and pulls out company, location, salary range, posted date, and a fit score against your sourcing brief.
- Logs only brand new, high-fit roles in your Notion sourcing database with the apply link attached, so the tracker never gets cluttered with repeats or noise.
- Posts the day's top 3 strongest matches to your Slack channel so your team can move on the best leads first.
What do I need to use this?
- A ScrapingBee account with credits for web search and page reads.
- A Notion workspace with a database for tracking the roles, plus the database shared with your General Input connection.
- A Slack workspace and a channel where the daily digest should post.
How can I customize it?
- Change the time the watcher runs, or switch it from daily to weekdays only.
- Add or remove role titles, locations, and job boards to monitor.
- Tune the fit score threshold so only the strongest matches make it into Notion and Slack.
Frequently asked questions
Will it post the same role twice if it appears across multiple days?
How is the fit score decided?
Can I monitor job boards other than Lever and Greenhouse?
What happens to roles that score below the threshold?
What if no roles clear the threshold on a given day?
Stop refreshing job boards every morning.
Connect ScrapingBee, Notion, and Slack once, and Geni runs your sourcing scan every day at 9am.