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...
July 7, 2026
8 min read

By the [run]Book: Episode 25

Episode 25 covers critical Pax8 and Ingram CSP integration warnings alongside HaloPSA v2.218 improvements to ticket rules, notifications, quotations, email matching, knowledge base documents, and the service catalogue.
Read post

In Episode 25 of By the [run]Book, Mendy Green and El Copeland continue reviewing HaloPSA version 2.218 and begin with two important CSP integration warnings. They explain why Pax8 users may need to move back to the standard HaloPSA authentication method and why Ingram Micro or CloudBlue users should inspect duplicate client mappings and recurring invoice subscription links.

The feature review covers rule-triggered ticket lookups, descriptive ticket-rule action notes, the new ticket Notification Log, configurable quotation buttons, improved incoming-email matching, email template groups, Office document knowledge base articles, SQL-powered distribution lists, and major service catalogue improvements. This episode is especially useful for HaloPSA administrators, MSP operations teams, billing teams, and consultants responsible for maintaining integrations, ticket automation, portal services, and user-facing workflows.

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

Important Mentions

Integration Issues and Administrative Warnings

Pax8 integration authentication change | 1:44

Organizations that moved their Pax8 integration to a custom developer application should consider changing the authentication type back to “Use the HaloPSA app.” Halo and Pax8 have arranged for the standard Halo application to bypass some of the rate-limiting restrictions affecting custom applications.

Changing the authentication method should not remove existing mappings, but the administrator will need to authenticate with Pax8 again.

  • Enable notifications for Halo Integrator and backend service failures.
  • Check failed Pax8 synchronization jobs promptly.
  • Manually import subscriptions when a scheduled synchronization fails.
  • Coordinate notification settings between Halo administrators because enabling the notification for one administrator may stop the general notification from being sent to the others.
Ingram Micro / CloudBlue CSP subscription warning | 5:38

Some legacy subscriptions could not be updated normally by Ingram Micro. In certain cases, the workaround created a new subscription under a duplicate client record, particularly for some Adobe subscriptions.

This can leave the correct subscription unmapped or disconnected from the recurring invoice line that is supposed to bill it.

  • Review the client and tenant mappings in the CSP integration.
  • Look for multiple tenants representing the same customer.
  • Map all applicable tenant records.
  • Confirm that recurring invoice lines are linked to the current subscriptions rather than the original legacy records.

Full Feature List

Added the setting 'Allow partial matching on the email address, network login and User matching fields' to the Virima integration | v2.218 #1063759 | 8:04

Organizations using the Virima integration can now permit partial matching across email addresses, network logins, and other user-matching fields.

Mendy and El noted that this is primarily relevant to organizations already using Virima for asset-management purposes.

Added a new Agent permission, "Can edit action visibility for users", which is now separate from "Can use the Treat as Spam button" | v2.218 #1058093 | 8:28

Halo now separates the ability to change whether an action is visible to the user from the permission to treat a ticket as spam.

This is an important permissions improvement because the Treat as Spam button can create an email rule that blocks the sender. Administrators can now allow agents to correct note visibility without also allowing them to block incoming senders.

Additional bulk update options have been added to Prospects | v2.218 #1053444 | 9:41

Additional editing options are now available when multiple prospect records are selected.

This should be useful for organizations managing prospects in Halo as part of their sales or CRM processes.

Added the tickets setting "Do not copy the ticket history when cloning a ticket" | v2.218 #1050305 | 10:20

Administrators can now prevent the original ticket history from being copied when a ticket is cloned.

This allows agents to reproduce the ticket’s structure without carrying over all previous actions and communications.

Lookups that are triggered by ticket rules can now run on the new ticket screen | v2.218 #1042248 | 10:47

Rule-triggered lookups can now execute while an agent is creating a ticket rather than waiting until the ticket has been submitted.

