By the [run]Book: Episode 15

By  
El Copeland
February 18, 2026
20 min read
Share this post

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.

Added an option to Service Level Agreements to enable a different First Response Target to Subsequent Responses | v2.208 #988897 | 2:04

Adds an SLA option so your first response target can differ from subsequent response targets.

  • Better reflects triage vs ongoing comms
  • Cleaner SLA reporting for service teams

Added the FAQ List Ticket field as an available option for workflow automation criteria | v2.208 #987268 | 6:13

Adds the FAQ List Ticket field as a workflow criteria option.

  • Enables knowledge-base-driven workflow logic
  • Helps route/handle KB-related ticket workflows more precisely

Added a Chat Profile setting to allow the update of the End User of Tickets linked to an Anonymous Chat if the haloChat_inboundEvent_upgradeAnonChat is successfully called | v2.208 #984332 | 7:31

Allows ticket end-user updates when an anonymous chat is successfully upgraded.

  • Improves attribution of chat-created tickets
  • Reduces manual cleanup after anonymous-to-known identity transitions

Added a "Clock in, Clock out" widget for Shifts | v2.208 #984138 | 8:00

Adds a clock in/clock out widget for Shifts.

  • Helps formalize on-duty time tracking
  • Useful for after-hours / on-call patterns

Added a 2 monthly schedule period option | v2.208 #979982 | 10:45

Adds a 2-month schedule period option.

  • Supports bi-monthly billing cadences
  • Reduces schedule workarounds

Added multiple improvements to Knowledge Base latest article links | v2.208 #979751 | 10:59

Improves Knowledge Base latest article links.

  • More consistent KB navigation as articles change/version
  • Helps avoid “stale link” confusion

Added the option 'Visible - Read Only' to Agent Asset details screen visibility | v2.208 #979737 | 11:49

Adds “Visible - Read Only” for Agent Asset details visibility.

  • Lets agents view key fields without editing
  • Supports tighter asset governance

You can now configure a ticket to load balance upon reopening if the assigned agent does not meet the mandatory qualification matching criteria | v2.208 #979563 | 12:53

Adds load-balance on reopen if assigned agent doesn’t meet qualification rules.

  • Keeps qualification matching consistent over the ticket lifecycle
  • Helps avoid “reopen back to wrong resource” situations

Added a module for an integration with Opinyin | v2.208 #978437 | 13:06

Introduces a module for an Opinyin integration.

  • Relevant if Opinyin is part of your customer feedback stack
  • Worth evaluating for review/feedback workflow alignment

You can now send test emails for individual Mail Campaign email messages | v2.208 #977085 | 13:42

Adds test email sending for individual mail campaign messages.

  • Helps validate content before sending live
  • Reduces campaign mistakes

Added multiple new Halo API Actions in runbooks | v2.208 #974932 | 13:50

Adds new Halo API actions in runbooks.

  • Expands no-code/low-code automation options
  • Reduces dependency on custom calls in some workflows

Added a new setting to split Knowledge Base view counts. When enabled, the End-User portal shows only User views | v2.208 #971344 | 14:52

Splits KB view counts so end users see only user views (when enabled).

  • Cleaner end-user analytics
  • Separates agent/internal browsing from customer consumption

Added item group restrictions and a running cost total when adding items to new tickets on the self-service portal. | v2.208 #971032 | 15:27

Adds item group restrictions + running cost total on portal ticket item selection.

  • Better guardrails for what customers can request
  • More transparent cost expectations while building a request

Added a Ticket Reference field that can be searched and included in column profiles | v2.208 #968004 | 17:39

Adds a Ticket Reference field that’s searchable and usable in column profiles.

  • Helpful for ITSM-style reference formats
  • Improves filtering and reporting in list views

Service subscribers are now grouped | v2.208 #963508 | 18:56

Groups service subscribers.

  • Improves clarity around AND/OR logic in subscriber conditions
  • Makes complex subscriber setups easier to maintain

Added dollar variables ($) CONTRACTSLA, CONTRACTSUBTYPE & CONTRACTSTATUS | v2.208 #935851 | 19:55

Adds $ variables for CONTRACTSLA, CONTRACTSUBTYPE, CONTRACTSTATUS.

  • Improves template and workflow flexibility
  • Useful for notifications, templates, and automations

Improvements to Agent Resource Booking | v2.208 #935781 | 20:00

Adds improvements to Agent Resource Booking.

  • Enhances appointment booking workflows
  • Helpful if you’re trying to reduce reliance on external schedulers

Added options to encrypt variables and responses in Custom integration methods & Runbooks | v2.208 #882510 | 21:41

Adds encryption options for variables/responses in integrations/runbooks.

  • Better security for sensitive values used in automations
  • Especially relevant for API keys and secrets

You can now set an expiry date for software against an asset | v2.208 #880465 | 22:33

Adds software expiry date tracking on assets.

  • Supports proactive renewals
  • Enables automation around expiring software

Added a ticket type level setting that can allow you to show/hide approval actions for end-users. | v2.208 #859228 | 22:54

Adds ticket-type control for end-user approval action visibility.

  • Keeps the portal cleaner where approvals aren’t relevant
  • Useful for differentiating internal vs customer-facing ticket types

Added functionality for team leaders to modify their agents’ preferences | v2.208 #855276 | 23:07

Allows team leaders to modify agents’ preferences.

  • Supports delegation without full admin access
  • Helpful in scaled team structures

Added the ability to bulk add assets to a ticket via the asset search modal screen | v2.208 #835383 | 27:26

