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.

Agentic Task
ScrapingBeeNotionSlack BotHR & PeopleResearch & MonitoringDaily Digests

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?
No. Before adding anything to Notion, the watcher checks the existing entries by apply link and skips anything already tracked.
How is the fit score decided?
You write a short sourcing brief describing the kind of role you want to find (title, seniority, stack, company stage, location, etc.), and each posting is scored from 0 to 100 against that brief.
Can I monitor job boards other than Lever and Greenhouse?
Yes. The watcher uses standard Google search queries, so you can add any board that publishes public listing URLs, such as Workable, Ashby boards, Wellfound, or company careers pages.
What happens to roles that score below the threshold?
They are skipped entirely. They are not logged in Notion and they do not appear in the Slack digest, so the tracker stays clean.
What if no roles clear the threshold on a given day?
The Slack digest posts a short no new matches today note so you know the watcher ran successfully and there just was not anything worth flagging.

Stop refreshing job boards every morning.

Connect ScrapingBee, Notion, and Slack once, and Geni runs your sourcing scan every day at 9am.