By
El Copeland
December 9, 2025
•
20 min read
By the [run]Book

Episode 13 of By the [run]Book dives into HaloPSA v2.206, a release packed with scalability improvements, billing accuracy upgrades, automation controls, and long-requested UI flexibility. Mendy and Robbie break down what’s new, what to enable (and what to be cautious with), and how these updates affect real-world MSP operations—from integrations and invoicing to load balancing and data governance. This episode is especially useful for MSPs managing growth, complex billing models, or high-volume integrations.
The following features stand out as the impactful changes in this release:
Incoming Webhook Service (Queueing) #794180 The new incoming webhook service introduces queue-based processing to prevent API rate-limit failures during high-volume events like invoice syncing. This is a major reliability upgrade for accounting integrations and lays the groundwork for safer, more scalable automation across Halo.
Items & Product Groups as Meters #1015992 Items and product groups can now be set as meters by default, simplifying setup for consumption-based services like Azure usage and backup storage. While meter period handling is still evolving, this is an important step toward more flexible usage-based billing.
Social Security Number Redaction #977591 Halo now supports automatic redaction of Social Security numbers and other sensitive data in tickets and actions. This adds an important layer of data protection and compliance, particularly for MSPs handling regulated or confidential information.
Automatic Reapplication of Billing Templates on New Contracts #791985 There is now an option to automatically reapply billing templates when you add a contract for a client, helping ensure billing consistency as agreements change. MSPs should enable this with care—client-level billing overrides should be avoided while templates are in use to prevent unintended resets.
Watch Now: By the [run]Book: Episode 13
For easier tracking, check out haloreleases.remmy.dev to filter and search HaloPSA updates by ID, version, and keyword.
Full Feature List:
Incoming webhook service now available | v2.206 #794180 | 1:48
This introduces a queue-based approach to webhook processing to reduce failures caused by rate limits during high-volume events.
You can now set a default Ticket Status for updates in the Jira Software and Jira Service Management integrations | v2.206 #1016865 | 6:08
Allows control over the ticket status applied when Jira pushes updates into Halo.
Item/Product Groups can now be set as Meters by default and Items/Product records can also be set as Meters | v2.206 #1015992 | 6:54
Enables default usage-based billing behavior on items and product groups.
Added an option to the Dynamics 365 CRM Integration to enable/disable Customer imports matching on Customer Name if not matched on GUID | v2.206 #1015264 | 8:52
Adds control over customer import matching behavior in the Dynamics 365 CRM integration.
Parameters have been added to the Device endpoint to allow a smaller response object to be returned | v2.206 #1013180 | 11:15
Adds parameters to limit the size of API responses.
A setting has been added to Advanced Configuration to include Automation Actions to populate the dollar variables starting with SLAHOLDACTION | v2.206 #1011801 | 16:20
Adds control over how SLA hold automation variables are populated.
$PRODUCTCODE can now be used on the Bill PDF lines | v2.206 #1011633 | 19:00
Allows product codes to be displayed on billing PDFs.
A setting has been added to Timesheet Management Configuration to control whether to include rounding/minimums etc as part of the Charge Hours calculations | v2.206 #1010247 | 19:08
Adds flexibility to how charge hours are calculated and displayed.
You can now exclude agents from being auto-assigned tickets at the team level. This prevents selected agents from receiving tickets via load balancing or round-robin | v2.206 #1006134 | 20:58
Allows specific agents to be excluded from team-level auto assignment.
Added an alternative method to send User information when using JWT User matching for the Embeddable Chat Widget | v2.206 #1003959 | 21:59
Adds another method for passing user identity into embedded chat.
Payment Method and Reference have been added as options when creating Payments | v2.206 #1003949 | 22:26
Adds additional metadata fields when recording payments in Halo.
Tiered Pricing set against Items will now be used for Recurring Invoice lines and will update when adding new lines or when the quantity changes on the line | v2.206 #1003580 | 23:40
Ensures tiered pricing is correctly applied to recurring invoice lines.
Profit will now show in the Totals area of Invoices and Recurring Invoices | v2.206 #1002932 | 24:28
Adds total profit visibility directly to invoices.
Added the option to automatically create a business application instance when creating a business application | v2.206 #1002472 | 25:57
Automatically creates an instance when a business application is added.
A setting has been introduced (Configuration > Tickets > General) so that when using the Ticket Type settings for Scheduled Load Balance, new Tickets will no longer be Load Balanced when there are unassigned open Tickets with the same Ticket Type | v2.206 #1000142 | 26:35
Prevents new tickets from skipping ahead of existing unassigned tickets.
You can now show/hide the User system ‘Title’ field in Screen Layout Profiles for the User entity | v2.206 #999579 | 28:26
Adds control over visibility of the User Title field.
It is now possible to link Quote lines to Customers directly so that when Sales Orders are created they are split by customer | v2.206 #992459 | 30:46
Allows quote lines to be associated directly with customers.
You can now use the ‘Configure a new chart’ option in dashboard widgets to create multi-series charts from a single data source | v2.206 #990930 | 31:51
Enables multi-series reporting in dashboards.
It is now possible to import Overriding Item/Price data during the XLS Item import | v2.206 #989129 | 33:24
Supports importing item price overrides via XLS.
You can now set grouped rows on Column Profiles to be collapsed by default | v2.206 #987019 | 34:59
Adds a default collapsed view for grouped report rows.
When importing Devices using the NinjaOne Integration it is now possible to choose only one Organization or All Organizations | v2.206 #985878 | 35:46
Adds organization-level filtering during NinjaOne device imports.
Descriptions can now be added to FAQ lists and displayed on the tiles in the End-User Portal | v2.206 #982214 | 36:30
Allows descriptions to be shown on FAQ tiles in the portal.
Added Load Balance settings to Team level | v2.206 #979706 | 38:00
Moves load balancing configuration to the team level.
Added option to redact Social Security numbers from Ticket and Action fields | v2.206 #977591 | 41:13
Adds automatic redaction of sensitive data.
You can now set defaults for Custom Tables in Ticket Templates | v2.206 #975276 | 43:04
Allows custom tables to be pre-populated via ticket templates.
Added Access Control to Qualifications | v2.206 #971200 | 43:12
Introduces role-based access control for qualifications.
Added a Chat flow step to update linked Ticket Custom Fields with preset values | v2.206 #968961 | 43:26
Allows chat flows to populate ticket custom fields automatically.
Added the setting ‘Disable automatic loading of all services upon accessing the Service Catalogue on the end user portal’ to Services settings | v2.206 #968377 | 43:39
Improves portal performance for large service catalogs.
Added a time zone field at ticket level | v2.206 #961858 | 43:55
Adds time zone awareness directly on tickets.
You can now grant role-based read and modify access to custom fields on custom tables | v2.206 #957609 | 45:19
Adds granular permissions for custom table fields.
Added a global setting to set a password expiry date for End-Users and Agents | v2.206 #956854 | 48:23
Adds global password expiry controls.
Added a use field for asset types | v2.206 #950383 | 48:42
Adds a “use” classification to asset types.
Added Canned Text Shortcuts | v2.206 #949683 | 49:17
Introduces keyboard shortcuts for canned text.
Introduced new settings to enable user out-of-office | v2.206 #947700 | 49:44
Adds out-of-office controls for users.
Expense are now audited | v2.206 #811502 | 51:38
Expense actions are now tracked for auditing.
Added Line Column Profiles for invoices, quotes, purchase orders and sales orders | v2.206 #831635 | 51:43
Adds column profile control at the line level for financial documents.
There is now an option to automatically reapply billing templates when you add a contract for a client | v2.206 #791985 | 54:10
Adds automatic reapplication of billing templates when contracts change.

