By the [run]Book: Episode 16

By  
Mendy Green
March 3, 2026
20 min read
Share this post

In Episode 16 of By the [run]Book, Mendy and Robbie continue reviewing HaloPSA v2.210, covering a wide range of updates across billing, workflows, integrations, AI, and asset management. The episode highlights several settings MSPs should review immediately—especially a billing change that can lock recalculation—as well as improvements to ticket automation, AI categorization, and service desk efficiency.

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

Interesting Features

Editing billing time allocation will lock billing recalculation | v2.21 #1044274
A setting has been added to Billing configuration so that editing the billing time allocation on an action will lock the ticket from billing recalculation.

  • This setting can cause technicians to unintentionally override billing rules.
  • When enabled, Halo will lock the time entry and prevent recalculation of billing.
  • If your billing rules rely on rounding, billing plans, or multipliers, this can break those calculations.
  • Recommendation: Check your system and make sure this setting is turned off unless you intentionally want technicians to override billing behavior.

Credit notes can default to today’s date | v2.21 #1042924
A setting has been added to Credit Note configuration so that the Credit Date is set to today's date instead of the Invoice Date.

  • Helps keep financial reporting aligned with the actual credit date.
  • Prevents credits from affecting historical invoice periods.
  • Recommended to enable for most accounting workflows.

Auto-assign the next unassigned ticket when closing a ticket | v2.21 #1003964
Added a new setting that automatically assigns an Agent the next available Unassigned Ticket when they close a Ticket.

  • Great for service desks using load-balanced queues.
  • Reduces technician idle time between tickets.
  • Keeps agents moving directly to the next available task.

Parent tickets can inherit dates from child tickets | v2.21 #975755
Added a new Ticket Type setting: "Automatically set Start Date and Target Date based on Child Tickets".

  • Especially useful for project-level tickets.
  • Automatically keeps parent ticket timelines aligned with underlying tasks.
  • Reduces manual date management in complex projects.

FullFeature List

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.21 #1044974 | 2:35

This setting adds a new option for grouping ticket entities during invoice creation in the Ready for Invoicing area.

  • Provides an additional way to organize invoice entities
  • May help improve visibility when reviewing invoice lines before creation

A setting has been added to Billing configuration so that editing the billing time allocation on an action will lock the ticket from billing recalculation | v2.21 #1044274 | 5:24

This setting locks a ticket from billing recalculation when billing time allocation is edited on an action.

  • Prevents automated billing recalculation rules from applying
  • Technicians may unintentionally override billing rules
  • Locked entries must be manually unlocked before recalculating

The variable $_OPPVALUEADJUSTED has been added for the Opportunity Value | v2.21 #1043479 | 9:44

A new variable has been added for adjusted opportunity value.

  • Useful for workflows and automation referencing opportunity value
  • Allows adjusted opportunity calculations to be referenced more easily

Setting a workflow step outcome is now mandatory so that invalid step cannot be set | v2.21 #1043033 | 10:16

Workflow steps now require an outcome to be selected.

  • Helps prevent broken workflows
  • Ensures invalid workflow steps cannot be set

A setting has been added so that during Invoice creation the Invoice Address of the Customer's main Site will be used by default | v2.21 #1042925 | 11:09

Invoices can now default to the customer’s main site address.

  • Helps standardize billing addresses
  • Reduces manual selection during invoice creation

A setting has been added to Credit Note configuration so that the Credit Date is set to today's date instead of the Invoice Date | v2.21 #1042924 | 12:52

Credit notes can now default to today’s date instead of the original invoice date.

  • Helps maintain accurate financial periods
  • Prevents backdating credits to historical invoices

A setting has been added to Email configuration that will cause prefixes such as FW: and RE: to be stripped from the beginning of emails when creating new Tickets | v2.21 #1041025 | 13:11

Halo can now remove FW: and RE: prefixes when creating tickets from email subjects.

  • Keeps ticket subjects cleaner
  • May improve consistency in ticket titles

