# Daily buying signal desk your SDRs work like an inbox

> Every morning your reps open one queue of people publicly asking for alternatives, complaining about a renewal, or shopping your category.

- Workflow type: app
- Services: Infegy, HubSpot, Google Sheets, General Input Database
- Categories: Sales, Marketing
- Published: 2026-08-31

## What it does

- Builds a fresh queue each morning from your saved intent searches: people naming a competitor and asking for alternatives, complaining about a price rise or a renewal, or asking the category which tool to buy.
- Shows every signal as a workable row with the post, the author's handle and bio, the sentiment and the source, plus a possible company match from your CRM that the rep confirms rather than the app linking on its own.
- Qualifying a row creates a follow up task for the owning rep, files the post text and link as a note on the matched company, and appends the same signal to your prospecting log spreadsheet.
- A work this signal button sends an assistant to read that person's other recent posts, work out what they are actually trying to solve, and draft an outreach angle and opening line onto the card for the rep to edit.

## What you'll need

- An Infegy Starscape subscription with API access turned on
- A HubSpot account where your reps own companies and can be assigned tasks and notes
- A Google Sheets file to use as the shared prospecting log
- A short list of the competitors and category phrases you want to listen for

## Prompt

Build me a buying signal desk my SDR team opens first thing every morning, the way they open an inbox. It turns social listening into a worked queue instead of a firehose feed. The audience is SDRs and demand gen. It uses Infegy for the social data, HubSpot for the CRM writes, Google Sheets for a shared prospecting log, and the app's own General Input Database for saved searches and queue state.

Saved intent queries. The app keeps a small library of saved Infegy searches in its own General Input Database: a name, the Infegy query JSON, an enabled toggle, and the category terms that go with it. Seed it with three kinds of intent, and let a manager add more from a settings page: someone naming a competitor and asking for alternatives, someone complaining about a renewal or a price rise, and someone asking the category to recommend a tool. When a query is saved or edited, run Infegy Validate Query and Get Estimated Result Count first so the person can see the query is valid and roughly how many records it would pull before it ever goes into the queue.

The queue is the main screen. On load, and again from a refresh button, run Infegy Download Post Records for every enabled saved query over the lookback window, default the last 24 hours with an option for 7 days, and build one row per post. Persist the fetched rows in the database keyed by post id so the queue stays stable through the day, refreshing never duplicates a row, and state survives a reload. Each row shows the post text, the source or network it came from, when it was published, the author handle, the author bio, the sentiment on the post, and which saved query matched it. Sort newest first, with filters for saved query, source, sentiment, and whether there is a possible company match. Show counts across the top for new, claimed, qualified today, and dismissed. Rows can be claimed by a rep so two people never work the same signal.

Company matching has to be honest about being fuzzy. Only when an explicit company name appears in the author bio or the post text, take that name and call HubSpot Search Companies, then show up to three results on the row labelled possible match, each with a one line confidence note saying what it matched on, for example bio says Acme Corp. Never link a company to a row on its own. Also put a small search box on the row so the rep can run HubSpot Search Companies with their own term when the automatic guess is wrong or missing. Rows with no match at all are still fully workable.

Qualifying a row is the only path into HubSpot. The qualify button opens a confirmation step where the rep picks the company from the suggestions or their own search or explicitly picks none, picks the owning rep from HubSpot List Owners with the matched company's owner pre selected, edits the task wording and due date, and reads the note body. On confirm the app calls HubSpot Create Task assigned to that owner and associated with the confirmed company, HubSpot Create Note carrying the post text, author handle, sentiment, source and a link to the post, associated with the same company, and Google Sheets Append Values to add one row to the prospecting log with the date, source, author handle, post link, matching query, company, owner and the rep who qualified it. Then mark the row qualified in the database with who did it and when. If the rep confirmed no company, still create the task and the log row and skip the note. Nothing reaches HubSpot until that click.

Dismissing a row writes the author handle into a dismissed authors table in the General Input Database with a dismissed until timestamp 90 days out, plus who dismissed it and an optional reason. Every queue build filters out posts from authors with an active dismissal, so the same person never comes back through the queue twice. Give it a dismissed tab that lists those authors with a restore button in case someone hides the wrong person. This cooldown is the app's own data, not something stored back in Infegy.

Add a work this signal button on every card that kicks off a background agent. The agent takes the author handle and the category terms from the saved query that matched, calls Infegy Download Post Records to pull that author's other recent posts in the category over the last 90 days, reads them, and writes three things back onto the card: a short summary of what this person actually seems to be trying to solve, an outreach angle, and one suggested opening line. Store that output against the row in the database and render it on the card when it finishes, with a visible running and failed state while it works. The rep can edit all of it in place, and it is the edited text, never the raw draft, that pre fills the HubSpot note body and the task description when they qualify the row.

Respect the Infegy quota. Call Infegy Get API Usage when the app loads and show remaining consumption for the billing period in the header. Before any queue refresh or agent pull, use Infegy Validate Query and Get Estimated Result Count to size the request, warn when the estimate is unusually large, and stop refreshing automatically once usage passes a configurable threshold, default 85 percent. Cap how many records each saved query pulls per refresh, default 200 and configurable, so a busy morning does not quietly eat the whole month's allowance.

## How to customize

- Edit the saved intent searches: add competitors, swap in your own category phrases, or narrow them to certain sources and languages
- Change the dismissal cooldown from 90 days to whatever feels right for your team, and change the queue lookback from one day to a week
- Set how the follow up task is worded, how many days out it is due, and which columns land in the prospecting log

## FAQ

### Does the app link a social account to a company in our CRM automatically?

No. Matching a social handle to a company record is inherently fuzzy, so the app only suggests a match when an actual company name appears in the author's bio or post. It shows that as a possible match with a note on what it matched on, and the rep either confirms it, searches your CRM themselves from the row, or works the signal with no company attached.

### Can anything reach HubSpot without someone approving it?

No. The queue is read only until a rep clicks qualify. Only then does the app create the follow up task and file the note, and the rep sees and can edit both before they confirm.

### What happens when a rep dismisses a signal?

That author is hidden from the queue for 90 days, so nobody on the team gets served the same person again the next morning. Dismissals live in the app's own data, not in Infegy or your CRM, and there is a dismissed tab where you can restore someone early.

### Will this eat our Infegy data allowance on a busy morning?

The app shows how much of your allowance is left in the header, estimates the size of every search before it downloads anything, and stops refreshing on its own once usage passes a threshold you set. There is also a cap on how many posts each search pulls per refresh.

### Can several reps work the same queue at once?

Yes. Rows can be claimed so two people never work the same signal, and the counts at the top show what is new, what is claimed, and what has already been qualified today.

Use this prompt in General Input: https://www.generalinput.com/prompts/daily-buying-signal-desk-your-sdrs-work-like-an-inbox