Weekly hiring signal scout for sales target accounts

Every Monday at 7am, scan your target accounts' careers pages for fresh roles that signal buying intent, drop a HubSpot note, and post a Slack digest.

Agentic Task
Proxy ScrapeHubSpotSlackSalesResearch & MonitoringLead EnrichmentDaily Digests

Build me a weekly hiring signal scout for sales. It should run on a cron schedule every Monday at 7am in my local timezone.

This must be an agent workflow. Deciding which roles signal buying intent, deduping against last week's signals, and writing the outreach hook for each company all require judgement that a deterministic script can't handle.

Step 1: pull my target accounts from HubSpot using the Search Companies operation. Filter to a configurable set, defaulting to companies with lifecycle_stage in (marketingqualifiedlead, salesqualifiedlead, opportunity). I should be able to override this filter on the prompt page (for example, by owner, by list membership, or by a custom target-account boolean property).

Each company record should have a careers page URL stored on a custom property. Default the property name to careers_url, but let me confirm it during setup. Skip any company that's missing this URL and collect the list of skipped companies for the final digest.

Step 2: for each target account with a careers URL, call Proxy Scrape's Fetch a Web Page operation. Use the stealth proxy tier and return format markdown. Careers pages on Greenhouse, Lever, Ashby, and Workday are aggressively bot-blocked, so the stealth tier is non-negotiable. Enable JavaScript rendering only when the first fetch comes back empty or looks like a shell page.

Step 3: read each scraped page and extract the current list of open roles. Compare against the target-role list configured on the prompt page. The default target-role list is: RevOps, Revenue Operations, Marketing Operations, Marketing Ops, AI/ML Engineer, Machine Learning Engineer, Data Engineer, Analytics Engineer, Head of Sales, VP Sales, Sales Operations, Director of Sales. Treat the list as fuzzy match on role title. Ignore generic backfills, customer support agents, internal rotations, and anything obviously off-pattern.

Step 4: dedupe against previous runs. Persist a per-company record of which roles you've already flagged (role title plus first-seen date). Only surface net-new postings this run. If a role we flagged last Monday is still open, don't flag it again.

Step 5: for each company with at least one net-new relevant role, call HubSpot's Create Note operation. Associate the note with the company record. Title the note "Hiring signal — [today's date]". Body should summarize the role(s) seen, the careers page URL, and one sentence on why this signals buying intent for our product. Use Create Note, not Update Contact: signals belong on the company timeline, not on a single contact.

Step 6: post one consolidated Slack digest using the Send a Message operation. The default channel is my AE channel; let me set it during setup. The digest should include, for each company that triggered: company name (with HubSpot link), the roles seen, and a one-line "what to say" outreach hook the AE can paste into their next email or LinkedIn message. Format the digest with Slack mrkdwn (asterisks for bold, not double asterisks). If no signals fired this week, post a short "no new hiring signals this week" message so the team knows the scout ran. If any companies were skipped because they had no careers URL, list them at the bottom of the digest so I can backfill.

Things to keep configurable on the prompt page: the target-role list, the HubSpot company filter, the careers URL property name, the Slack channel, and the schedule. Everything else can be fixed.

Additional information

What does this prompt do?
  • Pulls your target accounts from HubSpot every Monday morning using whichever filter you care about (lifecycle stage, owner, list membership).
  • Scrapes each company's own careers page through a stealth proxy, so even bot-blocked job boards like Greenhouse, Lever, and Workday come through cleanly.
  • Reads the postings and flags only the roles that signal buying intent for your product, ignoring backfills and unrelated hires.
  • Logs a dated note on each company in HubSpot summarizing what was hiring and why it matters, then posts one consolidated digest to your AE channel in Slack with a ready-to-use outreach hook for each account.
What do I need to use this?
  • A HubSpot login with access to your target-account companies.
  • A careers page URL stored on each company you want scouted (usually a custom property like careers_url).
  • A Slack workspace and the channel where your AEs want the weekly digest.
  • Proxy Scrape, included with General Input, for getting past careers-page bot blocks.
How can I customize it?
  • Edit the target-role list so the scout only fires on roles that actually signal a buying window for your product (RevOps, Marketing Ops, AI/ML, Data Engineering, Head of Sales, etc.).
  • Swap the HubSpot filter to match the accounts you actually want scouted (a saved list, a lifecycle stage, a specific owner).
  • Change the day, time, or cadence. Monday at 7am is the default but daily or twice-weekly works too.
  • Point the digest at a different Slack channel, or split it so each rep gets a DM with only their accounts.

Frequently asked questions

What if my target accounts don't have a careers page URL in HubSpot yet?
The scout skips any company that's missing the URL and tells you which ones were skipped in the Slack digest, so you can backfill them. You only need to add it once per company.
Why scrape the company's own careers page instead of using a job-board database?
Vendors like Champify and UserGems charge a premium for hiring intent. The company's own careers page has the same data, freshly published, and Proxy Scrape's stealth tier handles the bot blocks that usually stop you from getting it yourself.
How does the agent decide which roles count as buying intent?
You give it a target-role list on the prompt page. The agent matches new postings against that list and ignores everything else, so you can tune it to the exact personas that mean a deal for your product.
Will it flag the same role twice if the posting is still up next Monday?
No. The agent keeps a record of what was already flagged per company and only surfaces net-new postings, so your AE channel stays clean week to week.
Can I get this in a daily digest instead of weekly?
Yes. The Monday 7am schedule is the default. You can switch it to daily, weekly Friday, or any cadence you want when you set it up.

Stop paying vendors for hiring intent you can scout yourself.

Connect HubSpot and Slack once. Geni scouts your target accounts' careers pages every Monday morning and only pings the team when a role that matters shows up.