Choosing the Right Ticket Status Colors in HaloPSA

By  
El Copeland
August 21, 2024
20 min read
Share this post

Have you implemented unique colors for your Ticket Statuses in HaloPSA?  

Coloring these Statuses adds a great Quality of Life to your Agents working tickets. Often, it is treated as a nice-to-have or “let’s just make it look pretty,” which are fine if it works for you. However, we invite you to imagine instead with us: what if you could leverage symbolic colors that guide an Agent through your defined ticket process. What if you could implement that in a reasonable way?

So, to help lessen that decision fatigue for you since we know you’re busy customizing every other setting in HaloPSA as well, here is the framework that Rising Tide uses to approach customizing these settings to help you quickly and sensibly label your Ticket Statuses. In a future article, we’ll tackle Ticket Action color codes; however, the concepts will generally remain the same.  

Laying out the Ticket Status Colors Framework

Before we jump into coloring statuses, let’s start by defining a ticket’s lifecycle according to how your Agents need to allocate their attention to those tickets, whether that is dictated by standard professionalism or ensuring SLAs are kept. For the sake of this conversation, we are going to address these ticket attention phases with the segments: Normal Attention, Elevated Attention, or Inert Attention.

Normal Attention

Ideally, your Agents receive a ticket and all things are “Go,” they have everything they need to start working, and then Close the ticket when they've successfully completed the task and can rest on their laurels (or move on to the next ticket!).

We recommend all Normal Attention tickets to be assigned “cool colors” like greens, blues, and purples. (And not cool because we think they’re rad, cool as opposed to warm colors, more information here on color theory) Statuses like New and In Progress generally belong here. We have the ticket, everything is going as planned. What a perfect, serene world. Peaceful, isn’t it?  

Unfortunately, that’s not the reality in most of our businesses! What happens when tickets require extra attention or action to ensure their timely completion?

Elevated Attention

Here in Elevated Attention is where we see statuses like Escalated, Pending Approval, or Reopened: tickets that we need to be actively thinking about and revisiting, especially ones that are keeping our SLA clock running. To inspire action and increase visibility, we’re using warm, fiery colors like Orange, Red, and Yellow.

What if there is a ticket where we cannot take immediate action, or it doesn’t warrant it? That’s our last category: Inert Attention.  

Inert Attention

There will be times when our tickets are active but there is literally nothing we can do but wait. The SLA clock isn’t running, so we don’t need to worry about taking action on these just yet: statuses like Waiting on Client or Waiting on Vendor. We recommend using greys to signify these statuses’ inactive character.  

In general, we recommend you set up HaloPSA to do most of the status setting and remembering to move tasks in and out of statuses, especially Inert-type statuses. Specifically, when setting up these Inert Attention statuses in HaloPSA, be sure to build those Ticket Statuses, Ticket Type Settings, and your related Workflows so when a ticket enters or exits an Inert status, it automatically puts the ticket on or removes it from SLA hold. You can see examples of these settings in the screen captures below.

Some examples of this recommendation in action could be:

  • Setting a Waiting on Client ticket to Attention Required when a customer replies to an email
  • Setting a Waiting on Vendor ticket to Attention Required when a Supplier updates
  • Setting a ticket to Scheduled upon creating an Appointment (Ticket Type Settings: Status after user appointment booking (resource booking), or Status after Agent creates appointment)
  • Automatically setting Waiting on Client tickets to Closed after a certain number of hours with no reply according to SLA rules you set.
SLA Settings on the Ticket Status
Status Settings on the Ticket Type

Ticket Status Colors Framework in Action

With all of these ideas in mind, we suggest as you approach customizing each ticket status, you ask:  

What type of Attention do I expect of my team at this status: Normal, Elevated, or Inert?

When you have that answer, choose a color from the suggested family. Remember that color for other statuses you may have for other Ticket Types so it stays consistent regardless of what Area your Agent is operating from!

Here are some examples for what we specifically recommend to Rising Tide Customers. You will likely not need all of them, depending on your MSP’s needs:  

Normal Attention

  • Brand New/Assigned (Waiting on You): Green — Ticket is newly created and waiting for initial action. Green indicates readiness to start and clear action needed.
  • Claimed/Work in Progress: Blue — Ticket is actively being addressed towards resolution. Blue symbolizes confidence in ongoing work and progress.  
    • We’d be remiss if we didn’t specifically call out that at Rising Tide we recommend that your Agents should not be "Claiming" tickets until they're ready to work on them.  
  • Closed: Black — The ticket has been fully resolved and all necessary actions are completed. Black signifies completion and closure of the ticket.

Elevated Attention

  • Pending Approval: Yellow — Awaiting authorization or approval to proceed. Yellow is high-visibility and unique to call attention to follow up that may be necessary.  
  • Escalated: Orange — Moved to a higher level of support due to complexity or urgency. Orange highlights urgency and attention required.
  • Customer Updated/Vendor Updated/Approver Updated: Orange— Orange is used to indicate recent release from a paused status like Waiting on Customer or Waiting on Vendor and subsequent re-instating of the current SLA timer, if applicable.  
  • Attention Required: Orange — Elevated attention needed following removal from an SLA hold.  
  • Reopened: Red — Previously closed/resolved ticket is active again due to additional issues or dissatisfaction. Red indicates a critical reactivation that needs immediate reassessment.

