New: the Halo × Pennylane integration by Halentra is live. Take a look
Halentra
Home/Solutions/Halo/Release notes
Halo

Release notes

Current stable release
2.236.122
Latest beta
2.250.22

2.202.1

Unreleased

Released on Jul 16, 2025 · 110 updates

Highlight

Added maintenance windows for configuration items

#774868

NOTE: This functionality is only available when using "Allow automatic linking of assets and services"


Maintenance windows can be enabled in Tickets > Change Management using the setting "Enable Maintenance Windows". Once enabled, you can create maintenance windows at 4 different levels:

  • Global
  • Asset type
  • Site
  • Asset - The asset type setting "Allow maintenance windows per asset" must be enabled to use this setting

When logging a change request with a start and an end date, the primary asset will be checked to see if it falls within a maintenance window. This checks the primary asset and any upstream relationships it has, provided each asset's asset type has "is a service" set to true. If any of these assets are outside of a maintenance window, a prompt will be shown asking if the ticket should still be logged.

Additionally, the new ticket field "Is Maintenance window" will automatically be set to true or false based on if all assets are within a maintenance window. This can then be used as a criterion for approvals, ticket rules, etc.


There is also a setting to prevent tickets from being logged if the assets are not within a maintenance window: "Prevent logging of change requests that aren't within maintenance windows"


You can also enable the setting "Enable Environments" in Asset Management> General Settings. This allows you to set allowed environment types against any asset whose type "Is a business application". Any asset with that as the "Owning Business Application" must have one of those allowed environments set against it. 

Maintenance windows can then be inherited from the business application to the child, if the window is against the correct environment. 



Highlight

Added the Keeper integration

#737254

Keeper integration is now available, allowing tickets to be created from Keeper Alerts.


When the module is enabled, a ticket creation runbook will automatically be added to your instance. A webhook recipient will then need to be added to the alert in Keeper to trigger the runbook.

Highlight

Added the Cloudflare integration

#737251

Cloudflare integration is now available, allowing tickets to be created from Cloudflare Notifications.


When the module is enabled, a ticket creation runbook will automatically be added to your instance. A webhook will then need to be set up in Cloudflare to trigger the runbook.


For more information check out: https://usehalo.com/haloitsm/guides/2607/

Added Self-Service setting "Automatically refresh the Ticket details page if the Ticket is updated"

#994375

When enabled the Ticket details screen on the self-service portal will check for updates every minute.

If there has been an update to the ticket then the ticket data and history will be refreshed.

Multiple changes made to the Email autocomplete functionality

#993941
  • Email CC on the New Ticket screen will now follow the setting with regards to which email address to show
  • Resolved an issue with Supplier 2nd and 3rd email addresses appearing for Customer email autocomplete
  • If a user has duplicate email addresses then only one will appear in the email autocomplete

Added Ticket Source as a dynamic field visibility criteria on Ticket Types

#983247

Added Permission for Access to All Departments

#978561

This permission can be found on the department & teams tab for agents and roles.



This will provide a base membership level to the agent for all departments

Added Quote Countersigning via Email links

#976929

You can now countersign Quotations via emails. To enable this functionality, go to Configuration > Ticket Types > *Select Ticket Type* > Settings tab and enable the "Send countersign request email when the End-User has approved the Quote" option:



If the " Agent to send Countersign request to" option is left empty, the Agent assigned to the quotation will be sent the email. The agent sent the email must have a default approval signature set in Agents > Preferences > Approval Processes.


Email template ID:351 is used when sent. The $-COUNTERSIGNAPPROVE and $-COUNTERSIGNREJECT variables have been added to the template by default. $-COUNTERSIGNAPPROVE will add the agents signature to the quotation, and add a "Quote Countersigned" action to the linked ticket. $-COUNTERSIGNREJECT will set the internal approval to rejected if started. A comment can be added for both of these.

Added a system action for Forwarding

#974901

This system action will add "FW:" To email subjects, mark the action as private and exclude it from Email threading (when the Email threading global setting is enabled).

Added the ability to re-import Ticket Type, Teams and Agents and Tag data when running the Freshdesk migration on already imported Tickets

#970966

Added access control to Asset Fields

#961575

Added an option to make a hidden checkbox mandatory when Agents are logging Tickets