Added AI Generated Summary as an available column in ticket column profiles | v2.21 #1037790 | 14:26

AI generated summaries can now be displayed in ticket column profiles.

  • Helps technicians quickly understand ticket context
  • Useful for triage and queue management

Added the setting 'Enable config change tracking for Services' to advanced settings | v2.21 #1032549 | 14:57

A new advanced setting enables configuration change tracking for Services.

  • Improves auditing of configuration changes
  • Useful for environments that track service configuration history

Added global setting in Asset Management to add a read-only field that displays an asset's DID | v2.21 #1027632 | 22:59

A global setting can now display the asset DID as a read-only field.

  • Makes it easier to reference internal asset IDs
  • Helpful for integrations and troubleshooting

Added the ability to specify different client credentials per instance for custom integrations | v2.21 #1027506 | 23:15

Custom integrations can now use separate credentials per instance.

  • Useful for environments running test and production instances
  • Improves credential separation and security

"Main Site Address" can now be used as a field on Client and Site column profiles | v2.21 #1024856 | 23:37

The Main Site Address field can now be used in client and site column profiles.

  • Provides more flexibility when building list views
  • Helps surface key address information quickly

Added a new way to load the instances area to improve performance | v2.21 #1024619 | 24:06

The instances area has been updated with a new loading method to improve performance.

  • Helps reduce delays in environments managing multiple instances

A setting has been added to Contract configuration that allows Tickets to be created from Contract Schedules to be created a specified number of days before the Appointment date | v2.21 #1024527 | 24:29

Tickets generated from Contract Schedules can now be created a specified number of days before the appointment date.

  • Helps teams prepare for upcoming scheduled work
  • Useful for recurring service or maintenance visits

Added Owning Portfolio/Service/Business Application/CI as fields that are available to use in asset column profiles | v2.21 #1023421 | 25:39

Additional ownership-related fields are now available in asset column profiles.

  • Improves visibility across assets tied to services and business applications

Added the ability to customise which fields show on the asset dependency diagram | v2.21 #1023353 | 25:48

Asset dependency diagrams can now display customizable fields.

  • Makes dependency diagrams more flexible
  • Allows teams to tailor diagrams to relevant asset data

You can now use the query param 'include_website=true' on the get all endpoint of client to include the website in the response | v2.21 #1018061 | 25:57

The client API endpoint can now return website data when requested.

  • Useful for API integrations and reporting tools

Multiple Improvements have been made to the Twilio for WhatsApp Business Integration | v2.21 #1016946 | 26:11

The Twilio WhatsApp integration has received multiple improvements.

  • Enhances messaging support workflows
  • Improves integration functionality

Added a setting to disable assignment rules when syncing to Salesforce | v2.21 #1016418 | 27:58

Assignment rules can now be disabled during Salesforce sync.

  • Provides more control over record ownership during integration

Added 'Secret in URI Parameter' as an authentication type for triggering a runbook by a webhook | v2.21 #1011441 | 28:05

Runbooks triggered via webhook can now use a secret URI parameter for authentication.

  • Improves security when using webhook triggers

Added default user field for HubSpot quote import | v2.21 #1011046 | 28:44

HubSpot quote imports now include a default user field.

  • Helps assign imported quotes to a default user

Added a new setting that automatically assigns an Agent the next available Unassigned Ticket when they close a Ticket | v2.21 #1003964 | 28:47

Agents can automatically receive the next unassigned ticket when they close one.

  • Ideal for load-balanced service desks
  • Keeps technicians working through the queue continuously

The Chat Bot can now pull data from browser local storage on Input steps | v2.21 #999644 | 29:45

Chat Bot input steps can now access browser local storage.

  • Allows chatbot workflows to use browser-stored data

Added more configuration options for asset system fields | v2.21 #997653 | 30:52

Additional configuration options are now available for asset system fields.

  • Provides more flexibility when customizing asset fields