Lookups can run SQL and populate ticket fields dynamically. Allowing that process to occur on the new-ticket screen can improve automation and give the agent immediate visibility into the resulting field values.

  • Useful for automatically populating resolution notes, classifications, or contextual information.
  • Can reduce repetitive ticket-entry work.
  • Allows agents to confirm the lookup results before saving the ticket.
Added multi-select filtering for Statuses to Ticket Lists | v2.218 #1042200 | 12:30

Ticket lists can now be filtered by selecting multiple statuses.

Mendy noted that Groups and Filtering may provide a more modern way to organize ticket data, but multi-select filtering remains a useful option and can also apply to agent and team filters.

Added Reference field to Recurring Invoice column profiles | v2.218 #1039805 | 13:45

The Reference field can now be included in recurring invoice column profiles, giving billing teams another useful value for identifying and reviewing recurring invoices.

Added new Ticket > General Setting to enable descriptive 'Rule Applied' action notes | v2.218 #1033522 | 13:56

Halo can now create more descriptive action notes when a ticket rule is applied.

Mendy and El recommended enabling this setting because it provides better visibility into what the rule actually did instead of simply recording that a rule fired.

  • Helps troubleshoot layered ticket rules.
  • Makes the ticket history more useful to administrators.
  • Can clarify where an automation succeeded or stopped behaving as expected.
Added the ability to set column profiles on Prospects and Accounts | v2.218 #1030392 | 14:34

Prospect and account screens can now use configurable column profiles.

This is particularly useful for organizations using Halo more extensively as a CRM because the sales team can tailor the displayed information to its workflow.

Added new settings to limit the fields available as Ticket search filters | v2.218 #1029462 | 15:05

Administrators can now limit which ticket fields are available for searching.

Mendy emphasized that broader searches do not always produce better results. Restricting search to relevant fields can improve both performance and result quality, especially in larger Halo databases.

Custom fields may have their own search configuration, although the exact option appeared to have changed or moved in the version demonstrated.

Added a ticket tab for related/impacted CIs | v2.218 #1023752 | 17:49

Tickets can now include a tab that displays related or impacted configuration items.

This is primarily aimed at organizations using Halo’s more advanced ITSM, asset-relationship, and service-dependency capabilities.

You can now change the primary asset on a ticket from its asset dependency diagram by right-clicking on an asset | v2.218 #1023727 | 19:36

Agents working with asset dependency diagrams can now right-click an asset and make it the primary asset on the ticket.

This extends existing primary-asset functionality into the dependency diagram interface.

Stock received' webhook event now includes purchase order information | v2.218 #1018647 | 20:05

The Stock Received webhook now includes information about the associated purchase order.

This provides automation platforms with better context when stock is received and can support downstream purchasing, inventory, or notification workflows.

Added className tags to the cost and delivery elements on the service details screen | v2.218 #1016832 | 20:27

The cost and delivery elements on portal service-detail pages now have class names that can be targeted through custom styling.

Mendy demonstrated that the cost element uses a class such as service-cost, which allows administrators to visually distinguish pricing or delivery information on the portal.

Added the option to colour code single select ticket custom fields in column profiles | v2.218 #1011769 | 23:28

Values from single-select ticket custom fields can now be color-coded when displayed in a column profile.

This may help teams quickly scan different request types, classifications, or operational states. Mendy and El cautioned against using color as a substitute for thoughtful list design.

  • Reserve colors for information that genuinely needs attention.
  • Avoid overcrowding ticket lists with unnecessary fields.
  • Consider grouping data when grouping communicates the distinction more clearly than color alone.
Added the ability to translate language packs using Azure AI Translator for the portal only | v2.218 #1010531 | 26:41

Portal language packs can now be translated using Azure AI Translator.

This provides another option for organizations maintaining a multilingual self-service portal, although Azure Translator usage and cost should be evaluated before enabling it.

Added a Notification Log tab to tickets | v2.218 #1009704 | 27:16

A dedicated Notification Log can now be displayed on tickets.

