Here is the problem with almost every social listening tool, stated as plainly as it can be:
The people most worth talking to have never heard your name, so they will never mention it.
They are not writing about you. They are describing a problem, badly, in the words they happen to use for it, in a thread about something else. A tool built to alert you when your keywords appear will not find them, because none of your keywords are in the sentence.
Openpulse is built the other way round. You give it your website; it works out what you sell and what your buyers' problems sound like; then it reads public conversations looking for evidence that somebody has a budgeted problem, and it tells you what it threw away, and why.
What "social listening" usually means
The category is crowded, and most of it is doing a genuinely different job: brand and reputation monitoring, for a marketing team.
That job is real. If you need to know within minutes that someone with a large following criticised you, or you report on share of voice and sentiment every month, buy a monitoring tool. Openpulse is a poor substitute for one, and it will file most brand mentions behind a tab as noise.
But if you bought a monitoring tool hoping to find customers, the mismatch is structural rather than a matter of tuning:
| Brand monitoring | Openpulse | |
|---|---|---|
| Optimised for | Recall: miss nothing said about you | Precision: most of what is retrieved is discarded on purpose |
| Metered on | Mentions, typically thousands a month | Capacity: listeners, competitors, cadence |
| Finds people who | Named you or your keywords | Described a problem, in their own words |
| Answers | What is being said about us | Who should we call, and why |
| Output | Sentiment, reach, share of voice | Intent classification, a 0–100 score, an evidence trail |
More mentions is a feature in one column and a failure in the other.
The test that separates them
Somebody writes on Reddit:
We're a 30-person agency and our client onboarding is completely out of control. Everything is in email threads, nothing is tracked, and I spent my whole Tuesday chasing three people for one document. What is everyone using?
That is the best lead an onboarding-software company will see this month. It contains your brand name zero times, your competitor's name zero times, and your product category zero times. The poster does not know what the category is called, which is precisely why they are asking.
A keyword tool finds it only if you guessed the phrase "chasing people for documents" in advance, and then only that phrasing, and not the four hundred others.
Openpulse finds it because the off-topic gate is soft: a candidate that shares no keyword with your plan is handed to a reranker rather than dropped, since "we're drowning in back-and-forth emails" shares no word with "client onboarding software" and is exactly the signal worth having. Every signal records passedBy: "keyword" | "rerank", so you can measure what a hard keyword gate would have cost you. Most tools in this category are the hard gate, and have no way to know.
You describe what you sell, not what to search for
Every social listening product asks you for a keyword list. That is the hardest part of the job, handed to the customer on day one, and it is why people conclude these tools are noisy. You are being asked to guess, in advance, the words your future customers will use for a problem they have not yet framed as your category.
Openpulse starts from your URL. It crawls your landing page plus your product, pricing and about pages, and proposes the whole plan: keywords, exclusions, per-source queries, competitor names with the aliases people actually type, and the vocabulary of the complaint rather than the product.
All of it is shown for review before anything runs. A plan you did not read is a plan you cannot debug three weeks later when the results look wrong.
Two things this finds that a keyword box will not:
- Vocabulary you would not have written. Nobody advertises for an "AI receptionist", so if you sell one, the words that matter are "front desk coordinator" and "patient services representative": the human job your product replaces. Deriving that needs reasoning about what your product does, not what it is called.
- Complaint language, decoupled from product language. "Waited forty minutes on hold and then they double booked us" is a perfect lead for a scheduling vendor and shares no keyword with "scheduling software".
What it reads, and how much of each post
A model judging a 268-character search snippet is the single biggest driver of bad labels in this entire category, and it is invisible in every product that publishes a platform count instead. So coverage is labelled per source, in the wizard, before you commit, and the badge downgrades automatically when a vendor key is missing, so the honesty survives a config change.
| Coverage | Sources | What the classifier sees |
|---|---|---|
| Full text | Reddit, Hacker News | The whole post, its author, its score and comment count |
| Snippet | LinkedIn, X, the job boards | A search-engine snippet: enough to spot a topic, not always to judge intent |
| Best effort | No provider sells keyword post search here; expect little |
Reddit and Hacker News carry most of the intent, and they are read properly: comment search and thread expansion, not just posts. The complaint is almost always a comment under "what does everyone use for X?", never the question itself, and a platform count looks identical whether or not a tool goes and reads them.
Every rejection is recorded
This is the part no competitor in the category publishes, and the part worth testing in a trial rather than taking on faith.
Cheap gates run before any model call, so filler is rejected for free: page shape, star rating, keyword topicality, exclusions, blocked domains, recency, and duplicate collapse on a normalised URL and title. Then a reranker scores what survives, and only the top 25 candidates reach the classifier. On a reference listener that took a run from 102 classification calls to 37 while doubling the search results pulled.
Everything discarded is kept for 14 days with its reason: shape, off_topic, excluded, blocked, too_old, duplicate, reranked_out, low_score, noise. Without them, precision has no denominator and every tuning decision after the first is a guess.
You also get per-query and per-source yield, and a query that produces candidates but no signals for three consecutive runs disables itself and says so in the run log. You do not have to buy a separate audit feature to discover your keyword list has rotted.
What a result actually says
Not a sentiment score. Sentiment is the right metric for brand health and the wrong one for pipeline: a negative mention of your competitor and a positive one are worth wildly different amounts to you, and both read as "negative sentiment about a brand".
Each signal carries an intent label, a 0–100 score across seven components, the query that found it, the keywords genuinely present in the text, one line on how to reply, and inferenceHops: 0 if they said it, 1 if the connection was one step away. A team drowning in speculative leads can filter to 0.
Where it goes
A run ends somewhere useful or it did not happen. Three exits, all on every plan:
- Email: a per-run summary, and a short note when a run fails.
- Signed webhooks:
signal.created,signal.urgent,run.completed,run.failed,pipeline.stage_changed, HMAC-signed overtimestamp.body, with seven days of delivery logs. - MCP: your own AI assistant reads the workspace directly, so "which competitor is bleeding customers fastest this quarter" is one message.
Plus CSV export in HubSpot's own import headers, and a pipeline board when the signal becomes a deal.