Adds bulk add assets via the asset search modal.

  • Speeds up multi-asset incident/service request logging
  • Reduces repetitive clicking

Added the ability to set a chat profile override at user role level | v2.208 #834258 | 28:11

Adds chat profile overrides at the user role level.

  • Standardizes chat behavior by role
  • Helps maintain consistency across teams

FAQ lists can now be included in Knowledge Base links and will auto-expand on open | v2.208 #833936 | 30:24

Allows KB links to include FAQ lists and auto-expand on open.

  • Faster navigation into the exact FAQ content you want
  • Helpful for portal/self-serve KB UX

You can now specify HTML when setting a pop up note on a ticket rule | v2.208 #825950 | 30:38

Allows HTML formatting in popup notes triggered by ticket rules.

  • Create more readable/structured internal guidance
  • Useful for critical warnings, prompts, and process reminders

Credit notes are now displayed along side invoices on the self service portal | v2.208 #806488 | 33:34

Shows credit notes alongside invoices in the portal.

  • Improves billing clarity for customers
  • Reduces confusion during reconciliation

Added a new setting to limit agents and users to one active session | v2.208 #761279 | 33:52

Adds a setting to limit users/agents to one active session.

  • Helpful for security and account-sharing prevention
  • Supports tighter access governance

Added TD Synnex Quote Line Imports | v2.208 #698431 | 34:03

Adds TD Synnex Quote Line Imports.

  • Speeds quote building for MSPs using TD Synnex
  • Reduces manual entry errors

Added the ability to set specific colours for counters widgets when using dark mode | v2.208 #681842 | 34:07

Adds dark mode counter widget color options.

  • Improves readability for dark mode users
  • Helps dashboard clarity

It is now possible to create downpayment invoices from Sales Orders for both fixed price hardware/projects and time and materials projects | v2.208 #596243 | 34:26

Adds downpayment invoice creation from sales orders (fixed price + T&M).

  • Useful for upfront deposits on projects/hardware
  • Supports cashflow management

Added multiple settings in Self Service Portal settings to limit options to the Web Access Level list | v2.208 #436892 | 35:29

Adds settings to limit portal options to Web Access Level list values.

  • Reduces risk of accidental “too broad” portal access
  • Makes permissioning more controllable

Added the ability to use access control for reports | v2.208 #262984 | 37:46

Adds access control for reports.

  • Lock down sensitive financial/ops reporting
  • Useful for larger MSPs with more role separation

End of 2.208 Q/A and Cats! On to 2.210 | 41:59

When using the Addigy integration a button will show on devices imported to open the device in Addigy | v2.210 #1054688 | 46:52

Adds a deep link button on imported Addigy devices.

  • Faster navigation between Halo and Addigy
  • Reduces context switching for techs

Multiple changes made to the Expenses list | v2.210 #1053141 | 47:06

Multiple changes made to the Expenses list.

  • Improves list usability and admin workflows
  • Helpful if you use Halo expenses operationally

Halo Portal and Agent application (including dashboards) iframes can now be embedded in SharePoint pages | v2.210 #1051449 | 47:32

Allows embedding Halo portal/agent UI (including dashboards) in SharePoint via iframe.

  • Useful for intranet-style “single pane” access
  • Supports internal operational dashboards

A setting has been added to Recurring Invoice configuration so that Recurring Invoices appear in the Ready for Invoice list and are auto-created (if enabled) if the next creation date falls in the current/selected month | v2.210 #1051296 | 47:58

Changes how recurring invoices appear/create based on month selection.

  • Impacts finance workflows—review before enabling
  • Useful for month-based invoice planning

A setting has been added to Contract/Agreement configuration that will ensure when adding a Billing Plan Combination using a Billing Template a record will be added for each matching Contract/Agreement | v2.210 #1050626 | 48:32

Ensures billing template application creates a billing plan record per matching contract/agreement.

  • Helps when contracts renew/change and you still need accurate billing mapping
  • Reduces edge cases in contract-driven billing

Additional import fields have been added to the NinjaOne Device import - Last Contacted and Created Date | v2.210 #1050486 | 51:33

Adds Last Contacted + Created Date fields to NinjaOne device import.

  • Enables stale-device reporting (offline 30/60/90 days)
  • Supports cleanup and license optimization workflows

A setting has been added to Ticket/Opportunity Types so that the "Send" button can be removed from the Quote screen, so that the Quote can only be sent from the Ticket/Opportunity | v2.210 #1049474 | 54:04

Removes quote “Send” button so sending happens only via ticket/opportunity.

  • Enforces process consistency
  • Reduces accidental sends from the quote screen

A setting has been added to the Asset Field properties so that Change History records are not created for the Asset Field | v2.210 #1048570 | 54:35

Disables change history tracking for selected asset fields.

  • Prevents noisy logs on frequently updated fields
  • Helps keep asset records cleaner long-term

A permission has been introduced for Users and User Roles so that Invoice access can be restricted to No Access/Site/Client | v2.210 #1048548 | 55:32

Adds invoice access restriction levels (No Access/Site/Client).

  • Tightens financial visibility controls
  • Useful for role-based access separation

If an overriding Contract/Agreement is set against a Ticket but not configured to show in the Field List then it will still show but only administrators will be able to edit/update the field | v2.210 #1046935 | 56:13

Shows the overriding contract field even if it isn’t on the field list (admin-editable only).

  • Makes hidden billing context visible for troubleshooting
  • Reduces “why isn’t billing applying?” mysteries