Added Dynamic Button Visibility to asset custom buttons | v2.21 #997641 | 31:11

Asset custom buttons now support dynamic visibility.

  • Allows buttons to appear only when relevant

Added SQL Lookups to Asset Fields | v2.21 #995633 | 37:06

Asset fields can now perform SQL lookups.

  • Enables dynamic population of asset field data
  • Useful for integrations and advanced automation

Allowed selection of a stock bin for non-serialised assets | v2.21 #989995 | 38:11

Stock bins can now be selected for non-serialized assets.

  • Improves stock and inventory management workflows

Added Days Before and After Now date validation options for date custom fields | v2.21 #984104 | 38:24

Date custom fields now support validation rules relative to the current date.

  • Enables rules like “must be X days before or after today”

"Workflow Stage" field is now available on the report query builder | v2.21 #980651 | 39:43

Workflow Stage can now be used in the report query builder.

  • Expands reporting options for workflow-based processes

Improvements to the New Relic integration | v2.21 #978676 | 40:26

The New Relic integration has received improvements.

  • Enhances monitoring integration capabilities

You can now configure whether the phone number field is mandatory at the Ticket Type level when End-Users raise tickets anonymously via the Portal | v2.21 #976768 | 40:33

The phone number requirement for anonymous portal tickets can now be configured per ticket type.

  • Gives more flexibility in portal form requirements

Added a new Ticket Type setting: "Automatically set Start Date and Target Date based on Child Tickets" | v2.21 #975755 | 40:41

Parent tickets can automatically derive start and target dates from their child tickets.

  • Very useful for project and multi-ticket workflows

Added new option to allow AI to suggest a category value from a configurable list of category values | v2.21 #972984 | 41:55

AI can now suggest ticket categories from a configurable list.

  • Helps standardize ticket categorization

Added the setting 'Allow Agent Site Restrictions to restrict against the Site's User's and the Site's Organisation' in users settings | v2.21 #965724 | 46:23

A new setting expands how Agent Site Restrictions apply to users and organizations.

  • Useful for environments with strict site access controls

Added an option to determine how the unique ID of appointments is calculated | v2.21 #961168 | 48:39

Halo now allows configuration of how appointment unique IDs are generated.

  • Relevant for calendar and scheduling integrations

Share this post
Mendy Green

I'm passionate about IT, driven by a dual love for solving complex problems and a commitment to transforming the stereotype of technical support into a positive and enjoyable user experience. For over 13 years, I've been deeply involved in the MSPGeek community, lending my expertise to various Managed Service Providers (MSPs), while also serving as the CTO at IntelliComp Technologies.

My journey in the tech world is fueled by a passion for teaching others. I find great satisfaction in imparting problem-solving and critical thinking skills, and offering practical guidance during the troubleshooting process. It's this enthusiasm for mentorship and improvement that led me to my current venture.

Today, as the founder of Rising Tide, I'm focusing on the MSP industry, dedicating my time to coaching and assisting both individuals and businesses. At Rising Tide, we're not just about providing solutions; we're about nurturing growth, fostering innovation, and building a community where everyone can rise together. Whether it's through hands-on problem solving or strategic planning, my goal is to make the IT experience not just efficient, but also empowering and enjoyable

See some more of our most recent posts...
March 3, 2026
8 min read

By the [run]Book: Episode 16

Episode 16 of By the [run]Book continues the walkthrough of HaloPSA v2.210, covering updates to billing behavior, ticket automation, AI features, and asset management improvements. Mendy and Robbie highlight several settings MSPs should review carefully—especially a billing change that can lock recalculation—and share practical insights on how these updates may impact real-world workflows.
Read post

In Episode 16 of By the [run]Book, Mendy and Robbie continue reviewing HaloPSA v2.210, covering a wide range of updates across billing, workflows, integrations, AI, and asset management. The episode highlights several settings MSPs should review immediately—especially a billing change that can lock recalculation—as well as improvements to ticket automation, AI categorization, and service desk efficiency.

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

