Every Friday I meet with my expansion lead to review the health of our client accounts. I'm not on the client calls myself, so for a long time that meeting started with our expansion lead reconstructing every interaction from memory before we could get to the decisions.

Our expansion lead would come prepared with a current status on each account, the last call fresh in her mind. But one person can't hold the adoption, sentiment, and growth potential of every account in her head at once, and since I wasn't on the calls, I couldn't carry any of it for her.

We already record sales calls, and I run those transcripts through the OutcomeCatalyst platform for insights. I trust the output more than my own recall. There was no reason the expansion side should work differently.

So we built an expansion agent that does the analysis for us. Every week it reads every client transcript and hands our expansion lead a brief, which includes an adoption grade for each client with quotes behind it, the open asks on every account, and the patterns that only show up when you analyze clients side by side.

It builds on its own memory each week, so the fourth brief knows what the first one said, and it catches what would take hours to find by hand, such as three clients asking the same question in three different vocabularies.

That brief is now the basis of the Friday meeting. We open on what to do instead of what happened. The agent does the analysis. We spend the hour deciding.

Adoption is the biggest bottleneck in our business. Whatever you sell, the client has to use it for it to stick, and they have to see a return on it for it to grow. Learning how they use it, and what it's earning them, never ends. This is how we stay ahead.

I call this a client sweep, and it's why we're on track for 130% net revenue retention this year. Here is the framework to implement one that analyzes every client conversation each week and tells you where to expand and where to step in. Plus, how to run it in your specific industry.

The framework

A client sweep takes four steps:

  1. Pool: Gather every client transcript in one place, tagged by client, with the account context attached.

  2. Read: Have the agent analyze each client account first, including an adoption grade with quotes behind it, overall sentiment, open asks, and potential issues.

  3. Compare: Then have it pattern match across clients. Which ones look alike, what's working for one that others haven't tried, and which “different” problems are actually the same problem.

  4. Decide: Generate a brief and establish a weekly cadence to review it. Everyone leaves the meeting with proactive next steps for each client.

Let's take a look at exactly how we did each step below:

The walkthrough

Step 1: Pool

Start by recording all of your client calls. Every call should produce a transcript, and that transcript should be added to the client's record the same day so you don't lose track of it.

Then attach any additional context to the record so the agent can interpret it. Try to get everything out of your head by attaching any text messages, email threads, and voice notes based on your own knowledge of each client.

The agent runs weekly and builds on what it analyzes over time, so the pool of data only gets more useful as you add to it each week. The first time you run the agent it provides a good snapshot. By the third time you start spotting real trends.

Every client conversation we have is automatically added to that client's record using the OutcomeCatalyst platform. Plus, I give the platform all of my unstructured data, such as WhatsApp messages, voice memos, text threads, and more, and it will add it to the correct client record so I have complete context on my business.

Step 2: Read

Have the agent run a per-client pass first. Don't worry about cross-client insights until you have an accurate read on each client individually.

For every client, the agent returns four things. First, it grades adoption across the client's full history, meaning whether they are more excited about the platform than they were a month ago, whether they are bringing us new use cases, and which workflows they have stopped talking about.

Then, it makes a sentiment call with real quotes that support it, lists every open ask, and notes anything the client raised more than once, because a repeat is a signal on its own.

The rule we implemented with our agent that makes the output trustworthy is that there is no grade without a quote and no trend without a real comparison. Without this, the agent will often return a recap of the conversations rather than a brief with real insights.

The instruction we give it looks something like this:

“For each client, read every transcript on the account alongside the account context, most recent first. Grade their adoption, say whether it has moved from previous weeks, and include the quotes that support it. Give me a one-line sentiment read. List which workflows they have used or mentioned over time, how that has changed, and flag anything they have stopped mentioning. List every open ask. Note anything raised more than once. Do not summarize the calls.”

Step 3: Compare

Once you have an understanding of where each client stands individually, compare them against each other and answer three questions a person going account by account rarely has the time to ask:

  • The neighbors: “Which of my clients resemble each other, and what is working for one that the others haven't tried yet?”

  • The same problem: “Which problems sound industry-specific but are the same problem underneath?”

  • The drift: “Who looked fine a month ago and doesn't now?”

One of our key learnings was that the same needs often showed up under different names across industries. When we were looking at one account at a time it was easy to get lost in the industry's vocabulary and specifics. But when we started analyzing them all at once we were able to uncover similar shapes underneath.

