# Hiring signal explorer for companies opening roles you sell into

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

- Workflow type: app
- Services: Crustdata, Google Sheets, Slack
- Categories: Sales, Marketing
- Published: 2026-08-17

## What it does

- Save searches like "hiring a revenue operations manager" or "hiring Kubernetes engineers" and see every company with matching open roles, how many there are, which roles they are, and where.
- Open any company to see headcount growth, recent funding, and industry side by side, so you can tell real expansion from a routine backfill.
- Shortlist companies with a note and a reason code. Your shortlist is your own and it stays put between visits.
- Send the week's shortlist to a tracking spreadsheet and post the strongest finds to your team channel, both in one click.

## What you'll need

- A Crustdata account and its API key
- A Google account with the tracking spreadsheet you want new rows added to
- A Slack workspace and the channel where your team shares weekly finds
- A rough idea of the job titles that signal a fit for what you sell

## Prompt

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.

## How to customize

- Change the freshness window. Postings older than 30 days are hidden by default, and you can widen or tighten that.
- Set the headcount floor so companies below a certain size drop out of every search.
- Edit the reason codes on the shortlist form so they match how your team talks about intent.
- Choose which spreadsheet the batch lands in and which Slack channel gets the weekly post.

## FAQ

### Do I need a target account list before I can use this?

No. It starts from the open roles themselves, searching across companies rather than a list you already keep. That is the point: it surfaces companies your team is not tracking yet.

### How is this different from a hiring alert?

An alert pings you and you either act or ignore it. This is a screen you open and work in. Most of the value is in tuning the search wording until it reliably predicts a fit, then comparing companies side by side before you commit anyone to a shortlist.

### Can two people use it without stepping on each other?

Yes. Saved searches and shortlists belong to the person who created them, so everyone tunes their own. The tracking spreadsheet and the Slack channel are shared, so the team still sees the same output.

### How will I know when a saved search is going stale?

Every saved search shows its result count. When that number keeps falling week over week, the signal is drying up and it is time to rework the wording or retire the search.

### Will it fill my spreadsheet with the same companies every week?

No. Only newly shortlisted companies get appended, and anything already sent is marked so it is skipped next time.

### Can I tell whether a company is really growing or just backfilling?

That is what the side panel is for. It shows headcount now and how it has moved over recent months, plus the latest funding round and the industry, so a team that is genuinely expanding looks different from one replacing a leaver.

Use this prompt in General Input: https://www.generalinput.com/prompts/hiring-signal-explorer-for-companies-opening-roles-you-sell-into