Episode 20 of By the [run]Book dives into HaloPSA v2.214 with a mix of practical improvements and some quirky additions. Connor and Mendy walk through everything from new dollar variables and asset controls to Avalara fixes and portal enhancements—highlighting what actually matters for day-to-day MSP operations. This episode is especially useful for MSPs refining workflows, automation, and reporting accuracy in Halo.
Watch Now: By the [run]Book: Episode 20
For easier tracking, check out haloreleases.remmy.dev to filter and search HaloPSA updates by ID, version, and keyword.
Mendy and Connor noted this was very useful.
Highlighted during the user action demo as a practical workflow improvement.
Called out as a genuinely useful UI improvement.
Allows more flexibility in how incoming emails are matched to tickets.
Enables automation of asset configuration through API usage.
Introduces a new variable to output custom fields in Q&A format.
Improves visibility into asset changes over time.
Returns the email address of the user associated with a purchase order.
Enhances usability and visibility of search results in the portal.
Provides control over configuration synchronization.
Ensures correct popup behavior when multiple rules trigger.
Makes ticket source available for reporting and filtering.
Adds safeguards when configuring email matching tags.
Allows distribution lists to target all email addresses tied to a user.
Improves clarity in Avalara transaction records.
Adds control over visibility of user actions in the portal.
Improves flexibility when using Accounts and Prospects.
Enables dynamic fields based on asset lifecycle status.
Ensures asset tagging consistency during stock processes.
Adds control over Avalara synchronization scope.
Allows a predefined score for surveys.
Improves visibility when prorating billing items.
Automatically generates a ticket alongside sales orders.
Allows column width customization in list views.
Changes ordering of lists in the team view.
Adds asset status as a usable variable in buttons.
Improves flexibility when viewing lists.
Allows visual customization of buttons.
Enables distribution lists based on ticket criteria.
Adds control over forecast data ranges.
Enhances performance of Azure/Entra sync.
Improves visibility of ticket closure information.
Optimizes webhook performance and payload handling.
Refines permissions for asset management.