Database Lookup functionality can now be used when entering an action using the self-service portal | v2.210 #1046459 | 56:58

Enables database lookup while entering an action in the self-service portal.

  • Makes portal actions more dynamic and guided
  • Useful for structured self-service inputs

Updated Account Integrator released that is compatible with Sage UK v32 (2026) | v2.210 #1046181 | 57:14

Updates the Account Integrator for Sage UK v32 (2026).

  • Relevant for Sage UK accounting users
  • Helps keep finance integrations current

A setting has been added to allow the Ticket entities to be added to a separate group when creating invoices in the "Ready for Invoicing" area | v2.210 #1044974 | 57:32

Adds a setting to group ticket entities separately during invoice creation.

  • May improve invoice grouping/organization depending on your billing setup
  • Worth testing in “Ready for Invoicing” workflow

Share this post
El Copeland

As Partner and Business Consultant at Rising Tide, I help organizations align culture with efficiency, bridging the gap between strategy and the everyday systems that make it work. I’ve spent my career leading diverse, cross-functional teams and building communities where people actually want to learn and collaborate. With roots in technology, education, user experience & design, and project management, I specialize in turning complex ideas into clear, actionable plans that keep both people and projects thriving.

Outside of work, you’ll usually find me weight-training, gardening, or rewatching Doctor Who with a cat in my lap.

See some more of our most recent posts...
May 12, 2026
8 min read

By the [run]Book: Episode 21

Episode 21 of By the [run]Book covers the final features from HaloPSA v2.214 and the start of v2.216, including major improvements to forecasting, category restrictions, auditing, integrations, email handling, and technician workflows. Mendy and Connor break down practical MSP use cases, hidden configuration risks, and operational tips for getting the most out of the latest Halo updates.
Read post

Episode 21 of By the [run]Book dives into the tail end of HaloPSA v2.214 and the first round of v2.216 updates, with Mendy and Connor unpacking practical MSP use cases, hidden configuration gotchas, and workflow improvements. Highlights include forecasting enhancements, category group restrictions, Datto RMM multi-tenancy, auditing improvements, ticket timer widgets, and advanced email handling settings that can dramatically impact service desk operations. This episode is especially useful for Halo administrators refining automation, billing accuracy, integrations, and technician workflows.

Watch Now: By the [run]Book: Episode 21
For easier tracking, check out haloreleases.remmy.dev to filter and search HaloPSA updates by ID, version, and keyword.

Important Mentions

Improvements to forecasting | v2.214 #701659 | 31:48

Forecasting in HaloPSA received a major usability improvement by automatically calculating forecasted hours from estimated project task time.

  • Forecasting no longer requires manual hour entry
  • Project workload visibility becomes much more accurate
  • Helps service managers better plan technician capacity
  • Forecast data now updates directly from project task estimates
  • Significant quality-of-life improvement for project management workflows
  • Connor and Mendy discussed how this reduces one of the biggest pain points in Halo forecasting
Added the option to restrict categories by Category Group | v2.214 #775657 | 25:12

Category restrictions can now be controlled using Category Groups instead of manually configuring every category individually.

  • Simplifies ticket category management
  • Reduces administrative overhead for large environments
  • Makes workflow restrictions easier to maintain
  • Particularly valuable for MSPs with heavily customized workflows
  • Eliminates the need for repetitive category-by-category exclusions
  • Called out as a “massive” operational improvement during the episode
Added cost field to Agent Roles | v2.214 #831614 | 19:55

Agent Roles now support assigning cost values directly at the role level.

  • Enables profitability reporting without exposing exact technician salaries
  • Supports role-based costing models (Tier 1, Tier 2, etc.)
  • Improves margin reporting and service profitability calculations
  • Useful for MSPs standardizing labor costing across teams
  • Creates cleaner operational reporting structures
An option has been added to the Auvik Network import to ignore Networks with a Scan Status of “Unknown” | v2.216 #1093288 | 38:56

HaloPSA can now ignore “Unknown” scan status networks during Auvik imports.

  • Prevents unnecessary or incomplete network objects from syncing into Halo
  • Keeps asset inventories cleaner and easier to manage
  • Reduces noise from partially discovered or transient network devices
  • Particularly useful in large or segmented network environments
  • Helps improve data quality inside configuration management
The global setting for “Add X-Auto-Response-Suppress header to emails” can now be overridden using Action level configuration to enforce the headers when the global setting is not enabled | v2.216 #1085470 | 49:41

Halo now allows email suppression headers to be configured at the Action level rather than only globally.

  • Provides granular control over automatic reply suppression
  • Useful for limiting noisy out-of-office or acknowledgment emails
  • Allows specific actions to suppress responses without affecting all outbound email
  • Helps balance automation control with email reliability
  • Connor and Mendy strongly cautioned MSPs to test carefully, as improper configuration can unintentionally suppress legitimate responses or acknowledgements

Full Feature List

Added a Ticket setting that allows users to retain their selected tickets after completing a bulk edit | v2.214 #965079 | 1:38

This setting keeps tickets selected after completing a bulk edit, allowing technicians to chain multiple bulk updates together without re-selecting tickets.

  • Helpful during ticket cleanup or spam management workflows
  • Reduces repetitive selection actions during mass updates
  • Mendy and Connor discussed using closure categories plus automation rules to handle spam/noise tickets more effectively
You can now create Mail Campaign Groups | v2.214 #963652 | 4:44