Inert Attention

  • Waiting on Client: Grey — Progress on the ticket is paused because it requires input or action from the client. Grey suggests inactivity from the MSP’s side, waiting on external action.  
  • Waiting on Vendor/Waiting on Parts: Grey — Progress on the ticket is halted while waiting for action or information from an external vendor. Similar to waiting on client but specific to external vendors.
  • Scheduled: PurpleScheduled could also technically be included in the Normal category, hence the cool purple. Denotes a paused status where work is planned, but no active work is required.  
  • Resolved: Teal — Similar to Scheduled, Resolved straddles the Normal category as well. The issue within the ticket has been addressed, awaiting final closure or verification from the requester. Teal is a calm yet upbeat color indicating resolution but awaiting final closure.

As with most rules, there are going to be times when items cross between phases, or you may operate differently and not define a ticket status the same way we did here.

Maybe you have some color-blind technicians on staff and decide to use completely different colors completely or none at all. (If you do want to create a color-blind friendly palette, here’s a great resource.)  

Maybe you want to choose different values (light or dark) within a certain family than what Halo provides.

Good! Break our rules. They're just here to help you decide what you do or don't actually want.

Our main recommendation is that you use your best judgement on what is right for your team and just be consistent which sometimes means keeping it simple. And let us know what you ended up doing, you may help someone else. Happy customizing!

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...
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

March 31, 2026
8 min read

By the [run]Book: Episode 18

This episode of By the Runbook breaks down HaloPSA 2.212 updates with a focus on what actually matters for MSPs. The team covers key changes to automation, ticket views, and integrations, along with practical advice on what to enable, what to watch out for, and how these updates impact real-world workflows
Read post

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

Important Mentions

Ticket details can now auto-refresh when a background automation completes | v2.212 #1003085 | 25:29

This allows the ticket screen to automatically refresh when a background automation completes.

  • Eliminates the need for manual refresh after automations run
  • Keeps available actions, workflow steps, and ticket data in sync
  • Especially useful in environments with heavy automation usage
  • ⚠️ Not enabled by default — go turn this on
Additional rule types have been added to qualification matching criteria for custom fields | v2.212 #1009694 | 19:02

Expands qualification matching to include custom field criteria.

  • Enables highly granular ticket routing and assignment logic
  • Can support advanced use cases like skill-based routing or segmentation
  • ⚠️ Powerful but rarely practical for most MSPs without significant planning
Added the option to use the incoming webhook service for QuickBooks Online webhook processing | v2.212 #1021654 | 8:39

Adds delayed and retry-based webhook processing options.

  • Helps prevent failures during high webhook volume
  • Introduces retry logic for more reliable integrations
  • ⚠️ Can introduce delays (10–15+ minutes in some cases depending on configuration)
  • ⚠️ Default behavior vs delayed processing needs to be reviewed carefully


FullFeature List


You can now restrict the ‘From’ address options on a Ticket Action to mailboxes the assigned team can access | v2.212 #1031882 | 2:50

This change limits the available “From” addresses on a ticket action to mailboxes the assigned team can actually access.

  • Prevents agents selecting mailboxes they don’t have access to
  • Reduces confusion in multi-mailbox environments
  • Helpful for teams split across departments or service lines
Added Email Address as another attribute option for the Followers field on the Self-Service Portal | v2.212 #1031728 | 3:23

Adds Email Address as another attribute option for follower behavior on the portal.

  • Improves flexibility for notifications
  • Useful for including external stakeholders
  • Expands portal configuration options
You can now edit various parts of a Mail Campaign after starting it | v2.212 #1030951 | 3:32

Allows changes to Mail Campaigns after they have started.

  • Removes need to recreate campaigns due to small mistakes
  • Makes campaigns more practical to use
  • Signals continued investment in this feature area
You can now restrict Pipeline Stages at the Opportunity Type level | v2.212 #1027853 | 4:58

Restricts pipeline stages based on opportunity type.

  • Keeps sales workflows cleaner
  • Avoids irrelevant stage options
  • Useful for more structured sales processes
Added the option to use the incoming webhook service for QuickBooks Online webhook processing | v2.212 #1021654 | 8:39

Adds webhook processing options including delayed and retry handling.

  • Helps manage high webhook volume
  • Reduces risk of dropped events
  • ⚠️ May introduce delays depending on configuration
Added in the ability to hide certain tickets from the change calendar | v2.212 #1017196 | 13:21

Adds the ability to hide tickets from the change calendar.

  • Useful for sensitive or internal tickets
  • Helps reduce noise in calendar views
  • Currently tied to the “Sensitive” flag
Service Users are Subscribed to has been added as an option to Distribution Lists and User Lists | v2.212 #1013148 | 13:55

Adds Service Users as a selectable option in distribution and user lists.

  • Expands targeting logic
  • Improves automation flexibility
  • Useful for advanced filtering scenarios
You can now send Mail Campaigns from Sales Mailboxes | v2.212 #1011772 | 14:54

