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.
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.
FAQs
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?
Related templates
Stage a batch of filings overnight, then approve each completed form from a screenshot before anything is ever submitted.
Pick a client and a date range to see sent, replies, meetings booked and the real deal value your cold email produced, campaign by campaign.
Review every conversation Fin closed as resolved, judge which ones actually stuck, and see what the gap is worth against your bill.
Open one screen each Monday to see which upcoming posts still have no image, generate three on-brand options, and file the one you pick.
Merge your IT, HR and Facilities queues into one list ranked by SLA time left, then reply, change status and escalate without ever opening Jira.
See every page's translation status at a glance, edit translations side by side with the English, and publish only what your team has actually approved.
Stop refreshing job boards every morning.
Connect ScrapingBee, Notion, and Slack once, and Geni runs your sourcing scan every day at 9am.