Mendy recommended enabling it. The existing Event Log is valuable but highly technical, while the Notification Log offers a more user-friendly way to see what notifications were generated.

  • Helps investigate whether a ticket notification was created.
  • Reduces the need to inspect detailed event records.
  • Can simplify troubleshooting during implementations and ongoing support.
Added ServiceNow supplier action webhooks | v2.218 #1009500 | 28:02

Halo can now send supplier action webhooks to ServiceNow using a process similar to customer-facing ServiceNow webhooks.

Supplier webhooks can update an existing Halo ticket through actions, but they cannot create a new ticket. The Halo ticket must already exist under a customer before supplier information can be associated with it.

KB Article negative feedback tickets can now use article-related dollar variables in the summary and details | v2.218 #1008109 | 29:13

Tickets created from negative knowledge base feedback can now include article-related dollar variables in their summary and details.

This should make those tickets easier to identify and give the reviewing team more useful article context.

The button visibility on quotations is now configurable | v2.218 #1004111 | 29:28

Administrators can now control the visibility of many system buttons on quotation screens.

This can significantly reduce clutter and prevent users from seeing actions that are not relevant to their role or process. Custom buttons will continue to appear, and some system buttons cannot be configured.

  • Review the default quotation buttons before changing the setting.
  • Keep buttons required later in the quotation lifecycle enabled.
  • Test each quotation stage because some actions only appear in specific states.
You can now create Email Template Groups | v2.218 #996572 | 32:59

Email templates can now be organized into groups.

This can make a large template library easier to navigate by separating templates into categories such as ticketing, invoicing, portal communication, security, or custom templates.

Mendy noted that the feature currently focuses on organization rather than inheriting settings or CSS at the group level.

The options in Email Configuration for matching incoming emails on From/Subject and In-Reply-To header have been moved into a list to allow more granular control | v2.218 #991820 | 35:47

Incoming email-matching methods are now presented as a list, allowing administrators to control how the From address, subject, and In-Reply-To header are evaluated.

Mendy recommends using Subject and From Address OR In-Reply-To Email Header for most organizations. This helps replies remain attached to the correct ticket even when recipients or the subject line change.

Previously, enabling multiple checkboxes could require all selected conditions to match. The new configuration supports more practical either/or behavior.

Added new group PDF print options for purchase orders | v2.218 #982257 | 37:21

Purchase order PDFs now include additional group-printing options, including ways to display grouped quantities and prices.

This brings purchase order output closer to options already available for quotations and invoices.

If a Ticket Area has Team Permissions, Agents not in the allowed Teams will now be hidden in the tree view regardless of Ticket Area filters | v2.218 #971300 | 38:03

The ticket tree will now respect a ticket area’s team permissions when displaying agents, even when the ticket-area filter includes broader teams.

Mendy and El were unable to fully validate the exact behavior during the live demonstration, so organizations that depend on this permission structure should test it with representative agents and areas.

You can now set Agent idle timeout warnings in Config > Advanced Settings | v2.218 #963458 | 41:17

Agent idle timeout warnings can now be configured under Advanced Settings.

This may be helpful for organizations that want to warn users before Halo ends an inactive session, although external identity and conditional-access policies may already enforce shorter session limits.

Various improvements to the service catalogue | v2.218 #936692 | 41:53

Halo’s service catalogue now supports a more store-like request experience. Optional services can be presented alongside a primary request, and users can select items or bundles, choose quantities, and add notes.

This can support workflows where the request includes both a service and one or more physical or billable items.

  • New-user or new-computer requests can include the related equipment.
  • Clients can select optional add-ons while completing the main request.
  • Item and bundle selection can support more polished self-service purchasing workflows.
  • The configuration may require additional refinement to limit which specific items are presented.
Added the ability to consign existing unlinked assets | v2.218 #855129 | 46:46

Existing unlinked assets can now be selected during consignment when the purchase order is set to deliver to a user.