#954190

Added a new setting to allow Sales Orders to have a different Site from the End-User's Site

#949443

This setting can be found in Configuration > Sales Orders under the Sales Order Settings tab:



The sales order's site is only editable via the API.

Multiple changes to Timesheet Management

#935599
  • A setting has been added to Configuration > Time Management that changes the behaviour for how to handle time entries being added for periods where the Timesheet entry is submitted or approved.
  • It is now possible to revert the submission of a Timesheet by the owner
  • It is now possible to revert the approval of a Timesheet by the manager

Added 'Asset' to 'Following Fields Must Match' dropdown for AI merge suggestions

#921318

A new option is now available in the 'Following Fields Must Match' dropdown:



This can be configured for the 'Merge into another Ticket' AI suggestion type.

Added Email rules to configuration change tracking

#883433

Added access control to Software Products

#840072

Added the option to use the Chat.Read delegate permission instead of the Chat.Read.All application permission in the Microsoft Teams chat management integration

#828287

If you are changing to use the 'Chat.Read' delegate permission, you will need to reauthorize the integration

Added the setting 'Allow admins to redact Ticket audit logs' to ticket settings

#817350

This allows admins to clear the 'To' and 'From' values from the ticket audit record. Double clicking the record in the 'Audit Log' tab will allow the option to 'Redact' the record. An additional record will be added to show a redaction has taken place.

Added advanced settings per ticket type to disable the problem/resolution finder for agents and users

#795561

Added the ability to use custom filter profiles on the Self Service Portal

#768823

A new setting has been added to the Self Service Portal configuration: "Use custom Filter Profiles on the Ticket list"


When enabled, Filter Profiles from the Tickets -> Views configuration can now appear on the portal. There is a setting at Filter Profile level to toggle portal visibility, and this is disabled by default.

Added Subscriptions and Software Licences to SQL Import Integration

#737247

This can be set up in Configuration > Integrations > SQL Import and selecting "Subscriptions/Software Licences" as the entity.

Your SQL query must return the following:

  • third-party Software Licence or Subscription reference that is unique per row.
  • A column indicating whether the row is importing a Licence or Subscription. The value must be either "Licence" or "Subscription".
  • customer reference, which can be configured to match either the Customer Name or the Halo Customer ID.
  • A Name for the Software Licence or Subscription.




You can also configure optional Site Matching to link these records to sites and there are additional field mappings available.

For the Auto Renew field mapping, your SQL query must return a value of either 1 or 0 or yes or no.


Added Agent cost history tracking

#735577

The new Agent Cost table enables tracking cost over time, including fields for start date, end date, cost and optional currency.




The new setting can be found in Advanced Settings.



Added Opensearch as a vector search database option for AI searching

#650351

To configure the connection for Opensearch, you need to populate the domain endpoint and then use the credentials of the master user. This will need to be an internal database user, not an IAM ARN user. 

Resolved an issue with the Customer level option for "Recalculate Billing" causing recalculation for other Customer records

Also in 2.202.1 · 2.196.81

#996805

Fixed a minor spelling issue when viewing device change records

Also in 2.202.1 · 2.196.81

#996580

Fixed an issue with uploading a new item logo

#996512

Resolved an issue with the Auvik Integration failing to report Unauthorized errors when importing Devices with the Halo Integrator

#996373

Fixed an issue with translating address line 5

#996365

Fixed an issue with saving custom fields when text custom fields are too long

#996256

Resolved an issue with updates from the Sales Mailbox feature failing to correctly update the Status using the Opportunity Type setting for "Status after User update"

#995902

Resolved an issue with Dynamic (SQL or Integration) Custom Fields Values failing to populate when using a Custom Field on a Custom Table on an Anonymous Action form

#995783

Fixed an issue with the pax8 integration getting errors on new tenants in some cases

Also in 2.202.1 · 2.196.81

#995588

Fixed an issue with cloning workflows when there were steps containing rules

Also in 2.202.1 · 2.196.81

#995115

Fixed an issue with importing Azure DevOps projects

Also in 2.202.1 · 2.196.81

#995055

Fixed an issue where Resource Booking timezone selection wouldn't include DST

Also in 2.202.1 · 2.196.81

#995011

Fixed several minor issues surrounding billing and hubspot

