Hiring signal explorer for companies opening roles you sell into

By General Input

Save the job searches that predict a fit, see which companies are hiring for them, and shortlist the ones worth working this week.

Integrations

  • Crustdata
  • Google Sheets
  • Slack

Type

App

Categories

  • Sales
  • Marketing

I want a hiring signal explorer that our demand gen and sales ops team opens each week to find companies whose job postings say they need what we sell. Build it as an app on top of Crustdata's indexed job dataset, with Google Sheets and Slack wired to the two things we actually do with what we find. Nothing runs on a schedule. A person opens it, tunes searches, and leaves with a shortlist.

Left side is a saved search list. A saved search stores a name in plain language ("hiring a revenue operations manager", "hiring Kubernetes engineers"), the filters behind it, and the result count from the last time it ran. Show that count next to the name along with the previous count, so a search whose number keeps falling visibly tells the user the signal is drying up. Saved searches persist per user, so each teammate tunes their own set. Clicking one runs it and fills the main view.

The search builder uses Crustdata Autocomplete Job Search Fields to pick valid values for titles, job categories, and locations. That operation is free and fast, so call it as the user types rather than making them guess at strings the dataset will not match. Two filters are on by default in every search: exclude postings older than 30 days, and exclude companies below a headcount floor the user sets in settings. Both are visible and adjustable on the search itself, not buried.

The main view runs Crustdata Search Jobs (In-DB) and groups the results by company rather than listing raw postings. Each company row shows the company name, how many matching roles are open, what those roles are (the titles, collapsed if there are many), the locations they sit in, and the date of the most recent matching posting. Sort by matching role count descending by default, with the option to sort by most recent posting. Show the total company count and total posting count for the search at the top.

Clicking a company opens a side panel that calls Crustdata Enrich Company for that company and shows headcount now plus how it has moved over recent months, the latest funding round with type, amount and date, and the industry. The point of the panel is letting the user judge real expansion against routine backfill, so lead with the growth numbers and put the open roles from the search result next to them. Ask for the headcount, funding and basic firmographic field groups explicitly, since enrich returns a minimal profile otherwise. Store the enrichment result against the company so reopening the panel in the same session does not spend credits again.

Every company row and the side panel have a Shortlist button. It opens a small form with a free text note and a reason code picked from a short fixed list (expansion, budget confirmed, competitor displacement, champion team growing, worth watching). Shortlist entries persist per user and record the date, the note, the reason code, which saved search produced the company, and a snapshot of the matching role count and role titles at the moment it was saved, so the record still reads correctly weeks later when the postings are gone. A separate Shortlist view lists everything the user has saved, newest first, with filters by reason code and by whether it has been exported yet.

Two batch actions run off the shortlist view. The first appends the batch to a tracking sheet using Google Sheets Append Values, one row per shortlisted company, with date shortlisted, company name, domain, matching role count, top role titles, locations, headcount, headcount growth, last funding round, industry, reason code, note, saved search name, and who shortlisted it. Only send entries that have not been exported, and mark them exported afterwards so repeat runs never duplicate rows. The second posts the week's strongest finds to a channel using the Slack Send a Message action: a short ranked summary, one line per company covering the company, the number and nature of the open roles, the growth or funding read, and the shortlister's reason code. Let the user pick which entries go into the post rather than dumping everything.

A few things to respect in the handlers. Job search bills per result, so page results rather than pulling everything, and do not re-run every saved search automatically when the app loads. Run the selected search on click and offer an explicit refresh. Crustdata dataset search filters use dot-path field names with cursor pagination, and returns a total count alongside the page, which is what should feed the saved search result counts. Enrich is rate limited more tightly than search, so enrich on demand when a panel opens rather than enriching every company in a result set.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageWin back LiveChat visitors whose chats went unansweredLet support send one-off Loops emails without an engineerStop cold emails to anyone with a live deal in PipedriveiMessage campaign console with pre-flight checks and delivery boardChat quality review board for LiveChat support leadsLinkedIn Ads budget pacing dashboard for every client accountFront desk appointment confirmation board for the next 3 daysGive your team Looker numbers without buying more seats