Interesting Features

Editing billing time allocation will lock billing recalculation | v2.21 #1044274
A setting has been added to Billing configuration so that editing the billing time allocation on an action will lock the ticket from billing recalculation.

  • This setting can cause technicians to unintentionally override billing rules.
  • When enabled, Halo will lock the time entry and prevent recalculation of billing.
  • If your billing rules rely on rounding, billing plans, or multipliers, this can break those calculations.
  • Recommendation: Check your system and make sure this setting is turned off unless you intentionally want technicians to override billing behavior.

Credit notes can default to today’s date | v2.21 #1042924
A setting has been added to Credit Note configuration so that the Credit Date is set to today's date instead of the Invoice Date.

  • Helps keep financial reporting aligned with the actual credit date.
  • Prevents credits from affecting historical invoice periods.
  • Recommended to enable for most accounting workflows.

Auto-assign the next unassigned ticket when closing a ticket | v2.21 #1003964
Added a new setting that automatically assigns an Agent the next available Unassigned Ticket when they close a Ticket.

  • Great for service desks using load-balanced queues.
  • Reduces technician idle time between tickets.
  • Keeps agents moving directly to the next available task.

Parent tickets can inherit dates from child tickets | v2.21 #975755
Added a new Ticket Type setting: "Automatically set Start Date and Target Date based on Child Tickets".

  • Especially useful for project-level tickets.
  • Automatically keeps parent ticket timelines aligned with underlying tasks.
  • Reduces manual date management in complex projects.

FullFeature List

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.21 #1044974 | 2:35

This setting adds a new option for grouping ticket entities during invoice creation in the Ready for Invoicing area.

  • Provides an additional way to organize invoice entities
  • May help improve visibility when reviewing invoice lines before creation

A setting has been added to Billing configuration so that editing the billing time allocation on an action will lock the ticket from billing recalculation | v2.21 #1044274 | 5:24

This setting locks a ticket from billing recalculation when billing time allocation is edited on an action.

  • Prevents automated billing recalculation rules from applying
  • Technicians may unintentionally override billing rules
  • Locked entries must be manually unlocked before recalculating

The variable $_OPPVALUEADJUSTED has been added for the Opportunity Value | v2.21 #1043479 | 9:44

A new variable has been added for adjusted opportunity value.

  • Useful for workflows and automation referencing opportunity value
  • Allows adjusted opportunity calculations to be referenced more easily

Setting a workflow step outcome is now mandatory so that invalid step cannot be set | v2.21 #1043033 | 10:16

Workflow steps now require an outcome to be selected.

  • Helps prevent broken workflows
  • Ensures invalid workflow steps cannot be set

A setting has been added so that during Invoice creation the Invoice Address of the Customer's main Site will be used by default | v2.21 #1042925 | 11:09

Invoices can now default to the customer’s main site address.

  • Helps standardize billing addresses
  • Reduces manual selection during invoice creation

A setting has been added to Credit Note configuration so that the Credit Date is set to today's date instead of the Invoice Date | v2.21 #1042924 | 12:52

Credit notes can now default to today’s date instead of the original invoice date.

  • Helps maintain accurate financial periods
  • Prevents backdating credits to historical invoices

A setting has been added to Email configuration that will cause prefixes such as FW: and RE: to be stripped from the beginning of emails when creating new Tickets | v2.21 #1041025 | 13:11

Halo can now remove FW: and RE: prefixes when creating tickets from email subjects.

  • Keeps ticket subjects cleaner
  • May improve consistency in ticket titles

Added AI Generated Summary as an available column in ticket column profiles | v2.21 #1037790 | 14:26

AI generated summaries can now be displayed in ticket column profiles.

  • Helps technicians quickly understand ticket context
  • Useful for triage and queue management

Added the setting 'Enable config change tracking for Services' to advanced settings | v2.21 #1032549 | 14:57