Mail Campaigns can now be grouped for organizational purposes.

  • Primarily improves filtering and categorization
  • Useful for separating marketing, advisories, announcements, and service notifications
  • Current functionality is mostly organizational rather than operational
Asset software imported from Intune will now match to existing records based on the software's name instead of the ID | v2.214 #951596 | 8:01

Halo will now match imported Intune software records using software names instead of IDs.

  • Reduces duplicate software entries
  • Improves consistency during synchronization
  • Important for MSPs maintaining clean software inventories
The Datto RMM integration is now multi-tenanted | v2.214 #950768 | 8:38

Multiple Datto RMM integrations can now coexist within HaloPSA.

  • Particularly useful during mergers and acquisitions
  • Supports phased RMM migrations
  • Allows separate Datto environments to operate simultaneously
A setting has been added so that when sending an email from a Ticket that does not have a default mailbox set, the mailbox used will become the default | v2.214 #948587 | 10:16

Halo can now automatically assign the mailbox used during outbound communication as the ticket’s default mailbox.

  • Helps avoid orphaned mailbox references
  • Useful when old mailboxes are retired or renamed
  • Connor recommended caution to avoid unexpected mailbox switching behavior
Added the ability to determine the asset type for assets imported from Snow in via rules or from a field value | v2.214 #898813 | 13:01

Snow imports now support dynamic asset type assignment.

  • Asset types can be determined through rules or imported values
  • Aligns Snow behavior with more mature integrations
  • Improves asset categorization accuracy
Added a portal display name to services | v2.214 #897912 | 13:57

Services can now have a separate portal-facing display name.

  • Allows internal naming conventions to differ from customer-facing labels
  • Useful for client-specific service structures
  • Keeps portal terminology cleaner and more user friendly
Asset resource booking improvements | v2.214 #859017 | 15:35

Asset booking functionality received multiple improvements.

  • Added support for custom booking date ranges
  • Improves scheduling flexibility for shared assets
  • More relevant for internal IT and education environments managing loaner equipment
Added the option to have the ticket timer be a ticket details widget | v2.214 #832771 | 16:33

The ticket timer can now be displayed as a dedicated widget on the ticket screen.

  • Makes timers more visible to technicians
  • Allows SLA countdowns and timers to coexist in the widget area
  • Improves UI flexibility in the newer ticket layout
Added cost field to Agent Roles | v2.214 #831614 | 19:55

Agent Roles now support a cost field.

  • Helps MSPs model technician profitability at the role level
  • Useful when organizations avoid exposing exact technician salaries
  • Supports broader margin reporting strategies
Added the ticket setting “Only allow admins to clone tickets” | v2.214 #798650 | 22:22

Ticket cloning can now be restricted to administrators.

  • Prevents accidental ticket duplication
  • Reduces operational mistakes from inexperienced agents
  • Adds additional governance controls to ticket workflows
Further improvements to the new single sign-on functionality | v2.214 #795061 | 22:59

Halo’s newer SSO framework continues to evolve.

  • Supports multiple identity providers
  • Includes generic OIDC support
  • Useful for organizations centralizing authentication across systems
Added the option to restrict categories by Category Group | v2.214 #775657 | 25:12

Category restrictions can now be managed through Category Groups.

  • Simplifies ticket categorization controls
  • Reduces manual maintenance effort
  • Particularly useful in complex workflow environments
Improvements to forecasting | v2.214 #701659 | 31:48

Forecasting received major usability improvements.

  • Forecast values can now calculate automatically from estimated time
  • Removes previous manual forecasting workflows
  • Better visibility into future technician workload planning
Quotes & Purchase Orders are now audited | v2.214 #656127 | 36:34

Audit tracking now includes Quotes and Purchase Orders.

  • Improves accountability and historical visibility
  • Helps track changes made to financial records
  • Valuable for operational compliance and approvals
Reporting Datasources now show dependent reports | v2.214 #579888 | 36:53

Reporting Datasources can now display which reports rely on them.

  • Makes reporting maintenance significantly easier
  • Helps prevent accidental datasource changes
  • Useful for MSPs with large reporting libraries
Kaseya VSA X integration is now available | v2.214 #485469 | 37:02

HaloPSA now supports integration with Kaseya VSA X.

  • Expands RMM integration options
  • Useful for MSPs transitioning platforms
  • Adds support for newer Kaseya environments
SailPoint IIQ integration is now available | v2.216 #977581 | 38:09

HaloPSA now integrates with SailPoint IdentityIQ.

  • Supports identity and access management workflows
  • Useful for security-focused organizations
  • Extends enterprise authentication integrations
An option has been added to the Auvik Network import to ignore Networks with a Scan Status of “Unknown” | v2.216 #1093288 | 38:56

Auvik imports can now exclude unknown scan results.

  • Reduces clutter from incomplete discoveries
  • Keeps asset inventories cleaner
  • Helpful for noisy or segmented networks
Customer Trading Name (Third Party Name) is now audited | v2.216 #1091545 | 39:58

Changes to Customer Trading Names are now tracked in audit history.

  • Improves visibility into customer record changes
  • Supports accountability and compliance
  • Helpful during mergers, acquisitions, or rebranding
The setting to control how updating Cost affects Price or Margin has been updated to also work for Markup | v2.216 #1091171 | 40:11

Cost update logic now also supports markup calculations.

  • Improves pricing consistency
  • Helps maintain profitability models
  • Useful for organizations standardizing markup workflows
An option (button) has been added to the Quote approval fields to allow a custom message to be shown before the signature input | v2.216 #1088692 | 41:47