Mendy suggested that a likely use case is backfilling purchasing and ownership information after migrating existing stock into Halo. Assets that did not originate from a Halo purchase order can be linked and assigned to the correct user.

Introduced a document knowledge base article type that will display Office documents on the knowledgebase article | v2.218 #808224 | 50:01

A new knowledge base article type can display an uploaded Office document directly within the article.

Word document text can be extracted and scanned, which should allow the content to participate in Halo’s knowledge base search and AI functionality. The Halo Integrator and file-scanning functionality must be enabled.

Added a setting to use only the project’s own budgets when the parent is an opportunity ticket | v2.218 #775722 | 50:57

Projects created beneath opportunity tickets can now be configured to use only the project’s own budgets rather than inheriting budget information from the opportunity.

This keeps budget tracking focused on the actual project when the opportunity is only acting as the parent record.

Added an option to dynamic Distribution lists to use a SQL query instead of a pre defined filters | v2.218 #744258 | 52:24

Dynamic distribution lists can now be populated through a SQL query instead of relying only on predefined filters.

This gives administrators significantly more flexibility when the required membership logic cannot be represented through the standard filter options.

Added the ability to use tabs for dashboards | v2.218 #718178 | 52:35

Multiple dashboards can now be presented as tabs within a shared dashboard view.

Mendy found the current implementation difficult to configure and use, so teams should test it before replacing their existing dashboard navigation.

An option has been added to the Tenant mappings in the Microsoft CSP integration to exclude the mapped Client from Intune imports | v2.218 #571515 | 53:26

Microsoft CSP tenant mappings can now exclude a mapped client from Intune imports.

This provides more granular synchronization control for former clients or other tenants that may still exist in the Microsoft partner relationship but should no longer import Intune assets into Halo.

A setting has been added to Ticket Rules to show the resulting pop-up as a modal pop-up | v2.218 #424689 | 54:23

Ticket-rule pop-ups can now appear as modal windows instead of the default flyout notification.

A modal is harder for an agent to overlook, making it appropriate for critical instructions or warnings. It should be used selectively because repeated modal interruptions can quickly become disruptive.

June 23, 2026
8 min read

By the [run]Book: Episode 24

Episode 24 reviews HaloPSA v2.218, including Connor’s top recommendation: enable the new setting that blocks Default Contracts on Client records to protect billing rules.
Read post

In Episode 24 of By the [run]Book, Connor and Jason review HaloPSA v2.218 with a heavier focus on contracts, billing, QuickBooks, sales order workflows, and portal improvements. The standout update is the new setting to prevent Default Contracts from being used on Client records, which Connor strongly recommends enabling to avoid major billing rule issues. They also cover the new Self-Service Portal PWA option, Quick Time logging changes, Sales Order Communication Ticket improvements, and QuickBooks payment method mapping.

Watch Now: By the [run]Book: Episode 24

Important Mentions

There are limitations affecting haloreleases.remmy.dev caused by changes to the Halo API

Connor and Jason announced a new Halo AMA series starting July 1st at 8:00 AM Eastern / 1:00 PM UK. The sessions will feature Robbie, Bri, and Jason from Rising Tide, with questions pulled from the community, Discord, Reddit, and live attendees.

Full Feature List

Sales Order variables have been added to the Available Variables on Runbooks | v2.218 #1101977 | 3:06

Sales Order variables are now available inside Runbooks, giving automation builders more sales-order-specific data to reference when building workflows.

When importing Devices using the Domotz integration only mapped Agent's Devices will be imported if there are any mapped Agents - otherwise all Devices for all imported Agents will be imported | v2.218 #1100861 | 3:25

This improves how Domotz device imports behave when mapped agents exist. Connor and Jason noted that Domotz can be useful for infrastructure-heavy MSPs, especially where network scanning and switch access are important.

Sales Order Communication Tickets will now display the associated Sales Order | v2.218 #1100760 | 5:01

