All articles
MSP Business Intelligence10 July 2026·4 min read

How to Set Up Alerts When a Client Drops Below Their Agreed User Count

A managed contract commits a client to a minimum number of users - but if seat counts drift below it, you can quietly start under-billing. Here's how to be alerted the moment it happens.

Canopy
Canopy
How to Set Up Alerts When a Client Drops Below Their Agreed User Count

How to Set Up Alerts When a Client Drops Below Their Agreed User Count

Most managed contracts carry a minimum. The agreement covers - and bills - at least a set number of users or seats, say 20, even if the client's actual headcount dips below that for a while. It's a normal, sensible commitment. The trouble is what happens when the real number quietly falls under the line and nobody notices.

If your billing is driven by live seat counts - as it is with a lot of MSP tooling that reconciles licences automatically - a drop from 20 users to 17 can quietly reduce what the client is charged. That looks correct to the system, but it's wrong against the contract: you agreed a minimum of 20, so you should still be billing 20. Left unseen, that difference is recurring revenue leaking out of the business every month, on a contract you're fully entitled to charge in full.

It's one of the most common quiet revenue leaks in an MSP, and it's easily plugged. You just need to know the moment a client slips below their agreed number, so you can hold the billing at the contracted minimum - or have a deliberate right-sizing conversation - instead of silently under-charging. Here's how to set that up in Canopy.

What the alert does

Canopy's Service Coverage module already knows which customers are on which services and how many units of each they have, because it syncs your Autotask contracts every night. Licence-drop alerts sit on top of that: you set a minimum for a service on a given customer, and if a contract sync ever shows them below it, Canopy emails whoever you choose - once when they drop under, and once more when they recover, with no nagging repeats in between.

Because it runs off the same nightly contract sync (around 06:45, or on demand whenever you hit "Sync contracts now"), there's nothing to check manually. The alert comes to you.

Setting it up, step by step

1. Open Service Coverage and go to the Alerts tab. From the dashboard, open Service Coverage and switch to the Alerts view. This is where every service currently below its minimum is listed - the customer, the service, their current count, the minimum you've set, and whether the alert email has already gone out. A "Below minimum only" filter lets you focus on just the ones that need attention.

2. Set your default recipients. Decide who should hear about drops by default - usually your accounts or billing address. This is set once in Settings › Alerts (shown as the "Default recipients" at the top of the Alerts view) and applies to every customer unless you override it.

3. Set a minimum for the customer's service. Open a customer's service alerts. For each service on their contract you'll see the minimum units, their current count, and an email toggle. Enter the number your contract commits them to - if the agreement is 20 users, set the minimum to 20 - and switch the email on. You can watch more than one service per customer with "Add another service", so a client with both a user licence and a workstation package is covered on both.

4. Add a customer-specific recipient if you need one. Alongside the defaults, each customer has an optional "Also send to (this customer only)" field. Use it when a particular account manager should be copied on that client's alerts - it's added on top of the default recipients, not instead of them.

5. Save, and let the sync do the rest. Save the alerts and you're done. Canopy re-checks after every contract sync - nightly, or immediately if you press "Sync contracts now". When a service drops below its minimum, your chosen recipients get one email; when it climbs back over, they get one more. In between, silence. (If you ever see "Pending next sync" against a customer, it means they're already below but the email hasn't fired yet - it'll go out on the next sync.)

What to do when an alert lands

The alert is the easy part; the value is in what you do with it. When a client slips below their contracted minimum, you have a clear, timely choice. Hold their billing at the agreed number, because that's what the contract says - protecting revenue you'd otherwise have lost without noticing. Or, if their needs have genuinely changed, open a deliberate conversation about right-sizing the agreement. Either way it's a decision you're making on purpose, in the moment, rather than a reduction that happened to you silently through an automated sync.

That's the whole point. A contract minimum is only worth what you actually bill against it, and you can only bill against it if you know the moment it's breached. Autotask holds the contract and the live counts; Canopy watches the gap between them and tells you the morning it opens - so the recurring revenue you agreed stays the recurring revenue you collect.

Stop guessing. See it in Canopy.

Canopy turns your Autotask data into the answers this article is about — technician scorecards, backlog, CSAT, pipeline and MRR, in one place.

See Service Coverage alerts