Allows campaigns to be sent from sales mailboxes.

  • Improves branding and ownership
  • Separates sales vs support communications
  • ⚠️ Be cautious of Microsoft send limits
A warning will now be shown on an action and the ticket will be updated if an action email will fail to send | v2.212 #1010891 | 16:49

Adds a warning when an action email will fail.

  • Improves visibility into email failures
  • Helps prevent missed communications
  • Updates ticket automatically with failure state
Added the ability to map relationship types for parent, child, and sibling assets in SQL imports | v2.212 #1010659 | 18:17

Adds asset relationship mapping during SQL imports.

  • Preserves structure during migrations
  • Supports complex asset environments
  • Useful for onboarding/import projects
Added isRunning to Halo Asset Discovery integration | v2.212 #1010606 | 18:54

Adds an isRunning field to asset discovery.

  • Helps track discovery state
  • Useful for monitoring and automation
  • Adds visibility into background processes
Additional rule types have been added to qualification matching criteria for custom fields | v2.212 #1009694 | 19:02

Expands qualification matching with custom field rules.

  • Enables more advanced routing logic
  • Supports complex assignment scenarios
  • ⚠️ Often overkill for most MSPs
Ticket details can now auto-refresh when a background automation completes | v2.212 #1003085 | 25:29

Allows ticket view to auto-refresh after automation runs.

  • Keeps UI in sync with backend updates
  • Eliminates need for manual refresh
  • ⚠️ Not enabled by default — turn this on
Added 'Update Currency' to Quotes | v2.212 #992111 | 29:17

Adds ability to update currency values on quotes.

  • Supports multi-currency environments
  • Updates cost and price together
  • Improves quote accuracy
Added option to make a Knowledge Base's negative feedback comment mandatory | v2.212 #991702 | 30:41

Requires comments for negative KB feedback.

  • Improves feedback quality
  • Helps refine documentation
  • Useful for KB governance
New default setting for showing grandchildren in child ticket lists | v2.212 #990317 | 30:49

Adds control for showing nested tickets.

  • Improves visibility in projects
  • Useful for multi-level ticket structures
  • Configurable behavior
Improvements to AI report analysis | v2.212 #987946 | 31:27

Enhances AI reporting capabilities.

  • Can now be scheduled
  • Can be embedded in PDFs
  • ⚠️ Still not widely used in practice
Added a setting to restrict knowledge base article amendments to owners only | v2.212 #982079 | 33:06

Restricts KB edits to owners only.

  • Improves control over content
  • Prevents unintended edits
  • Supports structured documentation workflows
Added a global setting to allow users to translate actions on the portal when using Azure AI Translator | v2.212 #978595 | 33:22

Adds translation support in the portal.

  • Useful for multilingual environments
  • Improves accessibility
  • May not be necessary for all MSPs
Added the setting 'Secondary Asset MAC address field' to the Splashtop integration | v2.212 #978176 | 34:08

Adds secondary MAC address support.

  • Helps with multi-adapter devices
  • Improves asset matching
  • Integration-specific enhancement
You can now set character limits on memo and rich text custom fields | v2.212 #976975 | 34:39

Adds character limits to text fields.

  • Prevents overly large inputs
  • Improves data consistency
  • Helpful for structured data entry
Added additional fields to assist with reporting on OLAs and rules | v2.212 #976953 | 34:47

Adds more fields for OLA and rule reporting.

  • Improves internal tracking
  • Supports more detailed reporting
  • Still primarily useful for advanced setups
Added the setting 'Prevent email responses from continuing the approval flow' at approval step level | v2.212 #974172 | 39:10

Prevents approvals from email replies.

  • Avoids accidental approvals
  • Forces structured approval process
  • Improves workflow control
Added a setting to the Custom Field configuration to copy values to grandchild tickets when updated | v2.212 #970536 | 40:25

Extends field copying to deeper ticket levels.

  • Maintains consistency across ticket hierarchy
  • Useful for projects and task trees
  • Reduces manual updates
Added Primary Asset as a criteria for Runbooks | v2.212 #970066 | 40:41

Adds primary asset as a runbook condition.

  • Enables asset-based automation
  • Improves targeting of runbooks
  • Useful for device-specific workflows
Added $-AgentID as an available $ variable for Database Lookups | v2.212 #961283 | 40:48

Adds AgentID variable for lookups.

  • Expands database query capabilities
  • Useful for advanced automation
  • Improves flexibility in integrations
Added reports and dashboards to configuration change tracking | v2.212 #959264 | 40:55

Adds reporting changes to config tracking.

  • Improves audit visibility
  • Helps track admin changes
  • Pairs well with settings search feature
Filter Profiles can now be used on Child Ticket lists | v2.212 #922698 | 42:56

Adds filter profiles to child ticket views.

  • Reduces clutter (especially closed tickets)
  • Improves usability in projects
  • Strong practical improvement
Added multiple settings to the 'Other Open Tickets' views | v2.212 #882375 | 45:18

Adds more configuration options to other open tickets view.

  • Improves visibility of related tickets
  • Can be moved to its own tab
  • Enhances day-to-day ticket context