A new advanced setting enables configuration change tracking for Services.

  • Improves auditing of configuration changes
  • Useful for environments that track service configuration history

Added global setting in Asset Management to add a read-only field that displays an asset's DID | v2.21 #1027632 | 22:59

A global setting can now display the asset DID as a read-only field.

  • Makes it easier to reference internal asset IDs
  • Helpful for integrations and troubleshooting

Added the ability to specify different client credentials per instance for custom integrations | v2.21 #1027506 | 23:15

Custom integrations can now use separate credentials per instance.

  • Useful for environments running test and production instances
  • Improves credential separation and security

"Main Site Address" can now be used as a field on Client and Site column profiles | v2.21 #1024856 | 23:37

The Main Site Address field can now be used in client and site column profiles.

  • Provides more flexibility when building list views
  • Helps surface key address information quickly

Added a new way to load the instances area to improve performance | v2.21 #1024619 | 24:06

The instances area has been updated with a new loading method to improve performance.

  • Helps reduce delays in environments managing multiple instances

A setting has been added to Contract configuration that allows Tickets to be created from Contract Schedules to be created a specified number of days before the Appointment date | v2.21 #1024527 | 24:29

Tickets generated from Contract Schedules can now be created a specified number of days before the appointment date.

  • Helps teams prepare for upcoming scheduled work
  • Useful for recurring service or maintenance visits

Added Owning Portfolio/Service/Business Application/CI as fields that are available to use in asset column profiles | v2.21 #1023421 | 25:39

Additional ownership-related fields are now available in asset column profiles.

  • Improves visibility across assets tied to services and business applications

Added the ability to customise which fields show on the asset dependency diagram | v2.21 #1023353 | 25:48

Asset dependency diagrams can now display customizable fields.

  • Makes dependency diagrams more flexible
  • Allows teams to tailor diagrams to relevant asset data

You can now use the query param 'include_website=true' on the get all endpoint of client to include the website in the response | v2.21 #1018061 | 25:57

The client API endpoint can now return website data when requested.

  • Useful for API integrations and reporting tools

Multiple Improvements have been made to the Twilio for WhatsApp Business Integration | v2.21 #1016946 | 26:11

The Twilio WhatsApp integration has received multiple improvements.

  • Enhances messaging support workflows
  • Improves integration functionality

Added a setting to disable assignment rules when syncing to Salesforce | v2.21 #1016418 | 27:58

Assignment rules can now be disabled during Salesforce sync.

  • Provides more control over record ownership during integration

Added 'Secret in URI Parameter' as an authentication type for triggering a runbook by a webhook | v2.21 #1011441 | 28:05

Runbooks triggered via webhook can now use a secret URI parameter for authentication.

  • Improves security when using webhook triggers

Added default user field for HubSpot quote import | v2.21 #1011046 | 28:44

HubSpot quote imports now include a default user field.

  • Helps assign imported quotes to a default user

Added a new setting that automatically assigns an Agent the next available Unassigned Ticket when they close a Ticket | v2.21 #1003964 | 28:47

Agents can automatically receive the next unassigned ticket when they close one.

  • Ideal for load-balanced service desks
  • Keeps technicians working through the queue continuously

The Chat Bot can now pull data from browser local storage on Input steps | v2.21 #999644 | 29:45

Chat Bot input steps can now access browser local storage.

  • Allows chatbot workflows to use browser-stored data

Added more configuration options for asset system fields | v2.21 #997653 | 30:52

Additional configuration options are now available for asset system fields.

  • Provides more flexibility when customizing asset fields

Added Dynamic Button Visibility to asset custom buttons | v2.21 #997641 | 31:11

Asset custom buttons now support dynamic visibility.

  • Allows buttons to appear only when relevant

Added SQL Lookups to Asset Fields | v2.21 #995633 | 37:06