For example, we had three clients in three different industries asking our expansion lead a version of the same question, which was how to run a specific query on the platform. They were asking her when they could've just asked their Claude connected to OutcomeCatalyst, and it was taking her time every week.

Analyzed on their own, these were three unrelated support asks. Analyzed together, they pointed at a product onboarding gap.

The agent's brief said that if we wanted to scale the company without scaling headcount, we should codify the answers to these common questions into an onboarding flow that improves the adoption of our platform without needing to spend additional hours on client interactions.

3 → 1

Three support asks in three separate industries turned out to be one product gap found by the agent.

We're now building an onboarding agent into the OutcomeCatalyst platform. It asks a new user what department they're in and what kind of work they do, then shows them what people in similar roles are already using the platform for. That is adoption without a human in the loop, on a problem we only spotted once we started pattern matching across client accounts.

Step 4: Decide

Every week, have the agent assemble a brief that goes out a couple of hours before a review meeting so everyone has context before the call starts. Then go account by account and settle three things for each one: how adoption is trending, where the expansion opportunities are, and the action items for the week.

This way, everyone starts from an objective source of truth on how things are trending per account and across clients. The review meeting then becomes a discussion of people's opinions and the priority order of next steps.

We don't treat every opportunity as a paid expansion, and our brief has to know the difference. If a client needs something small like a Claude skill that helps their team but isn't in our monthly SOW, we build it for them anyway. If they need something larger like new data sources connected or a workflow built, that gets scoped and charged.

Adoption is the bottleneck, and a skill that makes the platform more useful to them is worth more to us than the invoice. Now, we're able to proactively step in the week adoption starts to slip, or discuss expansion the week it starts to climb.

The OutcomeCatalyst platform runs the client sweep on a weekly schedule, so the brief is waiting Friday morning for our expansion lead to review without anyone assembling it.

The outcome

  • We haven’t lost a client. Ever. We're also forecasting net revenue retention above 130% by year end, so the accounts we keep are growing. Every client is graded every week, including the ones nobody was worried about, which is how we catch a stall before it turns into a churn conversation.

  • Three support asks that looked unrelated became one onboarding agent, now being built into the platform, so the next client with that question gets the answer without a call. That's adoption without a human in the loop, and it came out of the compare pass.

  • The same brief feeds our proposals and internal training. We know what clients typically ask, where to spend time with them, and the gotchas that delay a project before we quote it.

  • The Friday meeting opens on decisions. Our expansion lead walks in having read the brief and spends the hour on what to do about each account.

■ The industry audit

A client sweep checks for patterns across your accounts. I ran mine on client calls because that's where our expansion decisions get made. Wherever your revenue depends on relationships someone analyzes one at a time, the same check applies:

If you're in commercial real estate: Pull the last ten tenant interactions across your portfolio, including maintenance requests, renewal talks, and complaints. Tenants are your recurring relationships, and renewal risk is what you're listening for. The issue that shows up at more than one property is a portfolio-wide retention problem you're treating as ten separate building issues.

If you're in industrials: The complaint or unmet need that more than one repeat account raises is either the reason accounts are shrinking or the product line you should be selling and aren't. Pull the last ten reorder or service conversations across accounts, and look for common churn signals on one side and expansion opportunities on the other.

If you're in healthcare: Referral sources are your recurring relationships, and referral volume is the signal. Pull the last ten conversations with your referring providers. The friction that more than one of them raises, such as slow scheduling or poor communication, is why referral volume leaks. You're just hearing it one relationship at a time instead of fixing it all at once.

Same sweep, same business impact, different industry.

Where it breaks

Small numbers make false patterns. Three clients raising the same thing feels like a trend, and with a small client base it can be coincidence. Treat every match as a hypothesis until the next call confirms it.

Silence has no transcript. The client who stops booking calls produces nothing to review, and nothing to review looks like nothing wrong. The at-risk account is often the one that went quiet, so the brief has to flag the clients who haven't had calls recently for closer review.

It reviews what clients say, not what they do. A client can sound warm on the call and stop logging in. Another can complain every week and be your most embedded account. We read the brief next to platform usage, meaning search volume and active users by client, and a short survey now and then, so the grade has something to check against.

All three are the same gap. The agent can only compare what is on the record, so the more of the account that lands there, the fewer false reads it makes. That is why I run mine on the OutcomeCatalyst platform, where the agent reviews the whole account context instead of only the week's transcripts.

Zach

Founder & CEO, OutcomeCatalyst
Book 30 minutes with me →