Quote approvals now support customizable messaging before signatures.

  • Adds additional instructions or disclaimers
  • Improves customer communication during approvals
  • Supports branded or compliance-focused messaging
A setting has been added that, when enabled, will balance the Contract and Billed hours when editing time entries | v2.216 #1087347 | 43:01

Time entry edits can now automatically rebalance contract and billed hours.

  • Helps maintain billing consistency
  • Reduces manual recalculation work
  • Connor and Mendy recommended caution until behavior is fully validated
A setting has been added to Advanced Configuration to allow the Device table IDs to be generated using a new method to avoid errors when adding devices in multiple threads | v2.216 #1086633 | 45:22

Halo introduced a safer device ID generation method.

  • Prevents ID reuse issues
  • Helps avoid asset mismatches after reimports
  • Important for large-scale asset synchronization workflows
The parameter bulkresponse=true can now be used when POSTs are made to the /fieldinfo endpoint to return a separate response for each object | v2.216 #1085574 | 47:46

The /fieldinfo endpoint now supports bulk response handling.

  • Simplifies API integrations
  • Improves parsing of large object sets
  • Helpful for developers building advanced Halo integrations
JWT assertion can now be required as an extra security measure for Halo API applications using client credentials flow | v2.216 #1085535 | 48:04

Additional JWT validation can now be enforced for API authentication.

  • Improves API security posture
  • Aligns with stricter enterprise security requirements
  • Supports more secure client credential flows
The status to be used for Alert closures from ConnectWise Automate can now be chosen on the Alert configuration of the Integration | v2.216 #1085481 | 49:32

ConnectWise Automate alert closures can now map to configurable statuses.

  • Improves alert workflow handling
  • Adds flexibility for automation-driven ticket closures
  • Helps standardize service desk processes
The global setting for “Add X-Auto-Response-Suppress header to emails” can now be overridden using Action level configuration to enforce the headers when the global setting is not enabled | v2.216 #1085470 | 49:41

Halo now supports overriding email suppression headers at the Action level.

  • Gives more granular control over automatic reply handling
  • Useful for preventing noisy auto-responses
  • Mendy and Connor strongly cautioned MSPs to test thoroughly before enabling globally

April 28, 2026
8 min read

By the [run]Book: Episode 20

Episode 20 of By the [run]Book covers HaloPSA v2.214, highlighting practical updates across automation, integrations, and user experience. Key discussions include new dollar variables, improvements to Azure sync performance, and better control over portal actions. A great watch for MSPs looking to streamline workflows and get more out of their Halo setup.
Read post

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.

Important Mentions

Added ALLFIELDSCFQA dollar variable | v2.214 #1063336 | 5:48

Mendy and Connor noted this was very useful.

  • Outputs custom fields only in Q&A format
  • Perfect for onboarding/offboarding forms and portal submissions
  • Cleaner and more usable than dumping all fields
You can now hide user action on the customer portal | v2.214 #1034684 | 18:22

Highlighted during the user action demo as a practical workflow improvement.

  • Lets you use user actions via links without exposing buttons
  • Keeps portal UI clean for end users
  • Key for form-style workflows using “Link to User Action”
Added the ability to set colours for custom buttons | v2.214 #997636 | 44:35

Called out as a genuinely useful UI improvement.

  • Helps visually distinguish important actions
  • Improves technician usability in busy workflows
  • Small change, but high day-to-day impact

Full Feature List

Start and end email subject matching tags have been added to the site "Email Matching" configuration that allows an alternate matching ID to be used | v2.214 #1064486 | 3:57

Allows more flexibility in how incoming emails are matched to tickets.

  • Useful when third-party systems modify or strip subject tags
  • Enables alternate identifiers beyond the default ticket ID
  • Be cautious of misconfiguration causing duplicate tickets
Added the ability to an apply a template to an Asset via the API | v2.214 #1063514 | 5:23

Enables automation of asset configuration through API usage.

  • Apply standardized templates programmatically
  • Useful for onboarding and asset lifecycle automation
  • Reduces manual setup for large asset imports
Added ALLFIELDSCFQA dollar variable | v2.214 #1063336 | 5:48

Introduces a new variable to output custom fields in Q&A format.

  • Outputs only custom fields instead of all ticket data
  • Cleaner formatting for forms and structured data
  • Ideal for onboarding/offboarding workflows
Added More Asset System Fields to Device Change Tracking | v2.214 #1057703 | 9:08

Improves visibility into asset changes over time.

  • Expands audit tracking for asset updates
  • Useful for compliance and troubleshooting
  • Better lifecycle visibility for managed devices
Added new $-POUSEREMAILADDRESS variable | v2.214 #1054124 | 9:20

Returns the email address of the user associated with a purchase order.

  • Useful for billing and procurement workflows
  • Helps automate communications tied to POs
  • Reduces manual lookup of requester details
Various improvements to searching in the self-service portal | v2.214 #1054111 | 9:29

Enhances usability and visibility of search results in the portal.

  • Displays result counts across categories
  • Returns more granular service-related results
  • Helpful for large or complex service catalogs
Added a setting to prevent configuration changes being pushed into an instance | v2.214 #1052480 | 12:22

Provides control over configuration synchronization.

  • Prevents unintended overwrites in managed environments
  • Useful for multi-instance or partner-managed setups
Improved the accuracy of popup notification displays when multiple rules match at once | v2.214 #1048194 | 12:33

Ensures correct popup behavior when multiple rules trigger.

  • Reduces confusion from conflicting notifications
  • Improves reliability of rule-based alerts