Asset fields can now perform SQL lookups.

  • Enables dynamic population of asset field data
  • Useful for integrations and advanced automation

Allowed selection of a stock bin for non-serialised assets | v2.21 #989995 | 38:11

Stock bins can now be selected for non-serialized assets.

  • Improves stock and inventory management workflows

Added Days Before and After Now date validation options for date custom fields | v2.21 #984104 | 38:24

Date custom fields now support validation rules relative to the current date.

  • Enables rules like “must be X days before or after today”

"Workflow Stage" field is now available on the report query builder | v2.21 #980651 | 39:43

Workflow Stage can now be used in the report query builder.

  • Expands reporting options for workflow-based processes

Improvements to the New Relic integration | v2.21 #978676 | 40:26

The New Relic integration has received improvements.

  • Enhances monitoring integration capabilities

You can now configure whether the phone number field is mandatory at the Ticket Type level when End-Users raise tickets anonymously via the Portal | v2.21 #976768 | 40:33

The phone number requirement for anonymous portal tickets can now be configured per ticket type.

  • Gives more flexibility in portal form requirements

Added a new Ticket Type setting: "Automatically set Start Date and Target Date based on Child Tickets" | v2.21 #975755 | 40:41

Parent tickets can automatically derive start and target dates from their child tickets.

  • Very useful for project and multi-ticket workflows

Added new option to allow AI to suggest a category value from a configurable list of category values | v2.21 #972984 | 41:55

AI can now suggest ticket categories from a configurable list.

  • Helps standardize ticket categorization

Added the setting 'Allow Agent Site Restrictions to restrict against the Site's User's and the Site's Organisation' in users settings | v2.21 #965724 | 46:23

A new setting expands how Agent Site Restrictions apply to users and organizations.

  • Useful for environments with strict site access controls

Added an option to determine how the unique ID of appointments is calculated | v2.21 #961168 | 48:39

Halo now allows configuration of how appointment unique IDs are generated.

  • Relevant for calendar and scheduling integrations

February 18, 2026
8 min read

By the [run]Book: Episode 15

Episode 15 of By the [run]Book covers Halo v2.208 and the start of v2.210, highlighting improvements to SLA response targeting, shift clock-in/clock-out tracking, bi-monthly billing schedules, and expanded team leader permissions. Mendy and Robbie break down what these changes mean for MSPs refining service delivery, billing workflows, and internal access control.
Read 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

February 5, 2026
8 min read

By the [run]Book: Episode 14

In Episode 14 of By the [run]Book, Mendy and Robbie wrap up v2.206 and break down v2.208, covering key workflow, billing, automation, and portal enhancements. From smarter qualification matching to better project–contract alignment and deeper portal customization, this episode helps MSPs tighten operations and improve control inside HaloPSA.
Read post

In Episode 14 of By the [run]Book, Mendy and Robbie wrap up v2.206 and dive into v2.208. Join us while they unpack a dense set of workflow, billing, automation, and self-service portal enhancements. Highlights include conditional workflow steps, improved qualification matching, project–contract alignment, and powerful new portal customization options. This episode is ideal for MSPs who want tighter operational control, cleaner billing, and more flexible automation inside HaloPSA.

The following features stand out as a few of the impactful changes:

On-call Notification Enhancements #422926

Halo introduced various enhancements to notifications to better support on-call workflows, and Mendy called out that this release note quietly included a massive underlying change. The key takeaway was that important platform-impacting updates can be buried in “notification” notes, so MSPs running on-call should review notification behavior closely after updating.

Assign Contract to Projects & Tasks Created from Sales Orders #1027598

Projects and tasks created from sales orders can now automatically inherit the contract created from that sales order, tightening the link between quoting, delivery, and billing. The hosts emphasized this as a practical fix for MSPs who see project time accidentally hitting the wrong agreement (and wrecking profitability reporting), especially when doing fixed-fee or prepaid project work.

Workflow Automations Using Client/Site/User Custom Fields #1022399