Sales Order Communication Tickets now show the Sales Order they are tied to, making the relationship clearer for teams managing procurement or post-sale follow-up.

  • Helpful for larger MSPs with separate sales, procurement, and fulfillment roles.
  • Connor noted some MSPs keep everything on the Opportunity instead, so this is most useful where Sales Order tickets are part of the process.
  • This can reduce confusion when multiple tickets are created around the same quote or sales flow.
The Pax8 Product/Item creation function will now match on the Vendor/Supplier SKU (Pax8 SKU) | v2.218 #1100669 | 7:34

The Pax8 Product/Item creation function will now match based on the Vendor/Supplier SKU. Connor and Jason advised caution with this area because automated Pax8 product and invoice item creation can still create duplicates or require cleanup if existing products are not mapped well.

Added a setting to specify the user ID field in SailPoint | v2.218 #1100602 | 9:56

This adds more configuration flexibility for SailPoint integrations by allowing the user ID field to be specified.

A configuration option has been added so that the "Conversation and Internal" Ticket history view will include all emails | v2.218 #1100317 | 10:22

This setting allows the Conversation and Internal ticket history view to include automated/system emails, such as acknowledgement emails.

  • Useful when troubleshooting whether system-generated emails were sent.
  • Connor pointed out that hidden actions can make ticket history harder to follow, so showing more email activity can help admins and agents understand what happened.
Added minor changes to the Pax8 configuration screen to improve the set-up process | v2.218 #1100194 | 12:29

Minor setup improvements were added to the Pax8 configuration screen. Connor and Jason did not identify a major visible change during the review.

Invoice Due Date can now be updated from the Invoice List | v2.218 #1099985 | 13:14

Invoice due dates can now be bulk updated directly from the Invoice List, which may help billing teams adjust multiple invoices without opening each invoice individually.

When using the Quickbooks integration you can assign a Quickbooks Payment Method to a Halo Payment method and this will be used when pushing Payments from Halo to Quickbooks | v2.218 #1099714 | 13:56

Halo payment methods can now be mapped to QuickBooks payment methods when payments are pushed from Halo to QuickBooks.

  • Useful for MSPs recording payments in Halo and syncing them to QuickBooks.
  • Helps keep payment method reporting cleaner in QuickBooks.
  • Connor noted many MSPs may receive payment data into Halo instead of pushing it out, so this mainly matters for teams using Halo as the payment source.
Hosted customers can now install the Self-Service Portal as a Progressive Web App | v2.218 #1099594 | 15:14

Hosted customers can now install the Self-Service Portal as a Progressive Web App. Connor and Jason discussed how this could make portal access feel more app-like for end users.

  • The portal can be installed on a desktop or mobile device.
  • App name, description, and icon can be customized.
  • This may be useful for MSPs that want a branded, easy-access client portal experience.
Stock Quantity can now be shown as a column using Sales Order Line column profiles | v2.218 #1099248 | 17:11

Stock Quantity can now be added to Sales Order Line column profiles, giving teams more control over what inventory information appears on sales order lines.

A column for "published" will now show on the dashboard list | v2.218 #1099130 | 19:58

The dashboard list now includes a Published column, making it easier to see which dashboards are currently published without opening each one.

An option for using mTLS (Mutual TLS) has been added as an authentication option for custom integrations | v2.218 #1098487 | 20:17

Custom integrations now support mTLS as an authentication option. This is most relevant for integrations requiring certificate-based mutual authentication between systems.

A configuration option has been added to allow the Action used for logging time from Timesheets to be overridden | v2.218 #1098475 | 21:03

This setting allows the action used for logging time from Timesheets, specifically Quick Time behavior, to be overridden. Connor and Jason spent time testing and discussing this because the release note was not very clear.

  • Connor generally prefers structured ticket-based time logging over Quick Time.
  • Jason explained that Quick Time still needs an underlying ticket and action to log time.
  • This may allow more customization of how Quick Time logs time, but it is worth testing before relying on it.