Added Ticket Source to the Query Builder | v2.214 #1047023 | 13:24

Makes ticket source available for reporting and filtering.

  • Improves reporting on ticket intake channels
  • Helps analyze email vs portal vs API usage
Added validation when setting email start and end tags in Email Configuration | v2.214 #1043864 | 13:37

Adds safeguards when configuring email matching tags.

  • Prevents invalid or risky configurations
  • Helps avoid ticket parsing issues
Distribution Lists can now be configured to send emails to all email addresses associated with a user | v2.214 #1040191 | 17:03

Allows distribution lists to target all email addresses tied to a user.

  • Improves communication coverage for users with multiple emails
  • Useful for shared inboxes or alias-heavy environments
  • Reduces missed notifications
Transactions in Avalara will now be created with the customer name as the customer code | v2.214 #1038916 | 17:52

Improves clarity in Avalara transaction records.

  • Replaces less meaningful IDs with readable customer names
  • Simplifies reconciliation and reporting
  • Reduces confusion during billing audits
You can now hide user action on the customer portal | v2.214 #1034684 | 18:22

Adds control over visibility of user actions in the portal.

  • Keeps portal UI clean for end users
  • Still allows backend workflows to use the action
  • Ideal for link-based or automated user actions
In User settings, you can now hide the Top Level field on Account records. Additionally, you can set a default Top Level value for Account records | v2.214 #1032938 | 27:48

Improves flexibility when using Accounts and Prospects.

  • Allows separation of accounts from standard client hierarchy
  • Supports better reporting segmentation
  • Useful for sales pipelines and CRM-style setups
You can now use the status field on an asset for dynamic field visibility on assets | v2.214 #1032001 | 30:05

Enables dynamic fields based on asset lifecycle status.

  • Show/hide fields depending on asset state
  • Useful for decommissioned or retired assets
  • Improves data relevance and UI clarity
Added option to make Asset Tag mandatory when creating serialised assets during consignment or adding stock | v2.214 #1031510 | 31:02

Ensures asset tagging consistency during stock processes.

  • Prevents incomplete asset records
  • Improves inventory accuracy
  • Helpful for asset-heavy MSPs
You can now choose which entities get committed when syncing to Avalara | v2.214 #1027858 | 32:15

Adds control over Avalara synchronization scope.

  • Reduces unnecessary sync data
  • Improves performance and clarity
  • Useful in complex billing environments
Added the ability to set the default score on Satisfaction Survey | v2.214 #1027560 | 32:24

Allows a predefined score for surveys.

  • May simplify reporting setups
  • ⚠️ Can skew satisfaction metrics if misused
  • Generally less useful than one-click feedback
The Prorating date will now show when adding Products from a Sales Order to a Recurring Invoice | v2.214 #1024043 | 34:23

Improves visibility when prorating billing items.

  • Shows when proration is applied
  • Helps validate recurring billing accuracy
  • Reduces billing confusion
A setting has been added to Sales Order Configuration so that when a Sales Order is created a Ticket is also created for the purpose of admin tasks and communication | v2.214 #1021351 | 37:06

Automatically generates a ticket alongside sales orders.

  • Provides a workspace for admin and communication
  • Useful when not using Opportunities as the workflow driver
  • Helps track fulfillment tasks
You can now set a default width for columns on column profiles | v2.214 #1019311 | 38:19

Allows column width customization in list views.

  • Helps standardize layouts across teams
  • Uses pixel-based values
  • ⚠️ Less flexible than expected (manual configuration required)
A setting has been added to View configuration to show custom lists above the Teams in the "By Team" view | v2.214 #1015344 | 40:01

Changes ordering of lists in the team view.

  • Allows prioritization of key lists
  • Minor UI improvement
  • Alternative is restructuring list hierarchy
Added Asset Status variable for Asset Custom Buttons | v2.214 #1011860 | 41:32

Adds asset status as a usable variable in buttons.

  • Enables dynamic integrations or links
  • Useful for query-based actions
  • Supports more advanced automation
Default column profiles against an entity now allows for changing the column profile view in lists | v2.214 #1009740 | 42:46

Improves flexibility when viewing lists.

  • Users can temporarily override default column profiles
  • Reverts back after refresh
  • Reduces friction when switching contexts
Added the ability to set colours for custom buttons | v2.214 #997636 | 44:35

Allows visual customization of buttons.

  • Improves UI clarity and usability
  • Helps highlight important actions
  • Particularly useful in busy workflows
Added a new type of Distribution Lists where its Members are made up of Tickets | v2.214 #996443 | 45:34

Enables distribution lists based on ticket criteria.

  • Send communications based on ticket conditions
  • Useful for alerts or incident updates
  • Adds dynamic targeting capabilities
Added the ability to set upper and lower bounds for data in forecast outputs | v2.214 #995797 | 46:16

Adds control over forecast data ranges.

  • Improves reporting accuracy
  • Helps constrain projections
  • Useful for financial planning
Azure Delta improvements | v2.214 #982118 | 46:53

Enhances performance of Azure/Entra sync.

  • Reduces load by syncing only changed records
  • Improves performance in large environments
  • Speeds up nightly sync operations
Closure details will now expand by default | v2.214 #982083 | 52:51

Improves visibility of ticket closure information.

  • Saves clicks when reviewing closed tickets
  • Useful for QA and auditing
  • Minor UX enhancement
Minor webhook performance improvements | v2.214 #979558 | 54:22

