By
Mendy Green
June 9, 2021
•
20 min read
Business

In any business where you’re not billing Time and Materials, the amount of time you spend on a project directly correlates to how profitable you are. In an MSP, this applies even more. MSP Businesses were designed years ahead of their time, bringing into practice concepts such as recurring revenue, outsourcing, efficient resources, and more; before people even realized the value. It’s the reason that today the MSP Businesses are blowing up with everyone you meet starting their own. Unfortunately, there’s a complex side to the framework of an MSP that is very often overlooked, especially by those just starting out.
Let’s discuss how the MSP business model is built. MSPs pitch to their prospective clients that they can provide the same level (or often times better) IT Services to their organization than they themselves can find if they go with someone internally. They ask for less money, and offer a bigger team with greater experience. These same MSPs then have to turn around and hire the same people that would have been hired directly, and not just one, but two or three or more depending on the size of the MSP.
MSPs have to pay the same salary with a smaller budget. How can these numbers possibly work?
This is where efficient resources come in; an MSP needs to stack multiple clients reusing the same resources for each client so that together all the clients combined pay enough money for the MSP to pay the technicians salary and make a profit. The income also needs to cover all base expenses of the MSP which includes infrastructure such as an RMM, PSA, Email, Phones, over-night team for emergencies and so on.
With an internal IT resource, that resource would be solely focused on the business they were working for and getting paid a full salary of say $52k/year, now the same resource at an MSP is getting paid $52k/year and needs to stay on top of not one company IT needs, but actually 3 or 4 (or more depending on the contract size of each). This kind of expectation is unreasonable and when maintained results in high-stress work environments and eventual burn out for the technician. The saying “trial by fire” is very applicable to the technicians who work at an MSP. They are under constant barrage of tickets and stress, jumping from company to company each ticket wildly different from the next. This makes them unusually skilled and also rapidly exposes them to a wide range of experience they may not have received working for just one company. A good MSP technician of the lowest tier can easily go head to head in ability (if not knowledge) to a mid-tier internal IT resource.
Now keep in mind that when MSPs started we were a new phenomenon. There was no standard to follow, no existing business to copy, except for the existing internal IT department within a Company. We didn’t know what kind of pay structure was fair to offer a Tier 1 or Tier 2 technician because there was no “average pay” metric. The only thing we did know is that we are building a business with a stress on smaller dollar amounts per client, and more total clients. This means what we paid our technicians had to be less too, or that we keep the MSP as lean as possible with only the amount of technicians truly needed. Following the 80/20 rule we determined that 80% of the time with our clients running smoothly we would be fine and only 20% of the time when some kind “perfect storm” would occur we would need to motivate our technicians to put in more effort (or what was generally called “figure something out”).
What’s being described is not a sustainable long term plan. Simon Sinek likes to stress that business is an Infinite Game and that those who are not playing by those rules are doomed to failure eventually. The only way to stay in the game is by having resources, and the will to keep playing. We’ve already established that MSPs do not have the same pockets as a normal business, not without drastically imposing upon “will”, our employees, making them work in stressful environments and constantly being battered by the next broken issue.
The fix for this is easy, and its an iteration of what we already started. Efficient use of resources. Efficiency can help us spend less time per ticket, less time per client, and improve our technicians stress in the environment. There are two side to the efficient use of resources, one of which we already started (Sharing resources among companies) but the other is often overlooked “Work load management”. If we can make our work load efficient we can easily improve upon all the issues we just brought up. Here are some ideas that can be used to help facilitate the efficient workload.
Efficient resources is way more than just sharing resources. Making your workload efficient is just as important. Remember how profitable you are directly correlates to how efficient you can be
Remember, in the MSP business time isn’t a loss of potential profit, its actual profit lost as your contracted rate is the same every month. Automation and bulk actions are extremely important as the less time you spend doing something the more your Per Hour amount goes up.

