Back arrowAll guides

How to track feature requests from MSP clients across Microsoft Teams channels

Pixel art of a glowing purple message board with green text lines on a dark green background
Talton Figgins••7 min read

Microsoft Teams has no built-in way to see feature requests across more than one shared channel at a time. If you run client relationships through the MSP pattern, one shared channel per customer, the only native option is to open each channel and read it, because there's no cross-channel search view, no tagging system like Intercom's conversation tags, and no report that groups messages by topic instead of by channel. The rollup has to be built by hand, outside Teams, by someone who reads every client channel on a schedule and writes down what they find.

That's doable up to a real, citable ceiling. Below it, a shared tracker doc and a weekly sweep is a legitimate system. Past it, the sweep itself becomes the bottleneck, and that's usually the point where teams start pointing a tool at every channel instead of a person.

Why MSPs end up with one Teams channel per client

The one-channel-per-client pattern isn't an accident. Microsoft's own shared channels documentation describes shared channels as a scoped space with its own membership hanging off a parent team, which is exactly what a client relationship needs: the client sees their one channel and nothing else your team is working on. ClearFeed's guide to shared channels for MSPs and vendors recommends the pattern explicitly: "Instead of creating separate teams for each customer, use one 'Customer Support' team with many shared channels," each named by convention, "ClientName-Support, not 'New Channel for Bob's Company.'"

Microsoft's platform ceiling on this is generous. Per the Teams limits and specifications page, a team can hold up to 1,000 channels in any combination of standard, private, and shared, and a single shared channel supports up to 5,000 direct members across as many as 50 teams. An MSP running 40 or 80 client channels off one internal team isn't close to any platform limit. The limit that actually bites is human, and it shows up much earlier.

12 reports in the wild ↓
Capture
Modem · Featurebase
↓ only 3 survive
Analysis
Enterpret · Unwrap
↓ 2 ranked
Prioritization
Canny · Productboard
↓ 1 shipped
Acting
Modem · Linear
↓ 0 told
Close the loop
Modem · Canny
broken capture starves every stage after it: fix this one first
Capture is the step that breaks first when it depends on someone remembering to open every channel. Everything downstream, analysis, prioritization, what actually ships, only ever sees what capture passed along.

The manual rollup, built by hand

Without a tool that reads every channel continuously, an MSP team builds three habits to get a working rollup:

A single shared tracker, outside Teams. A spreadsheet, a Planner board, or a Loop table, one row per request, with columns for the client, the date, the quote, and the channel it came from. This is the rollup Teams doesn't provide natively.

Logging at reply time, not in a later batch. The same discipline that makes Intercom tags work applies here: whoever answers "we don't support that yet" in a client channel adds the row to the tracker in the same sitting. A "go back and log everything" session for 40 channels never actually happens.

A scheduled sweep across every channel, by a named owner. Teams' notification digest has a specific gap here. Per Microsoft's own limits documentation, notifications from shared channels aren't included in missed-activity emails, so a request sitting in a client channel doesn't surface itself even if you're subscribed to catch-up digests for everything else. Someone has to open each channel deliberately, on a calendar, rather than trust that Teams will surface it.

Once those three habits are running, a monthly or biweekly rollup session groups the tracker's rows into themes, such as "custom report scheduling, 6 clients" or "SSO for the client's own SSO provider, 3 clients." That's the number that turns into a roadmap conversation, and a named count of accounts beats a vague sense that "a few people have asked" in front of whoever owns the roadmap.

The cracks, in the order they show up

The manual rollup degrades in a predictable order as channel count climbs:

  • Recall fails first. Nobody can carry "which of 30-plus clients said what" in their head, so the tracker becomes the only memory, and anything not logged in it is gone.
  • Wording drift causes undercounts, not just missed rows. "Insurance pre-fill" and "skip re-typing insurance stuff" are the same request read by a human, but a tracker search for one phrase won't surface the other.
  • The sweep's cost scales with channel count, not with request volume. A sweep reads every channel whether three of them have new activity or thirty do, because there's no way to know which channels need attention without opening them.
  • Missed-activity notifications don't cover shared channels, per Microsoft's own documentation, so the one safety net that might catch a stray request between sweeps isn't there for exactly this pattern.

ClearFeed's own guidance names the scale at which this stops being a one-person habit and becomes a governance problem, calling out "20+ shared channels (especially with multiple customers)" as the point where MSPs need real process around channel sprawl. An MSP running a channel per client passes that number on client count alone, and the sweep still belongs to one person on a team that has more than one.

Where Modem takes over the rollup

The fix at this point isn't a better spreadsheet. It's an index that reads every client channel continuously, so the rollup exists before anyone asks for it instead of being reconstructed by hand each quarter.

Modem is built for that gap. Modem's Microsoft Teams integration captures messages, replies, edits, and reactions from every channel you connect, whether that's one client's channel or every channel you run, and feeds them into the same topic pipeline as every other source. Everything lands in one prioritized view grouped by what people are actually asking for and tied to the company that asked, so "insurance pre-fill" and "skip re-typing insurance stuff" cluster into one counted topic without anyone typing either phrase into a tracker by hand. The real client count behind a request would already exist, current, the morning of the roadmap review, rather than being assembled the afternoon before it. Modem is the company writing this guide, which is worth naming plainly: judge the recommendation on one narrow question, whether it would actually spare you the afternoon of reading every channel by hand, not on how it reads in this paragraph.

Below roughly the scale ClearFeed flags for shared-channel governance, the tracker and the Friday sweep are a genuinely reasonable system, and most MSP teams don't need a second index before they need better channel naming and a habit that sticks.

Set the tracker and the sweep owner this week

If your team doesn't have the rollup yet, the version from this guide takes under an hour to start: create one shared tracker with columns for client, date, quote, and channel; name a single owner for the recurring sweep across every channel your team manages, on a calendar, not "when someone gets to it"; and post the one-line rule, log the request the moment you reply, wherever your support team already looks. That's the whole system, and it runs successfully for months before the channel count catches up with it. When your own channel count starts closing in on the 20+ mark ClearFeed calls out as the shift point, that's the signal to look at something that reads the channels for you instead of naming a second sweep owner.

For the specific failure mode of a request that was logged but is now unfindable inside one channel's own history, see how to find feature requests buried in Microsoft Teams channels.