Also in 2.202.1 · 2.196.81

#994941
  1. Fixed an issue with hubspot trying to set note field on quotes that was unavailable via the API
  2. Fixed an issue with sorting by ID on invoices
  3. Fixed an issue with titles on the orders screen

Fixed an issue setting custom field values when tickets are generated from Ninja alert webhooks.

Also in 2.202.1 · 2.196.81

#994905

Fixed a minor language pack issue

Also in 2.202.1 · 2.196.81

#994735

Fixed an issue with determining if a ticket was logged out of hours

#994246

Minor error handling improvements to the NinjaOne integration

#994093

Fixed an issue with the combined team/agent dropdown when using unrestricted agent visibility setting

#994020

Resolved a UI issue that caused the Mail Configuration Menus to appear disabled

Also in 2.202.1 · 2.196.81

#993878

Fixed an issue with the external invoice number not being available on custom invoice columns and with incorrect sorting in some cases

Also in 2.202.1 · 2.196.81

#993854

Fixed an issue where query builder reports could return an invalid syntax error when using custom fields

Also in 2.202.1 · 2.196.81

#993793

Fixed an issue where writing to the cache would fail for one particular cache

Also in 2.202.1 · 2.196.81

#993765

Fixed an issue with quote imports not importing tax in some cases

#993730

Resolved an issue with appointments that are all day (or projects) causing the calendar header row to overflow and cause misaligned appointments to display

#992881

Fixed an issue where the items tab would still be visible on an asset despite the items module not being enabled

#992804

Fixed an issue with viewing department records in My Config

Also in 2.202.1 · 2.196.81

#992785

Fixed an issue with $-INVOICEDISCOUNTTOTAL and $-INVOICEDISCOUNTPERCENT

Also in 2.202.1 · 2.196.81

#992387

Fixed an issue with agent signature not loading in agent preferences for non-admin agents

#992070

Resolved an error saving Field Value visibility on Ticket Type Field List Groups

#991972

Resolved an error failing to show the correct message when using the Invoice screen and the Save process fails Invoice validation

#991959

Fixed an issue when trying to add or edit stock bins

#991882

Fixed an issue with $-AREA variable not resolving on asset custom tabs

Also in 2.202.1 · 2.196.81

#991869

Minor improvement to the setting label for notification popups

#991553

Resolved an issue with the additional line option being mandatory when creating an Invoice from Sales Order lines

Also in 2.202.1 · 2.196.81

#991499

Fixed an issue with deleting Entra ID connections

Also in 2.202.1 · 2.196.81

#990940

Fixed an issue with receiving New Relic alerts

Also in 2.202.1 · 2.196.81

#990836

Fixed an issue with licence variables not always populating when creating from a billing run with quantity calculated lines

Also in 2.202.1 · 2.196.81

#990831

Fixed an issue with using the same button names within action groups

#990820

Improved formatting on notes from ServiceNow webhooks

Also in 2.202.1 · 2.196.81

#990669

Fixed data type issues in Swagger and removed duplicate parameters

#990627

Fixed an issue where dragging and dropping child tickets would not reassign them

#990327

Fixed an issue with agent resource booking API-only agents

#990291

Resolved an issue with using Sub Event Time Entry (Start and End times) failing to set the Action Date correctly

Also in 2.202.1 · 2.196.81

#990266

Fixed an issue with S3 attachments not opening correctly in the browser window.

Also in 2.202.1 · 2.196.81

#989990

Resolved an issue where supplier updates were adding actions to tickets even when the supplier module was disabled.

#989695

Resolved an issue with completing an appointment causing an update to be triggered in the Exchange/Microsoft calendar integration

Also in 2.202.1 · 2.196.81

#989440

Fixed an issue with using not responding when prompted alongside action groups

#989407

Fixed an issue with 404 errors when creating new IT Glue Contacts in some cases

Also in 2.202.1 · 2.196.81

#989376

Fixed an issue with the 'Is not equal to' criteria in runbooks

Also in 2.202.1 · 2.196.81

#989261

Fixed a rare issue with empty fields being visible on the portal when configured as hidden if empty

Also in 2.202.1 · 2.196.81

#989168

Added asset tag as an asset matching field for the Snow integration

#989147

Fixed an issue with starting an approval using the related service(s) compliance owner

