Welcome back to The Customer Continuum. Issue #35.
A few years ago we nearly lost a large account, and the only reason we caught it in time was that someone on my community team happened to be reading the room.
We ran a customer community and a formal survey program, and they were two completely separate workstreams. Different teams, different tools, different calendars. The survey team ran the relationship survey and the pulses on their own cycle, and the community team did what community teams do, working through the discussions as they surfaced. One of those community managers, going through the day’s threads, noticed a conversation from an account we cared about starting to turn. Nothing had blown up yet. It was early, just a tone shifting in a thread, the kind of thing that’s easy to scroll past, and she flagged it anyway because it read like something that would fester if it sat.
She was right. Underneath the thread was a customer in a bad stretch, dealing with an outage on their side that had spilled into the service they were getting from us, and quietly starting to wonder out loud whether they’d be better off somewhere else. Left alone in the queue, that’s a churn note we’d have read a quarter later. Caught early, while it was still just a concern surfacing, it was something we could get ahead of.
Our formal read on this same customer was blind to all of it. The relationship survey, the transactional pulses, the Net Promoter Score program, the survey that asks how likely a customer is to recommend you on a zero-to-ten scale, none of it was going to say a word until its next scheduled cycle, a quarter out. And the survey team and the community team weren’t even looking at the same account in the same week, because they were built as separate workstreams. The signal that mattered was sitting in one team’s queue while the instrument that was supposed to measure how the customer felt was pointed somewhere else entirely.
So we did the thing the survey couldn’t. We took the early signal to our product leadership, stood up a triage with the account team around the outage the customer was actually living through, and moved on it in days instead of at the pace of a survey cycle. The account stayed. We kept a six-figure relationship that had started weighing its options, and the customer went from quietly doubting us to working with us on the fix.
What stayed with me was how fragile the catch was. It came down to one person on the community team reading a thread the survey team would never see, while the survey we trusted to tell us how customers felt sat silent for another three months. The signal was there the whole time. Our instrument just wasn’t pointed at it, and the team that could see it wasn’t wired to the team that ran the numbers.
The old Voice of Customer, and the one that’s replacing it
Voice of Customer, or VoC, is the practice of capturing what customers tell you and turning it into something the business acts on. For most teams it’s meant surveys, sent on a schedule and read a quarter later: the Net Promoter Score survey, the customer satisfaction survey (CSAT, the “how did we do” rating after an interaction), and the product satisfaction survey (PSAT, the same idea aimed at the product). You send them, you wait, and you build your quarter around the number that comes back.
The trouble starts with how few people answer anymore. Survey fatigue is real, and the numbers behind it are hard to argue with. The email response rates that carry most NPS and CSAT programs have slid from the low-to-mid twenties a few years ago into the low teens today, and one major feedback platform measured its own rates falling by more than a quarter in just four years. The average person now fields three to five feedback requests a week, so your survey lands as one more email in a pile of receipts and delivery pings, and most of them never get opened.
The customers who do answer are a skewed sample, and the bias matters even more than the shrinking response rate. The people who fill out a survey tend to be the ones at the extremes, delighted or furious, while the quiet majority in the middle skips it. So the number you build your quarter around comes from a small, self-selected slice of your base, often a tenth of it or less, weighted toward the loudest voices in the room. And the account that’s quietly falling apart is usually the first to stop responding, so the customer you most need to hear from is the exact one your main instrument goes deaf to.
Even the signal you do capture sits in pieces. The community team sees the thread, support sees the ticket, the product team sees the usage, and the survey team sees the score, but no one sees the whole customer, because the picture is scattered across teams that never compare notes until it’s a churn note. And that’s only the signal inside your own walls. Your customers are also talking about you in the channels you don’t own, on Reddit, in G2 and Capterra reviews, in public threads where you’re nowhere near the conversation, and that’s often where they’re most honest, precisely because you’re not in it. Most teams have nobody assigned to read any of it. What’s changed is that we can finally read the customer across all of it at once, the calls, tickets, threads, and usage you generate, and the public signal you don’t. The survey doesn’t go away. It just becomes one input among many instead of the only one you trust, and the job now is to be deliberate about assembling the whole picture rather than cherry-picking a slice of it.
The new VoC is about closing that gap. It reads the customer across every one of those sources in close to real time and pulls the scattered pieces into one picture instead of four disconnected ones. It doesn’t retire the survey. It stops treating a quarterly score as the whole truth, when a fuller and faster truth is already sitting in the calls and tickets and threads you generate every day. Community especially gets written off as noise, when it’s often the earliest and most honest signal you have, the place a customer says the thing they’d never put on a five-point scale.
What I built
The Voice-of-Customer signal agent is straightforward to describe. You point it at raw signal, one source or several, and it reads across all of it at once and hands back the top themes. Each theme is stated plainly, each has a suggested owner, and each carries the specific evidence underneath it, the actual ticket or call or post or usage number. The point isn’t any single source but that the agent reads them together, so a concern that shows up faintly in a call and loudly in a community thread gets connected into one theme instead of missed by four separate teams.
The four sources it reads are the four places customers actually talk: the call transcripts a tool like Granola captures off your meetings, the support tickets and churn notes where the friction and the losses live, the community activity in your forum and public threads, and the product-usage signals that show you what people do instead of what they say. A survey is a fifth source that still works it’s usually lagging data.
I gave it two rules that matter more than anything else it does, because without them a summarizer like this becomes a confident liar.
The first rule is that it never invents a theme it can’t cite. Every theme has to point at real signal. If the evidence is thin, it has to say so and mark the theme as weak and worth watching, rather than dressing up one comment as a trend. An agent that turns a single loud complaint into “customers are frustrated with X” is worse than no agent, because now you’re acting on a number you made up.
The second rule is the one I learned building my chief-of-staff agent earlier this year, and it’s the one I care about most. It’s the absence rule. “There’s no signal about this in the support tickets” is a fact the agent can observe and report. “The customer is happy” is a claim that no single source, and no amount of silence, can support. A customer who’s gone quiet might be content, or might have stopped bothering to tell you anything because they’ve already decided to leave, and you can’t tell which from the quiet alone. The agent has to report what it can see and name what it can’t, and it’s never allowed to read silence as satisfaction.
The honest run
I ran it cold against one sample dataset spanning all four sources, deliberately messy the way real signal is, some of it rich and some of it nearly empty, and I pointed the agent at it without telling it what to find. Then I had a second agent tear the first one’s work apart, which is the same operator-plus-checker discipline this whole newsletter is built on. Here’s what came back.
The theme it nailed was the one a survey would have missed entirely. Reading across all four sources, it surfaced that customers couldn’t prove the product’s value to their own finance leaders, and it built that theme out of four completely separate pieces of signal that never mention each other. In one call a chief financial officer said nobody had ever shown him a number, and in another a customer said the dashboards were fine for operators but couldn’t go in front of their CFO. A community post asking how anyone shows return on investment to leadership drew a top reply calling it the number-one blocker to expanding a contract, and a churn note from an account that had already walked cited that they never proved value to their finance team. That’s four voices in four sources landing on one theme, and not one of them would have shown up as a bad survey score, because the people filling out the survey were the happy operators rather than the finance buyer quietly deciding the renewal wasn’t worth defending. It’s the exact save I lived years ago, watched a machine find on its own, from signal a survey structurally cannot reach.
Then it over-read the data in two different ways worth showing you, because they’re how this kind of agent fails in the wild.
The first was a single incident dressed up as a trend. There was a real and strong theme in the data about a feature with no safe way to preview what it would do before you ran it, and the agent caught it correctly, backed by rising abandonment in the usage numbers and a stack of tickets. But it went one step too far and called it a pattern of the feature “causing data loss,” when the actual data-loss evidence was one escalated ticket and one anecdote in a forum. One incident is something to watch and confirm, and if you carry it to your product team as a trend you’ll spend a sprint on the wrong severity.
The second was reading behavior as a complaint. The usage data showed people opening the reporting dashboards for forty seconds and exporting to a spreadsheet in most sessions, and the agent decided that proved the dashboards were too shallow to use. Maybe it does. Or maybe those people are perfectly happy pulling data into their own decks because that’s how they work. The same numbers fit a frustrated customer and a content one equally well, and the agent picked the frustrated story because it had one loud account in the mix, when the honest read was to hold it as a question until a second account confirmed it.
The last thing it got wrong is the one that stuck with me. The biggest money signal in the whole set was onboarding dragging on, showing up again and again as the reason accounts wouldn’t expand. Two lost expansions, a sales note that it was the second that month, a churn that named it, a support ticket about docs that didn’t match the product. That’s real revenue walking out the door. The agent found the signal, rated it middling, and nearly buried it. It played it safe because the clearest quote came from an internal sales call instead of the customer directly, and one of those deals had a pricing issue mixed in. So the same caution that keeps the agent from crying wolf talked it out of the one signal most tied to lost money.
The scorecard came out like this. One theme it nailed, the kind a survey would never have caught. Two it over-read, one by turning a single incident into a trend, the other by reading normal behavior as a complaint. And one big revenue theme it nearly missed by being too careful. If it had gotten all four right, I wouldn’t trust the run. What held the whole way through was the absence rule. It wouldn’t call flat usage a sign of health, and it wouldn’t treat a missing survey feed as proof anyone was happy. When a customer exec opened with “you’re doing fine,” it flagged that as a polite line in front of a budget worry, not a happy account. Every single time, it told me what it could see and what it couldn’t. That’s the reason I’d trust it near a real list of accounts, instead of a tool that sounds reassuring while it’s really guessing.
What this means for your team
You don’t need to build this agent to use what it’s telling you. The move underneath it is available to you on Monday with nothing but the sources you already have.
Your customers are telling you how they feel right now, this week, in places you’re not systematically reading, whether that’s the last three QBR transcripts, the support tickets that keep reopening on the same account, the one community thread that’s gotten a little too honest, or the feature whose usage quietly dropped off a cliff for your biggest customer. Every one of those is Voice of Customer, and every one of them is faster than the survey you’re planning to send next quarter. The survey is still worth sending. It’s just the slowest witness you have, and most teams treat it as the only one.
So this week, take one account you’re even slightly worried about and read it the way the agent does. Pull the signal from more than one source, a call, a ticket, a thread, a usage number, and write down the two or three themes that actually repeat across them. Give each theme an owner who can act on it, because a theme without an owner is just an observation. And hold the agent’s discipline while you do it. If a theme rests on one loud comment, mark it as something to watch instead of a trend. And never let yourself read a quiet account as a happy one, because the account I almost lost went quiet in our surveys right before it surfaced in our community.
What’s next
Next week I’m wiring this from a one-time read into a standing pulse, the version that runs on a weekly cadence across all four sources and routes each theme to the owner who can act on it, so it works like a real-time VoC read instead of a thing you run once and forget.
This week’s free starter: the single-source signal read
The free starter is the agent scoped down to one source. Point it at a single export, your last batch of call transcripts or a dump of recent support tickets, and it hands you the top three themes with an owner on each, holding both rules, no invented themes and no reading silence as health. The quick win is watching a theme surface that your survey would have missed, from signal you already had sitting in a folder.
Drop it in a fresh Claude Project, paste in one export, and read the three themes it gives you next to what your last survey told you about that same account. The gap between the two is the entire point of this issue.
For paid subscribers
The free starter reads one source. Your kit reads all four and runs on a schedule.
The full Voice-of-Customer signal agent is wired across every source at once, call transcripts, tickets and churn notes, community activity, and product-usage signals, so a theme that shows up faintly in one place and loudly in another gets connected instead of missed. On top of the read sits the theme-to-owner routing, so every theme comes out already pointed at CS, product, marketing, or the exec who can move on it, and a weekly cadence so it runs as a standing VoC pulse rather than a one-off you have to remember to trigger.
The promise is concrete. By Friday you have a real-time Voice-of-Customer read running on your own signals, the calls and tickets and threads you already generate every week, instead of a survey you send next quarter and interpret the quarter after that. Not a framework for building one. The working agent, reading your actual sources.
This week’s build, task briefs already written so you don’t freeze in front of the whole library:
Next week, the standing weekly pulse build.
— Kevin
P.S. If this made you think of one account you’ve been reading through a survey when the real story was sitting in a call transcript, forward it to one customer marketer who’s still waiting on next quarter’s Net Promoter Score for news a support ticket could have given them weeks ago. That’s how this grows.