Optimizes webhook performance and payload handling.

  • Reduces payload size with lightweight options
  • Improves integration efficiency
  • Helps avoid unnecessary data transfer
Improvements to asset access control | v2.214 #968048 | 56:11

Refines permissions for asset management.

  • Better control over who can edit asset types/groups
  • Adds restrictions at role and agent level
  • Improves security and governance

April 14, 2026
8 min read

By the [run]Book: Episode 19

Episode 19 covers HaloPSA v2.212 and v2.214, focusing on admin quality-of-life improvements, billing visibility, and stronger workflow controls. Key highlights include clearing hidden ticket fields, email template previews, and improved API and invoicing capabilities.
Read post

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.

Full Feature List

v2.212 Features

Asset-Client direct link added | v2.212 #843566 | 3:18

Allows assets to be linked directly to a client instead of only via a site.

  • Adds flexibility for non-site-specific assets
  • Useful for shared or virtual infrastructure
  • Be mindful of mixed client/site relationships
Dashboard views are now logged in ReportEvent, and reports loaded through a dashboard are also marked as such when auditing report runs | v2.212 #829218 | 4:56

Improves tracking of report usage across dashboards.

  • Adds visibility into report execution
  • Useful for auditing and troubleshooting
  • Helps manage multiple report versions
Added the 'End-User' field to ticket templates | v2.212 #814411 | 5:39

Adds control over end-user assignment in templates.

  • Enables overriding default behavior
  • Useful for internal workflows
  • Helps manage ticket ownership
Added new setting to hide actions on tickets when Client or Site Account Status is set to 'Stopped' | v2.212 #812986 | 7:28

Prevents actions on tickets for stopped clients or sites.

  • Reduces accidental work on inactive accounts
  • Can still be overridden by admins
  • Useful billing/service safeguard
You can now add Client, Site and User Custom Fields to Actions | v2.212 #812793 | 8:56

Allows updating custom fields directly via actions.

  • Removes need for runbooks in many cases
  • Speeds up workflows
  • Expands automation capability
Quotes are no longer able to be approved by the user if they have expired | v2.212 #808514 | 11:52

Prevents approval of expired quotes.

  • Avoids outdated approvals
  • Improves quote lifecycle control
  • Reduces billing risk
Adding $-ORIGINALCUSTOMERINVOICEADDRESS & $-ORIGINALCUSTOMERDELIVERYADDRESS for the addresses of the original customer of an invoice | v2.212 #789655 | 13:33

Adds variables for original customer addresses.

  • Useful for parent/child billing setups
  • Improves invoice clarity
  • Supports complex billing structures
Added a setting to clear fields on the new ticket screen when they are hidden by visibility conditions | v2.212 #783474 | 14:44

Ensures hidden fields do not retain values.

  • Prevents stale or hidden data
  • Improves form reliability
  • Critical for dynamic forms
You can now filter date fields on lists, views & filter profiles by 'Greater than X days ago', 'Greater than or equal to X days ago', 'Less than X days ago' & 'Less than or equal to X days ago' | v2.212 #781279 | 15:46

Adds advanced relative date filtering.

  • Enables precise SLA and reporting views
  • Helps identify stale tickets
  • Major usability improvement
Added Email Template Preview for Email Templates | v2.212 #767443 | 18:25

Adds preview functionality for templates.

  • Speeds up testing
  • Validates variables and formatting
  • Useful for multi-language setups
Added the ability to edit meter readings on recurring invoice lines | v2.212 #727713 | 20:59

Allows editing of existing meter readings.

  • Correct mistakes without rework
  • Improves billing accuracy
  • Adds flexibility
A setting has been added to Item Group configuration so that when adding Items from a Sales Order to an Invoice the Invoice Group Name will be used to match existing groups or create new groups | v2.212 #709218 | 21:58

Improves grouping of invoice items.

  • Keeps invoices structured
  • Reduces manual effort
  • Useful for standardized billing
Option to allow the merging of assets | v2.212 #671302 | 23:07

Enables merging duplicate assets.

  • Useful for cleanup scenarios
  • Prevents duplication
  • Maintains data quality
Added the setting 'Show related Ticket count' to ticket settings | v2.212 #652167 | 23:47

Displays number of related tickets.

  • Improves visibility
  • Adds quick context
  • Enhances UX
Customers and assets can now be matched off of incoming Site24x7 alerts | v2.212 #644267 | 24:56

Enhances monitoring integration mapping.

  • Reduces manual matching
  • Improves automation
  • Better alert accuracy
An option has been added to Purchase Order Statuses so that they can be marked as "Cancelled/Do not receive stock" | v2.212 #615288 | 25:12

Adds more control to purchase order lifecycle.

  • Prevents unwanted stock processing
  • Improves procurement accuracy
  • Clearer status tracking
An option has been added to the workflow step actions for "Email from Agent" | v2.212 #572585 | 26:43

Enables workflows triggered by agent emails.

  • Supports email-driven automation
  • Useful for niche workflows
  • Expands flexibility
Google Maps Integration is now available | v2.212 #160218 | 27:18

Adds mapping and geolocation features.

  • Visualize customers/sites
  • Helps plan visits
  • Auto-generates coordinates

v2.214 Features

Added the Project Setup Wizard | v2.214 #769329 | 29:45

Introduces guided project setup.

  • Simplifies project creation
  • Early-stage usability
  • Foundation feature
Input Chat flow steps can now update Ticket Fields after a Ticket has been logged in the Chat Flow | v2.214 #1079338 | 31:11