Pro-rata options will now show correctly on the Sales Order -> Recurring Invoice pop-up | v2.218 #1095834 | 27:26

Pro-rata options now show correctly when working from Sales Orders to the Recurring Invoice pop-up. Connor and Jason treated this more like a fix than a major new feature.

A setting has been added to Contract configuration to stop the Default Contract property from being used against Client records | v2.218 #1093850 | 28:05

This was Connor and Jason’s clear favorite feature of the episode. The new setting prevents users from setting a Default Contract directly on the Client record, which can override billing rules and cause major billing issues.

  • Connor strongly recommended enabling this setting.
  • The Default Contract field can cause all time to attach to a single contract.
  • This can break carefully configured billing templates and contract rules.
  • Connor noted this is not usually done maliciously; it is just an easy mistake for users to make.
  • Best practice from the episode: turn this on unless you have a very specific reason to send all time to one contract.
An option has been added to the Quickbooks integration to allow the Halo Third Party Customer name to be used instead of the Halo Customer Name | v2.218 #1093788 | 34:51

This QuickBooks option allows Halo to use the Third Party Customer Name instead of the Halo Customer Name when creating or syncing customers to QuickBooks.

A setting has been added to Contract Configuration to filter Contract selection on Tickets to show only Site Contracts if there are any | v2.218 #1092757 | 35:25

This setting filters contract selection on tickets so that site-specific contracts are shown when they exist. Connor and Jason noted that site-level contracts can get complicated and are likely an edge case for most MSPs.

The Google Maps latitude and longitude lookup will now use Country and Region if enabled and populated | v2.218 #1092350 | 39:53

Google Maps latitude and longitude lookup now uses Country and Region when those fields are enabled and populated. Connor showed how this can support map-based customer or prospect views, though he also noted Google API setup can be painful.

Access control query improvements | v2.218 #1091628 | 42:36

This improves access control queries and includes an option around agent department access control. Jason noted that disabling department-based access control may offer a performance benefit if it is not needed.

Added Created By column to Purchase Orders | v2.218 #1091115 | 44:20

Purchase Orders now have a Created By column available, making it easier to identify who created a purchase order.

Added Description, Creation Date and Created By fields to API applications | v2.218 #1081398 | 44:24

API applications now include Description, Creation Date, and Created By fields, improving visibility and auditability for API app management.

Added multiple condition types to asset field and button restrictions | v2.218 #1080355 | 44:35

Additional condition types have been added for asset field and button restrictions. Connor noted the release note did not clarify exactly which condition types were added.

Added "Closed by" field to Ticket Column Profiles | v2.218 #1076139 | 45:13

Ticket Column Profiles can now include the Closed By field, making it easier to report or filter based on who closed a ticket.

Client and Site level Event triggers can now use Custom Field values as Criteria | v2.218 #1072255 | 45:28

Client and Site level Event triggers can now use Custom Field values as criteria. This adds more flexibility when building automations or event-driven workflows based on client or site data.

The Resolution Finder now matches knowledge base articles using tags only for whole-word matches | v2.218 #1066947 | 46:51

Resolution Finder matching now uses tags only for whole-word matches. Connor and Jason discussed the broader challenge of KB usefulness, noting that KBs are strongest when they support real process guidance rather than generic articles.

Added a new variable $-ALLFIELDSCARD to display a styled version of the ALLFIELDS table | v2.218 #1065730 | 49:53

A new $-ALLFIELDSCARD variable displays a styled version of the ALLFIELDS table. Connor and Jason liked the cleaner presentation and showed how it makes field output easier to read.

June 9, 2026
8 min read

By the [run]Book: Episode 23

Episode 23 of By the [run]Book covers HaloPSA v2.216, including AI acknowledgement emails, ticket and project charge rate restrictions, report audit timestamps, Microsoft CSP subscription imports, and Runbook enhancements. The team also discusses recent Halo API changes affecting haloreleases.remmy.dev, Microsoft's upcoming July 1st pricing changes, and Renada's Teams-based Ticket Swarm approach for rapid ticket collaboration.
Read post