Episode 15 of By the [run]Book covers Halo v2.208 and starts into v2.210, with Mendy and Robbie walking through SLA refinements, shifts/time tracking updates, billing cadence improvements, and tighter access controls across portals and reporting. Key moments include new SLA response targeting options, a clock-in/clock-out widget for shifts, a bi-monthly schedule period, and expanded team leader controls. This is a useful episode for MSPs looking to tighten operational workflow, reporting governance, and self-service experience improvements.
Watch Now: By the [run]Book: Episode 15
For easier tracking, check out haloreleases.remmy.dev to filter and search HaloPSA updates by ID, version, and keyword.
Adds an SLA option so your first response target can differ from subsequent response targets.
Adds the FAQ List Ticket field as a workflow criteria option.
Allows ticket end-user updates when an anonymous chat is successfully upgraded.
Adds a clock in/clock out widget for Shifts.
Adds a 2-month schedule period option.
Improves Knowledge Base latest article links.
Adds “Visible - Read Only” for Agent Asset details visibility.
Adds load-balance on reopen if assigned agent doesn’t meet qualification rules.
Introduces a module for an Opinyin integration.
Adds test email sending for individual mail campaign messages.
Adds new Halo API actions in runbooks.
Splits KB view counts so end users see only user views (when enabled).
Adds item group restrictions + running cost total on portal ticket item selection.
Adds a Ticket Reference field that’s searchable and usable in column profiles.
Groups service subscribers.
Adds $ variables for CONTRACTSLA, CONTRACTSUBTYPE, CONTRACTSTATUS.
Adds improvements to Agent Resource Booking.
Adds encryption options for variables/responses in integrations/runbooks.
Adds software expiry date tracking on assets.
Adds ticket-type control for end-user approval action visibility.
Allows team leaders to modify agents’ preferences.
Adds bulk add assets via the asset search modal.
Adds chat profile overrides at the user role level.
Allows KB links to include FAQ lists and auto-expand on open.
Allows HTML formatting in popup notes triggered by ticket rules.
Shows credit notes alongside invoices in the portal.
Adds a setting to limit users/agents to one active session.
Adds TD Synnex Quote Line Imports.
Adds dark mode counter widget color options.
Adds downpayment invoice creation from sales orders (fixed price + T&M).
Adds settings to limit portal options to Web Access Level list values.
Adds access control for reports.
Adds a deep link button on imported Addigy devices.
Multiple changes made to the Expenses list.
Allows embedding Halo portal/agent UI (including dashboards) in SharePoint via iframe.
Changes how recurring invoices appear/create based on month selection.
Ensures billing template application creates a billing plan record per matching contract/agreement.
Adds Last Contacted + Created Date fields to NinjaOne device import.
Removes quote “Send” button so sending happens only via ticket/opportunity.
Disables change history tracking for selected asset fields.
Adds invoice access restriction levels (No Access/Site/Client).
Shows the overriding contract field even if it isn’t on the field list (admin-editable only).
Enables database lookup while entering an action in the self-service portal.
Updates the Account Integrator for Sage UK v32 (2026).
Adds a setting to group ticket entities separately during invoice creation.