Allows updating ticket fields post-creation in chat.

  • Improves chat workflows
  • Enables dynamic updates
  • Better self-service
It is no longer possible to delete a Top Level if it contains Customers | v2.214 #1078032 | 33:00

Prevents deletion of populated top-level structures.

  • Protects hierarchy
  • Prevents accidental data loss
  • Important safeguard
Timesheet submission/revert can now be performed from the Timesheet side panel | v2.214 #1077825 | 33:32

Improves timesheet usability.

  • Faster workflow
  • Less navigation
  • Cleaner UX
Resolved an issue with the "Attach quotation PDF when sending email" setting failing to function for Actions that send Quote emails | v2.214 #1077103 | 34:09

Fixes inconsistent quote PDF behavior.

  • Ensures settings are respected
  • Prevents incorrect attachments
  • Improves reliability
Actions with system use 'Email Quotation' now follow the Quote setting 'Attach quotation PDF when sending email' | v2.214 #1076914 | 34:47

Aligns quote email behavior with configuration.

  • Consistent output
  • Reduces confusion
  • Improves automation
Recurring Billing Profiles can now be used from the Recurring Invoice screen using the List context menu | v2.214 #1076256 | 34:56

Adds access to billing profiles from invoice screen.

  • Reduces navigation
  • Speeds up workflows
  • Useful for bulk billing
Quote variables can now be used on Ticket actions | v2.214 #1075404 | 36:06

Allows use of quote data in actions.

  • Enhances automation
  • Improves communication
  • Reduces manual entry
Item/Product Updated has been added as a runbook trigger | v2.214 #1074755 | 36:55

Adds new automation trigger.

  • Enables reactive workflows
  • Useful for inventory updates
  • Expands automation scope
Added 'Rich' as a type of field for asset fields | v2.214 #1073877 | 37:07

Adds rich text support for asset fields.

  • Supports formatted content
  • Useful for documentation
  • Allows more detailed records
A setting has been added so that when a Ticket has open Appointments/To-do lists and an SLA procedure closes it then it will not be closed and can have it's status changed instead | v2.214 #1073377 | 37:59

Prevents closure when tasks remain open.

  • Protects incomplete work
  • Improves SLA handling
  • Adds control
Option added to add approval votes to the Feed | v2.214 #1073347 | 39:18

Adds approvals to activity feed.

  • Improves visibility
  • Centralizes approvals
  • Helps auditing
A setting has been added to Self Service Portal configuration so that the "Log in to agent application" option will not show for the self service portal login form | v2.214 #1072163 | 39:43

Removes agent login option from portal.

  • Cleaner UX
  • Reduces confusion
  • Better user experience
The option to order/sequence all Lookup Codes has been added | v2.214 #1072076 | 40:41

Adds ordering control to lookup codes.

  • Improves dropdown organization
  • Helps standardization
  • Better admin control
Added a target date field to software releases | v2.214 #1069542 | 42:21

Adds planning field to releases.

  • Supports tracking
  • Useful internally
  • Minor feature
A UserGuiding container can now be added to the application and portal in Config > Advanced Settings | v2.214 #1068717 | 42:47

Enables guided onboarding tools.

  • Supports walkthroughs
  • Improves onboarding
  • External integration
Consignment line note property has been added | v2.214 #1068640 | 44:54

Adds note field to consignment lines.

  • Improves detail tracking
  • Useful for logistics
  • Adds flexibility
An option has been added to Agent and Role configuration to show all Teams for all departments in the "by team" view/tree. This will only show if "Membership level to all Departments" is used | v2.214 #1067771 | 45:36

Expands team visibility.

  • Useful for large orgs
  • Improves navigation
  • Role-based control
The UserWay widget can now be enabled withing Advanced Settings for the main application (previously only available for the self-service portal) | v2.214 #1067551 | 45:49

Extends accessibility tools to main app.

  • Improves accessibility
  • Broader coverage
  • Better compliance
A setting has been added to add a column for the last invoiced value when viewing recurring invoices in the ready for invoicing area | v2.214 #1066844 | 46:36

Displays previous invoice values.

  • Helps spot anomalies
  • Improves validation
  • Saves time
Action Billing Plan ID has been exposed to the API for the Actions endpoint | v2.214 #1066754 | 49:38

Exposes billing data to API.

  • Improves integrations
  • Enables automation
  • Adds flexibility
The Item selection used in Automation Criteria will now allow searching | v2.214 #1066435 | 49:59

Adds search to selection fields.

  • Improves usability
  • Saves time
  • Reduces friction
Choosing a User on the call screen will now follow the settings relating to a Ticket User's Client/Site relationship | v2.214 #1066332 | 50:43

Aligns call screen logic with ticket settings.

  • Improves consistency
  • Reduces errors
  • Better UX
Original Sales Order reference is now populated for Credit lines that were generated from Sales Order Invoices | v2.214 #1066311 | 51:24

Links credit lines to original sales orders.

  • Improves traceability
  • Useful for finance workflows
  • Adds clarity
An Advanced Configuration setting has been added to change the way that the primary key value is generated for Invoices and Invoice Lines | v2.214 #1065645 | 51:39

Improves invoice ID handling.

  • Supports bulk operations
  • Prevents conflicts
  • Useful for integrations
Added option to specify Application identity roles when "Agent to log in as" is not set to an Agent on a Halo API application | v2.214 #1065228 | 57:36

Introduces role-based API identity.

  • Decouples API from agents
  • Improves security model
  • Better for integrations at scale