Workflow automations can now use client, site, or user custom fields directly as criteria, reducing the need for workaround runbooks that copy those values onto tickets. The hosts positioned this as a meaningful automation upgrade because it makes routing and logic cleaner, easier to maintain, and more scalable for MSPs with account-specific processes.

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

Full Feature List:


Added the ability to add Azure/Entra distribution groups as followers | v2.206 #770320 | 1:52

  • Allows Entra distribution groups to be added as followers on tickets
  • Reduces manual follower management as staff change
  • Useful for shared service desks or group-based visibility

Added an option in AI settings to generate an AI summary of the article based on the title, description and resolution Added an option in AI settings to use the AI-generated summary of an article to identify and flag potential duplicate articles before submission | v2.206 #767579 | 2:58

  • Automatically generates AI summaries for KB articles
  • Uses AI summaries to detect potential duplicate articles
  • Improves knowledge base quality and search accuracy

When tickets have a Teams chat open, if the ticket is closed, a closure message will be sent to all chats | v2.206 #635732 | 3:29

  • Sends an automated closure message into active Teams chats
  • Helps cleanly close collaboration threads
  • Reduces post-resolution confusion

Various enhancements to notifications to support on-call notifications | v2.206 #422926 | 4:02

  • Improves reliability of on-call notification handling
  • Important for MSPs running scheduled on-call rotations
  • Includes underlying workflow/notification behavior improvements

A setting has been added to Sales Order Configuration so that a specific Status can be set once all Items on the Sales Order are consigned | v2.208 #1034330 | 10:24

  • Automatically updates Sales Order status after consignment
  • Reduces manual order lifecycle management
  • Keeps order views accurate

The setting "Tickets with the default Organisation/Site must be moved before working on the Ticket" can now be overridden at Ticket Type level | v2.208 #1033540 | 12:51

  • Allows specific ticket types to bypass the default org/site restriction
  • Useful during intake and triage workflows
  • Prevents inconsistent admin vs engineer experience

"Do not disturb" mode for Halo notifications | v2.208 #1028655 | 16:04

  • Enables agents to temporarily suppress notifications
  • Requires global setting to allow toggle
  • Useful for focused work sessions

A setting "When creating Projects and Tasks assign the Contract created from the Sales Order" has been added to Configuration > Sales Orders > Processing Sales Order Lines that allocates Projects and Tasks created from Sales Orders to the Contract created from the Sales Order | v2.208 #1027598 | 17:27

  • Ensures project time is tied to the correct contract
  • Prevents agreement profitability distortion
  • Reduces manual reassignment after project creation

An Item property had been added to the Milestone so that the Invoice Item can be edited/set after creation of the Milestone. This Item will be used when creating an Invoice directly for the Milestone only | v2.208 #1027578 | 20:33

  • Allows invoice item changes after milestone creation
  • Improves billing flexibility
  • Applies when invoicing milestones directly

Added Canned Text Shortcuts for Chat | v2.208 #1024945 | 23:07

  • Adds keyboard shortcuts for canned text in chat
  • Speeds up repetitive internal communication
  • Configured at the canned text level

Additional data has been added to the Invoice Line object to store the Origin Sales Order Line that the associated Recurring Invoice was created from and to store the Occurrence Count for Recurring Invoices | v2.208 #1024614 | 28:23

  • Improves recurring invoice traceability
  • Tracks original Sales Order line
  • Stores occurrence count for reporting

Report display improvement when using customised table html | v2.208 #1024326 | 28:55

  • Improves horizontal scroll behavior
  • Reduces layout cutoff issues
  • Enhances report usability

Added Managed Identity via Azure Arc as an authentication option to the Microsoft Entra integration and Office 365 mailboxes | v2.208 #1024317 | 29:36

  • Provides a more secure authentication option
  • Reduces credential storage risk
  • Supports Azure-first environments