In Episode 14 of By the [run]Book, Mendy and Robbie wrap up v2.206 and dive into v2.208. Join us while they unpack a dense set of workflow, billing, automation, and self-service portal enhancements. Highlights include conditional workflow steps, improved qualification matching, project–contract alignment, and powerful new portal customization options. This episode is ideal for MSPs who want tighter operational control, cleaner billing, and more flexible automation inside HaloPSA.
The following features stand out as a few of the impactful changes:
On-call Notification Enhancements #422926
Halo introduced various enhancements to notifications to better support on-call workflows, and Mendy called out that this release note quietly included a massive underlying change. The key takeaway was that important platform-impacting updates can be buried in “notification” notes, so MSPs running on-call should review notification behavior closely after updating.
Assign Contract to Projects & Tasks Created from Sales Orders #1027598
Projects and tasks created from sales orders can now automatically inherit the contract created from that sales order, tightening the link between quoting, delivery, and billing. The hosts emphasized this as a practical fix for MSPs who see project time accidentally hitting the wrong agreement (and wrecking profitability reporting), especially when doing fixed-fee or prepaid project work.
Workflow Automations Using Client/Site/User Custom Fields #1022399
Workflow automations can now use client, site, or user custom fields directly as criteria, reducing the need for workaround runbooks that copy those values onto tickets. The hosts positioned this as a meaningful automation upgrade because it makes routing and logic cleaner, easier to maintain, and more scalable for MSPs with account-specific processes.
Watch Now: By the [run]Book: Episode 14
For easier tracking, check out haloreleases.remmy.dev to filter and search HaloPSA updates by ID, version, and keyword.
Full Feature List:
Added the ability to add Azure/Entra distribution groups as followers | v2.206 #770320 | 1:52
Added an option in AI settings to generate an AI summary of the article based on the title, description and resolution Added an option in AI settings to use the AI-generated summary of an article to identify and flag potential duplicate articles before submission | v2.206 #767579 | 2:58
When tickets have a Teams chat open, if the ticket is closed, a closure message will be sent to all chats | v2.206 #635732 | 3:29
Various enhancements to notifications to support on-call notifications | v2.206 #422926 | 4:02
A setting has been added to Sales Order Configuration so that a specific Status can be set once all Items on the Sales Order are consigned | v2.208 #1034330 | 10:24
The setting "Tickets with the default Organisation/Site must be moved before working on the Ticket" can now be overridden at Ticket Type level | v2.208 #1033540 | 12:51
"Do not disturb" mode for Halo notifications | v2.208 #1028655 | 16:04
A setting "When creating Projects and Tasks assign the Contract created from the Sales Order" has been added to Configuration > Sales Orders > Processing Sales Order Lines that allocates Projects and Tasks created from Sales Orders to the Contract created from the Sales Order | v2.208 #1027598 | 17:27
An Item property had been added to the Milestone so that the Invoice Item can be edited/set after creation of the Milestone. This Item will be used when creating an Invoice directly for the Milestone only | v2.208 #1027578 | 20:33
Added Canned Text Shortcuts for Chat | v2.208 #1024945 | 23:07
Additional data has been added to the Invoice Line object to store the Origin Sales Order Line that the associated Recurring Invoice was created from and to store the Occurrence Count for Recurring Invoices | v2.208 #1024614 | 28:23
Report display improvement when using customised table html | v2.208 #1024326 | 28:55
Added Managed Identity via Azure Arc as an authentication option to the Microsoft Entra integration and Office 365 mailboxes | v2.208 #1024317 | 29:36
It is now possible to set a Tax Exemption reason for a Halo Customer on creation that will be pushed to Quickbooks when the Customer is not taxable | v2.208 #1024297 | 29:44
A setting has been added to allow recurring invoice lines to be hidden by default when viewing the recurring invoice | v2.208 #1024067 | 29:57
Multiple changes to available $ variables | v2.208 #1023687 | 32:18
Added the setting 'Automatically create Change Advise Boards from Teams' to Approval Process settings | v2.208 #1023311 | 32:55
A setting has been added to the QuickBooks Integrations setup so that a Closed Date can be entered. | v2.208 #1022558 | 33:16
You can now use Client, Site or User Custom Fields for criteria on Workflow Automations | v2.208 #1022399 | 33:41
The variable $ SERVICEID can be used in database lookups to obtain the ID of the Service linked to the Ticket | v2.208 #1021534 | 34:21
Custom Statistics Tables added | v2.208 #1019726 | 34:32
Decimals are now allowed within the field "Tickets Opened/Closed within the last X days" in AI suggestions | v2.208 #1018082 | 37:42
Added a new Knowledge Base setting that allows you to hide FAQ tiles that have no results matching the current search in the Portal | v2.208 #1012783 | 37:50
Added a manufacturer field to the suppliers tab of assets | v2.208 #1009501 | 37:57
Improvements to Qualification matching | v2.208 #1008143 | 38:01
Various improvements to the self-service portal | v2.208 #1007918 | 40:49
You can now use Client, Site, User and Organisation level $ variables in the Self Service Portal custom HTML Headers and Footer | v2.208 #1007759 | 43:43
Enhancement to Client-Ticket Type restrictions | v2.208 #1006158 | 47:49
Added a Chat Audit Area Added a new Chat Transcript style | v2.208 #1004851 | 48:34
You can now set feedback and survey links to be single use | v2.208 #1002898 | 48:41
Added an Advanced Setting to alter the Tree menu width | v2.208 #999276 | 51:57
You can now make your custom hompage HTML in the End-User portal appear as a sticky banner across all portal pages | v2.208 #996323 | 52:48
Added option to exclude non-invoiceable time from budget calculations | v2.208 #994004 | 56:01

This discussion guide is part of Rising Tide’s Winter 2026 book club, where we’re reading Think Naked by Marco Marsan.
If you’re just joining us, here are a few pages you’ll likely benefit from:
“If you want to be more creative, stay in part a child, with the creativity and invention that characterizes children before they are deformed by adult society” - Jean Piaget
In Chapter 2, You Lost Your Marbles, Marco Marsan explores how people don’t simply “grow out” of creativity — they are systematically conditioned out of it. The chapter argues that over time, fear, rigid rules, institutional norms, and social conformity slowly strip away curiosity, playfulness, and experimentation.
Marsan frames this loss through several forces:
The chapter opens with a consulting story where a leader dismisses Marsan outright, using it as a framing device to explore how organizations often reject discomfort, challenge, and unconventional thinking — even when they claim to want innovation.
Use these open-ended prompts to guide reflection and conversation. Remember, there are no right answers!
Rising Tide helps MSPs and service-focused teams build better systems: the kind that align people with purpose.
Every Friday at 9:30 AM ET, we host Rising Tide Fridays as an open conversation for MSP owners, consultants, and service professionals who want to grow both professionally, technically, and emotionally. In Winter/Spring 2026, we’re walking through Think Naked.
If that sounds like your kind of crowd, reach out to partners@risingtidegroup.net for the Teams link. Bring your coffee and curiosity…no prep required.