Episode 19 walks through HaloPSA v2.212 and v2.214, covering a wide range of quality-of-life improvements, admin controls, and workflow enhancements. Connor and Robbie highlight updates around ticket forms, invoicing, templates, and automation, making this especially useful for MSPs looking to tighten processes and improve day-to-day efficiency.
Watch Now: By the [run]Book: Episode 19
For easier tracking, check out haloreleases.remmy.dev to filter and search HaloPSA updates by ID, version, and keyword.
Allows assets to be linked directly to a client instead of only via a site.
Improves tracking of report usage across dashboards.
Adds control over end-user assignment in templates.
Prevents actions on tickets for stopped clients or sites.
Allows updating custom fields directly via actions.
Prevents approval of expired quotes.
Adds variables for original customer addresses.
Ensures hidden fields do not retain values.
Adds advanced relative date filtering.
Adds preview functionality for templates.
Allows editing of existing meter readings.
Improves grouping of invoice items.
Enables merging duplicate assets.
Displays number of related tickets.
Enhances monitoring integration mapping.
Adds more control to purchase order lifecycle.
Enables workflows triggered by agent emails.
Adds mapping and geolocation features.
Introduces guided project setup.
Allows updating ticket fields post-creation in chat.
Prevents deletion of populated top-level structures.
Improves timesheet usability.
Fixes inconsistent quote PDF behavior.
Aligns quote email behavior with configuration.
Adds access to billing profiles from invoice screen.
Allows use of quote data in actions.
Adds new automation trigger.
Adds rich text support for asset fields.
Prevents closure when tasks remain open.
Adds approvals to activity feed.
Removes agent login option from portal.
Adds ordering control to lookup codes.
Adds planning field to releases.
Enables guided onboarding tools.
Adds note field to consignment lines.
Expands team visibility.
Extends accessibility tools to main app.
Displays previous invoice values.
Exposes billing data to API.
Adds search to selection fields.
Aligns call screen logic with ticket settings.
Links credit lines to original sales orders.
Improves invoice ID handling.
Introduces role-based API identity.

In this episode of By the Runbook, the team continues through the HaloPSA 2.212 release notes and spends time unpacking what several of these changes actually mean in practice. The conversation covers workflow design, mail campaigns, ticket views, reporting, and automation behavior, with especially useful commentary for MSPs trying to decide what to enable, what to ignore, and what to be careful with.
Watch Now: By the [run]Book: Episode 18
For easier tracking, check out haloreleases.remmy.dev to filter and search HaloPSA updates by ID, version, and keyword.
Check out MSP Blueprint for info on runbooks: MSPBlueprint
This allows the ticket screen to automatically refresh when a background automation completes.
Expands qualification matching to include custom field criteria.
Adds delayed and retry-based webhook processing options.
This change limits the available “From” addresses on a ticket action to mailboxes the assigned team can actually access.
Adds Email Address as another attribute option for follower behavior on the portal.
Allows changes to Mail Campaigns after they have started.
Restricts pipeline stages based on opportunity type.
Adds webhook processing options including delayed and retry handling.
Adds the ability to hide tickets from the change calendar.
Adds Service Users as a selectable option in distribution and user lists.
Allows campaigns to be sent from sales mailboxes.
Adds a warning when an action email will fail.
Adds asset relationship mapping during SQL imports.
Adds an isRunning field to asset discovery.
Expands qualification matching with custom field rules.
Allows ticket view to auto-refresh after automation runs.
Adds ability to update currency values on quotes.
Requires comments for negative KB feedback.
Adds control for showing nested tickets.
Enhances AI reporting capabilities.
Restricts KB edits to owners only.
Adds translation support in the portal.
Adds secondary MAC address support.
Adds character limits to text fields.
Adds more fields for OLA and rule reporting.
Prevents approvals from email replies.
Extends field copying to deeper ticket levels.
Adds primary asset as a runbook condition.
Adds AgentID variable for lookups.
Adds reporting changes to config tracking.
Adds filter profiles to child ticket views.
Adds more configuration options to other open tickets view.