It is now possible to set a Tax Exemption reason for a Halo Customer on creation that will be pushed to Quickbooks when the Customer is not taxable | v2.208 #1024297 | 29:44

  • Syncs tax exemption reason to QuickBooks
  • Improves finance consistency
  • Reduces manual adjustments

A setting has been added to allow recurring invoice lines to be hidden by default when viewing the recurring invoice | v2.208 #1024067 | 29:57

  • Keeps recurring invoice views cleaner
  • Allows hidden lines to be revealed when required
  • Reduces confusion from legacy lines

Multiple changes to available $ variables | v2.208 #1023687 | 32:18

  • Expands formatting flexibility
  • Adds additional address/currency options
  • Reduces need for template workarounds

Added the setting 'Automatically create Change Advise Boards from Teams' to Approval Process settings | v2.208 #1023311 | 32:55

  • Syncs CAB boards with Teams membership
  • Reduces manual approval admin
  • Supports structured change management

A setting has been added to the QuickBooks Integrations setup so that a Closed Date can be entered. | v2.208 #1022558 | 33:16

  • Helps protect closed accounting periods
  • Prevents retroactive invoice sync edits

You can now use Client, Site or User Custom Fields for criteria on Workflow Automations | v2.208 #1022399 | 33:41

  • Enables cleaner automation logic
  • Removes need to copy custom field data onto tickets
  • Improves routing flexibility

The variable $ SERVICEID can be used in database lookups to obtain the ID of the Service linked to the Ticket | v2.208 #1021534 | 34:21

  • Enables service-aware database lookups
  • Improves reporting and automation precision

Custom Statistics Tables added | v2.208 #1019726 | 34:32

  • Allows scheduled SQL results to be stored over time
  • Enables trending metrics within Halo
  • Useful for backlog and performance tracking

Decimals are now allowed within the field "Tickets Opened/Closed within the last X days" in AI suggestions | v2.208 #1018082 | 37:42

  • Allows finer tuning of AI suggestion windows
  • Improves duplicate detection precision

Added a new Knowledge Base setting that allows you to hide FAQ tiles that have no results matching the current search in the Portal | v2.208 #1012783 | 37:50

  • Removes empty FAQ tiles during searches
  • Improves portal UX

Added a manufacturer field to the suppliers tab of assets | v2.208 #1009501 | 37:57

  • Improves asset detail and reporting
  • Enhances supplier tracking

Improvements to Qualification matching | v2.208 #1008143 | 38:01

  • Improves load balancing logic
  • Reduces tickets sticking with unqualified agents

Various improvements to the self-service portal | v2.208 #1007918 | 40:49

  • Navigation improvements
  • Quick access to My Tickets / My Approvals / My Assets
  • Cleaner layout

You can now use Client, Site, User and Organisation level $ variables in the Self Service Portal custom HTML Headers and Footer | v2.208 #1007759 | 43:43

  • Enables dynamic, client-specific portal content
  • Useful for escalation paths and account manager info

Enhancement to Client-Ticket Type restrictions | v2.208 #1006158 | 47:49

  • Updates restriction handling behavior
  • Important to review before enabling if already configured

Added a Chat Audit Area Added a new Chat Transcript style | v2.208 #1004851 | 48:34

  • Improves audit visibility
  • Enhances transcript formatting

You can now set feedback and survey links to be single use | v2.208 #1002898 | 48:41

  • Reduces automated survey submissions
  • Improves feedback accuracy

Added an Advanced Setting to alter the Tree menu width | v2.208 #999276 | 51:57

  • Improves navigation readability
  • Useful for long names

You can now make your custom hompage HTML in the End-User portal appear as a sticky banner across all portal pages | v2.208 #996323 | 52:48

  • Ideal for outage banners and announcements
  • Keeps messaging visible across pages

Added option to exclude non-invoiceable time from budget calculations | v2.208 #994004 | 56:01

  • Improves project budget accuracy
  • Separates invoiceable vs non-invoiceable effort