In Episode 23 of By the [run]Book, Connor Fagan and Jason Parsons walk through HaloPSA v2.216, covering a mix of quality-of-life improvements, automation enhancements, reporting updates, and billing controls. Highlights include new ticket-level charge rate restrictions, report audit timestamps, Microsoft CSP subscription import improvements, AI-generated acknowledgment emails, and several Runbook enhancements. The discussion also covers important industry updates, including Microsoft’s July 1st pricing changes, limitations introduced to haloreleases.Remmy.dev due to Halo API changes, and Renada’s Teams-based "Ticket Swarm" approach for urgent ticket collaboration.

Watch Now: By the [run]Book: Episode 23

Important Mentions

There are limitations affecting haloreleases.remmy.dev caused by changes to the Halo API

Microsoft’s July 1st pricing Changes

Check out Renada's instructional video - Ticket Swarm into Microsoft Teams

Full Feature List

There is now an option to hide the Task event type when creating an appointment | v2.216 #1004798 | 3:08

This gives administrators the ability to remove the Task event type from appointment creation screens.

The hosts recommended enabling this for most environments because Task event types do not synchronize with Microsoft 365 calendars, while Appointment types do.

Various improvements to maintenance windows and change freeze periods | v2.216 #993209 | 5:01

A collection of enhancements focused on Halo's ITSM change management functionality.

The discussion noted that this will likely be most valuable for organizations using formal maintenance windows and change approval processes rather than traditional MSP service desks.

You can now choose to use Criteria Groups on Ticket Rules | v2.216 #992806 | 6:02

Criteria Groups continue to expand throughout Halo and are now available within Ticket Rules.

This allows administrators to build more advanced AND/OR logic inside a single rule rather than creating multiple rules to achieve the same outcome.

Added a "Restrict field visibility to specific entities" option for CRM note custom fields, enabling admins to control which entities (Client, Site, or User) the field appears on | v2.216 #985216 | 8:11

CRM Note custom fields can now be limited to specific entity types.

This helps keep note forms cleaner by ensuring fields only appear where they are actually relevant.

Added new global Chat setting - "Prevent multiple agents from connecting to a live chat simultaneously" | v2.216 #985181 | 13:10

A new safeguard prevents multiple technicians from accidentally joining the same chat session.

For teams using Halo Chat, this can help reduce duplicate responses and ownership confusion.

Added 'Current Time' and 'Day of Week' as new Chat flow criteria | v2.216 #984329 | 14:32

Chat Flows can now make decisions based on the current time and day of the week.

This opens up more options for business-hours routing and after-hours automation.

Added SLA response/resolution breached criteria for Ticket Lists and Ticket Areas | v2.216 #983753 | 14:39

Administrators can now separately filter against Response SLA breaches and Resolution SLA breaches.

The hosts felt this provides greater reporting flexibility and allows teams to focus on the SLA metrics that matter most to their business.

Fields with an override display field now show the override name in field lists | v2.216 #982790 | 16:03

Field lists now display the override name rather than only the original field name.

A small but useful quality-of-life improvement when working with heavily customized environments.

Tanium user matching improvements | v2.216 #981827 | 16:31

Improves user matching behaviour within the Tanium integration.

The hosts did not spend much time on this feature but noted it should improve synchronization accuracy.

You can now set a custom refresh rate for widgets | v2.216 #979334 | 17:16

Dashboard widgets can now have their own refresh intervals.

Administrators can balance dashboard responsiveness against system performance by selecting refresh periods between 30 seconds and 1 hour.

Added the "include_all_custom_fields" HTTP parameter when listing Assets via the API | v2.216 #972951 | 17:47

A new API parameter allows integrations to retrieve all custom fields when querying assets.

