Most MSP owners have had the ticket status argument. One manager wants a status for everything. Another wants four. The debate feels tactical — and it is. But tactical friction at this level almost always points to something deeper: a service operating model that hasn't been clearly defined. When your team is debating whether "Observing" should exist as a status, the real question is why ownership, queue flow, and escalation rules aren't explicit enough to make the answer obvious. This episode of the BMK Vision Roundtable uses a real listener question to pull that thread — connecting the case for hiring a dispatcher to the financial clarity that comes from understanding agreement gross profit and building a service department where dispatchers keep the entire support team accountable.
The pattern is consistent across the MSPs Bering McKinley works with: leaders who lack a centralized dispatch function end up compensating with complexity — more statuses, more routing rules, more exceptions. The result is a system that feels structured but breaks under pressure. Tickets sit unowned. Time entries go missing. Invoicing stretches from hours to days. And agreement gross profit — the single most important number for understanding whether your managed services contracts are actually profitable — becomes unreliable or invisible entirely. The discipline required to fix this isn't technical. It's leadership clarity: defining who owns every ticket in every status, what happens next, and whether the clock is running. That's a system design decision, not a PSA configuration choice.
A listener writes in asking how many ticket statuses a small MSP team should have. On the surface, it's a process question — the kind you'd solve in a team meeting. But the fact that an MSP owner fresh off a strategic planning conversation immediately reverts to debating ticket labels tells you everything about the gravitational pull of operational friction. Leaders don't get trapped in status arguments because they lack opinions. They get trapped because the underlying system hasn't been designed clearly enough to make the answer self-evident.
Every status in your PSA should answer three questions: Who owns it? What happens next? Is the clock running? If a status can't answer all three, it's dead weight. The "Observing" status that one manager proposed is a textbook example — it sounds reasonable until you realize no one is accountable for moving that ticket forward. It becomes a graveyard with a polished name. The number of statuses matters far less than the ownership discipline behind them. Four statuses with clear ownership outperform twelve that nobody follows.
The listener's team has four technicians, one service manager, and no dispatcher. That's a structural decision with compounding consequences. Without a centralized dispatch function, technicians are forced to self-manage ticket flow, self-prioritize business impact, and self-police time entry — all while solving technical problems. The statuses end up doing double duty: communicating workflow state and managing assignment logic. That's too much weight for a dropdown field. The dispatcher role isn't about routing tickets. It's about enforcing the operating rhythm that makes everything downstream — from time entry to invoicing to agreement profitability — actually work.
Agreement gross profit is the financial output of everything discussed in this episode — ownership, dispatch, time entry, status discipline. AGP measures the revenue from a managed services contract minus the hard costs (licenses, tools) and the personnel costs (time worked against that agreement), expressed as a percentage. The target is 65%. But that number is meaningless if time entries are missing, agreements are malformed, or tickets aren't being tracked against the right contracts. Most MSPs who think their AGP looks great are actually flying blind — the data isn't wrong, it's incomplete.
The mature MSP evaluates every operational decision through two lenses simultaneously: how does this affect operations, and how does it affect the financials? Hiring a dispatcher costs $50,000 a year and reduces your gross profit by several points. Not hiring one means tickets go unowned, time entry degrades, AGP becomes unreliable, and clients eventually leave because service quality erodes invisibly. There's no version of this where you optimize one side without paying on the other. The question isn't whether to spend — it's whether you're making the trade-off consciously or letting it happen to you by default.
For a team of four technicians with one service manager, keep it simple: New, In Progress, Waiting, and Resolved. Add Scheduled if you handle planned work or projects. Use Completed and Closed as separate statuses to create a hygiene checkpoint before invoicing. The key principle is that every status must have a clear owner, a defined next action, and visibility into whether the SLA clock is running.
No. Unassigned tickets create accountability gaps. On a small team, every ticket in every status should have a named owner. The owner may not be actively working the ticket in a waiting status, but someone must be responsible for monitoring it and driving the next action when the client responds or the condition changes.
If you have four or more technicians and no dispatcher, you're likely overdue. The dispatcher doesn't need to be a senior technical resource — they need to understand business impact prioritization, enforce time entry discipline, and manage the completed-to-closed handoff. The cost of the role is typically recovered through improved invoicing speed, reduced technician spin-out, and more accurate agreement gross profit data.
AGP measures the profitability of each managed services contract: agreement revenue minus hard costs (licenses, tools) minus personnel costs (time worked against that agreement), divided by agreement revenue, multiplied by 100. The target is 65%. AGP is the number that tells you whether your contracts are actually profitable — not just generating revenue. It requires accurate time entry to calculate, which is why ticket hygiene and dispatch discipline are direct contributors to financial visibility.
Completed means the technician has finished their work. Closed means the dispatcher or service manager has reviewed the ticket for hygiene — time entries, agreement alignment, correct categorization, and billing readiness. This two-step process prevents bad data from flowing into invoicing and protects the integrity of your AGP calculations.
Status debates are a symptom of unclear system design. When ownership rules, escalation paths, and dispatch processes aren't explicitly defined, teams try to solve the ambiguity with more labels. The fix isn't finding the perfect set of statuses — it's designing a service operating model clear enough that the statuses become obvious.
Josh Peterson is the CEO of Bering McKinley and host of The BMK Vision Podcast. Since 2004, Josh has worked with hundreds of MSP owners to build operationally sound, profitable businesses through consulting, peer teams, and direct coaching.
Connect with Josh Peterson on LinkedIn →
Gary Boyle is a Partner for Strategy & Business Development at Bering McKinley. With a background spanning network engineering, entrepreneurship, and strategic consulting, Gary brings real-world operator experience to helping MSP owners build stronger, more profitable businesses.
Connect with Gary Boyle on LinkedIn →
If you're ready to stop debating statuses and start designing a service model that drives profitability, the Vision Operating System gives you the framework to get there.