Turn target accounts' job postings into buying signals

By General Input

Every weekday at 7am, we read your watchlist companies' job boards, flag the openings that mean a budget just opened, and post only what changed to Slack.

Integrations

  • Hyperbrowser
  • HubSpot
  • Slack Bot

Type

Agentic Task

Categories

  • Sales

Every weekday at 7am in my timezone, turn job postings at my target accounts into sales-ready buying signals. Use a cron trigger, Monday through Friday.

This must be an agent workflow. Deciding whether an opening is a genuine buying signal, comparing this run against what we saw before, and writing the outreach angle all need judgement that a fixed script cannot do.

Start from a watchlist of companies I maintain on the prompt page: a simple list of company names, with website domains where I have them. Do not require a careers page URL to be stored anywhere in advance, and do not require the company to already exist in my CRM.

Step 1: for each company on the watchlist, use Hyperbrowser's Search Web operation to locate that company's live careers page and any job board listings they use, such as Greenhouse, Lever, Ashby, or Workday. Prefer the company's own careers page and its job board subdomain over third party aggregators, which go stale and mix in dead postings.

Step 2: call Hyperbrowser's Start Scrape Job on the careers and job board URLs you found, returning markdown. These job endpoints are asynchronous: the start call returns a job id, so poll Get Scrape Job Result until the status is completed before using the content. If a job comes back failed or stopped, record that company as unreadable for this run and carry on instead of failing the whole workflow.

Step 3: turn the scraped pages into structured records with Hyperbrowser's Start Extract Job, passing a schema with these fields per posting: role title, function (engineering, sales, marketing, finance, operations, product, data, security, other), seniority (individual contributor, manager, director, VP, C-level), location including city and country, whether the role is remote, the posted date when shown, the tools and technologies named in the requirements, and the direct link to the posting. Poll Get Extract Job Result until it completes.

Step 4: judge which openings are genuine buying signals against my ICP rules. Flag a company when any of the following hold.

First of type. The company is hiring its first role of a given kind, for example a first Head of DevOps, a first Enterprise Account Executive, a first Security Engineer. A first infrastructure or security leader usually means they are about to invest in tooling for that area.

Volume acceleration. A sudden surge of openings concentrated in one function, for example going from a handful of engineering roles to dozens in a quarter. That points to a product push, significant attrition, or fresh funding.

Geographic expansion. A role in a city or country the company has not hired in before, which points to a new office or a new market.

Seniority shift. A wave of director, VP, and principal level hires, which often precedes a strategic repositioning.

Tech stack change. The tools named in the requirements have shifted, for example moving from Java and Oracle toward Python, Kubernetes, and cloud native tooling, which implies a platform modernization and a buying window for anything adjacent.

Only companies that clear at least one of these rules move forward. Ignore routine backfills, high volume retail, warehouse and support hiring, and roles unrelated to what we sell. When in doubt, leave it out, because a quiet channel is the goal.

Step 5: for each company that clears the bar, look it up in HubSpot with the Search Companies operation, matching on domain first and falling back to company name. If the record exists, attach the finding to it. If it does not exist, create it with the Create Company operation, setting at least name and domain, then attach the finding to the new record.

Step 6: write the evidence up with HubSpot's Create Note operation, associated with the company record. The note should name the signal type, quote the specific postings with their titles, locations, and posted dates, link to each posting, and end with a one line why now angle a rep can open a conversation with. Title the note so it is scannable on the timeline, for example "Hiring signal: first Head of DevOps, 14 Aug".

Step 7: keep a per company record across runs of the signals already reported, including the signal type and the postings behind it. At the start of each run, compare against it. Skip any company whose signal has not changed since the previous run, so the channel stays quiet on slow days. Treat a signal as changed when the signal type is new for that company, or when new postings have appeared that strengthen an existing signal.

Step 8: finish by sending a Slack message with the Slack Bot Send a Message operation to my sales channel, which I set during setup. Include only the strongest signals from that run, capped at a configurable number that defaults to the top five. Group them by signal type with a heading per group. Under each company, give the signal in one line, the roles behind it as links to the live postings, and the why now angle. Format with Slack mrkdwn, which uses single asterisks for bold and angle bracket links like <url|text>. If nothing cleared the bar and nothing changed, post nothing at all rather than an empty digest.

Keep these configurable on the prompt page: the watchlist of companies, the schedule, the ICP signal rules and any role or function filters, the Slack channel, and how many signals make the cut per run. Keep the watchlist bounded, since each company costs a web search plus a scrape and an extraction on every run.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasoniMessage campaign console with pre-flight checks and delivery boardLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsA searchable RFP answer library your bid team drafts fromLinkedIn Ads budget pacing dashboard for every client account