Useful for developers and anyone building integrations around Halo asset data.

Added a setting to give more control over which action fields copy to children when adding actions to parent tickets | v2.216 #967903 | 23:02

Provides additional control over how information flows between parent and child tickets.

The hosts discussed several possible use cases but agreed this will require additional testing to fully understand its impact.

Added in a setting that allows you to define the default Rich Editor Toolbar style | v2.216 #967368 | 27:01

Administrators can now define the default layout used by the rich text editor toolbar.

A simple quality-of-life improvement for organizations that prefer a cleaner editor experience.

You can now use $-APPOINTMENTBOOKING{X} to link an End User to a specific booking type | v2.216 #963310 | 27:50

Appointment booking links can now direct users to specific booking types.

This provides more flexibility when building self-service appointment workflows.

Added AI Acknowledgement Emails at Ticket Type Level | v2.216 #920858 | 29:42

AI-generated acknowledgement emails can now be configured at the Ticket Type level.

The feature allows custom prompts and automated responses tailored to specific ticket categories. The hosts felt this could be useful for gathering additional information from end users before an engineer begins working the ticket, but recommended careful testing before broad adoption.

Added a runbook setting to log a ticket after X failed attempts in a row | v2.216 #896368 | 34:49

One of the most practical automation improvements discussed during the episode.

When a Runbook repeatedly fails, Halo can now automatically create a ticket.

The hosts strongly recommended enabling this for Runbook deployments to improve visibility into automation failures and reduce troubleshooting time.

Added a setting to Etilize to only show items with a Price | v2.216 #804419 | 36:58

Adds an option to filter out catalog items that do not contain pricing information.

A small but useful improvement for teams relying on Etilize product searches.

Creation date and last edited date is now displayed on reports | v2.216 #801011 | 38:06

One of the hosts' favourite additions in this release.

Reports now display who last modified them and when the modification occurred, making report management significantly easier in larger environments.

Popup notes set as modal will now have to be acknowledged before they are closed | v2.216 #793283 | 39:44

Modal popup notes now require acknowledgement before dismissal.

This helps ensure important information is actually seen by technicians.

Added an individual toggle for KB article links per page when enabled | v2.216 #787515 | 41:33

Provides additional control over Knowledge Base article link behaviour.

The feature was only briefly discussed during the episode.

You can now import Subscription products from Microsoft CSP | v2.216 #779249 | 42:28

Improves Microsoft CSP product import functionality.

The hosts highlighted this alongside Microsoft's upcoming pricing changes and discussed how it may simplify subscription management.

Runbook improvements for uploading and downloading of files | v2.216 #749478 | 44:32

Adds additional file handling capabilities to Runbooks.

Useful for workflows involving document processing, attachments, and API-driven automation.

Charge Rate restrictions have been added to Ticket/Project level | v2.216 #650036 | 45:26

This generated one of the longest discussions of the episode.

The feature allows charge rate controls to be configured directly against tickets and projects. While it provides significant flexibility, the hosts cautioned that excessive customization could make billing troubleshooting considerably more difficult.

Options have been added to Resource Booking Types to override the "Minimum minutes" and "Maximum days" for available timeslots | v2.216 #461773 | 51:01

Resource Booking Types can now define their own scheduling limits rather than relying entirely on global settings.

Bills can now be created independently from Purchase Orders | v2.216 #452557 | 51:10

Allows Bills to be created without requiring an associated Purchase Order.

A useful addition for organizations with more flexible purchasing processes.

The current Item Price/Cost will now show on the hint for the Price/Cost on an Invoice | v2.216 #437921 | 51:30

Invoice pricing fields now display the current item price or cost as a reference.

The hosts questioned some of the terminology used but agreed the additional visibility could be helpful.

Sophos Integration is now available | v2.216 #234500 | 53:16

Halo now includes a Sophos integration.

The discussion focused primarily on alert synchronization and early integration improvements since its initial release.