Also in 2.202.1 · 2.196.81

#989103

Fixed a minor display issue with custom fields on the portal asset table

#988920

Fixed an issue with multi-currency unit tax rounding not working as intended

Also in 2.202.1 · 2.196.81

#988809

Fixed an issue with appointment mentions

Also in 2.202.1 · 2.196.81

#988339

Added config push/pull cut off date validation to prevent future dates from being chosen.

#987971

Fixed an issue where line breaks where not always shown in virtual agent responses.

#987848

Fixed an issue with tickets moving to the final step of their workflow when closed via an automation

#987573

Fixed an issue where moving a reserved asset to a different site or stock location would not update sales orders that have the asset reserved.

Also in 2.202.1 · 2.196.81

#987359

Fixed an issue with the 'Do not allow editing status field on Asset details screen' setting.

Also in 2.202.1 · 2.196.81

#987212

Fixed an issue with searching for services when allowing services to be in multiple categories

Also in 2.202.1 · 2.196.81

#986150

Fixed an issue with change management across three or more instances

Also in 2.202.1 · 2.196.81

#986137

Resolved an IT Glue integration issue with the Asset Tag failing to import correctly when using the in application import

Also in 2.202.1 · 2.196.81

#985876

Resolved an issue with the Import of IT Glue Assets using the UI failing to correctly set the IT Glue URL

Also in 2.202.1 · 2.196.81

#985875

Fixed an issue with appointment status scan not including all day appointments

#983252

Fixed an issue with opening the organisational chart within a department

#982838

Fixed some issues with user deletion and anonymization.

Also in 2.202.1 · 2.196.81

#982498

Added hint to CORS Whiteliest setting

#982191

Fixed an issue with the Entra ID user field mappings within site mappings

#981482

Fixed an issue with using a data source that applies the agent's permissions

Also in 2.202.1 · 2.196.81

#981167

Fixed an issue with using SQL reserved characters in a KB search

Also in 2.202.1 · 2.196.81

#980826

Added support for NTLM, Authenticate auth types for EWS incoming mail.

#979508

Fixed an issue with linking recurring/scheduled appointments with tickets

Also in 2.202.1 · 2.196.81

#976468

Fixed an issue where items issued on a new service ticket may not be correctly saved

Also in 2.202.1 · 2.196.81

#974743

Improved the Freshdesk Ticket Migration so the "Closed By" field now correctly reflects the assigned Agent instead of the importer

#971946

Fixed an issue where Bi-Weekly Schedules could generate irregularly

Also in 2.202.1 · 2.196.81

#962412

Fixed an issue when sending out service subscriber emails

Also in 2.202.1 · 2.196.81

#958043

Fixed a UTC issue with invoice due dates when using QuickBooks invoice terms

Also in 2.202.1 · 2.196.81

#955335

Fixed an issue with special characters in emails sent out via the Google mailbox connection method.

Also in 2.202.1 · 2.196.81

#952515

Resolved an issue with the Sage 50 integration failing to export invoices for specific customer records due to an issue with the phone number.

#951572

Added an option to round the unit price when applying discounts to billing lines

#948936

The following setting has been added to the Billing configuration:


The default option is to use the exact value, and behaviour remains unchanged.


The option to round the unit price is useful for ensuring the line total is always equal to the displayed unit price multiplied by quantity.


Example: Base price = 98.85, Discount = 12.5%, Quantity = 4


Discounted unit price = 98.85 * (1 - 0.125) = 86.49375

Line total when using the exact value = 86.49375 * 4 = 345.98

Line total with rounding enabled = 86.49 * 4 = 345.96

Fixed an issue where changing the meter type or pricing method would not recalculate the quantity/price until a new reading was added.

Also in 2.202.1 · 2.196.81

#934087

Resolved an issue where editing and creating Holidays can apply a daylight-saving adjustment to the time that is saved

#923359

Fixed an issue where duplicate emails could be sent when creating invoices from a recurring invoice

Also in 2.202.1 · 2.196.81

#882145

Fixed an issue where Quotation Line dollar variables wouldn't populate after signing

Also in 2.202.1 · 2.196.81

#819595

Resolved an issue with manually adding Pro-rata failing to automatically set the price using the start date of the next period

#744045