Released on Apr 15, 2026 · 109 updates
Added MCP and Virtual Agent functions for retrieving Users and Assets
Added MCP and Virtual Agent functions for retrieving Users and Assets
4 new functions are available to select in the MCP server configuration and on Virtual / Operations Agents:
The user functions are only available for Agents (i.e. via Operations Agents or agent-authorised MCP calls) whereas the asset functions are available for both Agents and Users.
Added a new CMDB setting to control which field is displayed as the CI Name in the CMDB area
Added a new CMDB setting to control which field is displayed as the CI Name in the CMDB area
This setting is found under Configuration → Asset Management → General Settings
It controls which field is displayed as the Asset Name in the CMDB
Improved Full-Text searching for Knowledgebase Articles
Improved Full-Text searching for Knowledgebase Articles
Search results which contain the whole, unbroken search phrase will have their search result boosted above articles which otherwise also match the search phrase. This applies to both "Search for each word of the search string" and "Search for every word of the search string" Knowledgebase search modes.
Improved the performance of loading config changes and instances
Improved the performance of loading config changes and instances
You can now configure which interactions to consider for Automatic User Anonymisation
You can now configure which interactions to consider for Automatic User Anonymisation
This is configured in Users > General settings:
There is an new interaction type of the Last Mail Campaign email sent to the User.
If you previously had this setting enabled, after upgrading, you will automatically have all new interaction types enabled, except for the Last Mail Campaign email option as this is new.
The interaction types are inclusive, meaning a User must not have had an interaction of all of the enabled types in order to be anonymised. Therefore enabling more interaction types will mean more criteria must be met for a User to be anonymised, and less interaction types enabled means less criteria must be matched for a User to be anonymised.
At least one interaction type must be selected for this feature to function.
For on premise HALO customers: You can set a maximum amount of Users that can be anonymised in one day by setting "AnonymiseBatchSize" in your AppSettings.json. The default is 200.
Added outbound integration request logging to the ServiceNow integration
Added outbound integration request logging to the ServiceNow integration
You can now customise the help menu
You can now customise the help menu
In advanced settings, you can now enable the custom help menu
This will then bring up a table where you can configure the help menu
You can modify/deactivate the system help menu options by editing the links/labels
As well as adding your own options, for example, a direct link to config tracking
Added the ability to set security questions for users
Added the ability to set security questions for users
There is a new optional module in users configuration called security questions:
This module will allow you to configure questions that users can respond to in order to prove their identity when calling in. These questions can have their answers be validated against a minimum length, maximum length, and regex. You can set the number of questions that users have to answer when confirming their identity, up to 5, and can set limits on how many must be correct and how many are allowed to be incorrect.
When enabled, users who have not filled in answers to their questions will be prompted to do so on the portal, and can edit their answers from the preferences page. These answers can be shown as plain text or as passwords.
On the call screen, once a user has been selected the agent can choose to check the user's security questions. The user can tell the agent their answers so that they can be validated:
If validation succeeds, the user will be saved against the call.
Added a Widget to show Supplier contact information when you hover over a Supplier field on an action
Added a Widget to show Supplier contact information when you hover over a Supplier field on an action
For example, when doing a Log to Supplier Action:
This can be disabled in Suppliers > General Settings.
Added $-variables for use in runbook failure notification email templates
Added $-variables for use in runbook failure notification email templates
The currently supported variables are as below:
You can now select which Report Group to clone a Report into when using the Save as New button
You can now select which Report Group to clone a Report into when using the Save as New button
Added an "AI created" flag to Tickets, Actions and KB Articles
Added an "AI created" flag to Tickets, Actions and KB Articles
When the system creates a ticket, action or KB article via AI, a flag is now set in the database for reporting purposes. The field names are faicreated, aaicreated and kbaicreated respectively. These can be set via the API using the "ai_created" property.
The ID of the Virtual Agent, AI Agent, or MCP Tool Collection that was used to create the entity is also tracked using the following fields: fvirtualagentid, avirtualagentid and kbvirtualagentid. This will correlate to the ID in the VirtualAgent table.
Added "inactive" field to GET /tickets ticketidonly=true API payloads
Added "inactive" field to GET /tickets ticketidonly=true API payloads
You can now configure workflow/sequence style campaigns
You can now configure workflow/sequence style campaigns
There is a new "style" field when creating a new campaign:
The scheduled style is existing functionality; you can configure emails and choose dates/times to send out the emails.
The new workflow style allows you to use the workflow editor and create sequences/journeys for contacts/accounts as well as leads/opportunities.
All types of campaigns are available for workflow style campaigns; blast, nurture triggered and nurture scheduled:
Multiple inclusion and exlusion segments are supported.
After filling out intial details and saving, a new tab will appear called "Flow Chart":
This shows the workflow editor that is very similar to creating lead/opportunity workflows as well as custom integrations.
The main point of difference is the step logic. There are four step types: Action, Communication, Split and End.
Each step also shows the count of contacts/leads that are currently on that step.
Action step:
This allows you to choose from a dropdown of actions to perform.
This is currently limited to the "Delay" action. The available actions will grow over time, including being able to update contact/lead data from within the worflow and intiate custom integrations, runbooks and trigger webhooks.
Communication step:
This allows you to choose from a dropdown of communication methods. This is currently limited to emails but will quickly be expanded upon.
Selecting "Email", will then allow you to choose a campaign email from the "Email Setup" tab or design new emails within the step itself by enabling the below setting in Configuration > Campaigns, under the Campaign workflow settings group:
Each email communication step will show the current status of the email as well as metrics assoicated with that email. This includes the total sends, open rate, click rate and unsubscribe rate.
Emails do not need to be "Ready" to start the campaign. If a user/leads hits a step that the email is in a draft status, they will simply move past this onto the next step.
Hovering over each metric will show a popup to further describe the metric, for example hovering over the paper plane:
Split step:
The split step type allows you to branch off your segments within the campaign based on the same available filters when configuring distribution lists. The filters are built using groups to allow for "or" conditions. For example, condition A is true or condition B is false follow down the "Condition met" path.
The available split conditions will also be exapanded upon in the near future.
End step:
This step is used to easily indicate the end of the campaign. They are not mandatory, oncee a user hits a step with no next step they will stay on that step. There is also no limit to the number of "End" steps.
Example:
Basic example of a campaign workflow:
The workflow editor is a drag-and-drop interface and can be designed in any orientation, allowing you to arrange your processes in whatever layout makes the most sense. Here is an example of the same workflow, top-down:
Steps can be linked to any other step within the flow and you can create cyclical sequences, for example, to handle dead leads on a recurring basis.
When contacts/leads are added to the linked segment(s), on an already started campaign, they join the flow at the start step.
You can also edit the workflow after the campaign has started. This allows for you to configure long lasting workflows that you can continue to add to. The only restriction is you can not delete a step that has users currently on it.
Completing / Cancelling / Ending the campaign:
The campaign is "complete" when all users/leads have reached the final step.
If the campaign is "cancelled", all users/leads will stop on their current step and no new entries are accepted. All queued emails that have not yet been processed will also be cancelled.
If there isn't a last step, users/leads will continue on the campaign until it has been cancelled.
Nurture - Triggered and Scheduled:
When ending the campaign, existing users/leads will continue through the workflow until they reach the final step. New users/leads will not be added to the start of the campaign.
General information:
All, for example, configuration options, metrics data, logging is also available to the workflow style campaign.
Added the ability to restrict Agent Custom Fields
Added the ability to restrict Agent Custom Fields
Added ticket type groups as criteria options to AI Suggestions.
Added ticket type groups as criteria options to AI Suggestions.
This requires ticket type groups to be enabled in tickets general settings.
Added access control to the Active Directory integration
Added access control to the Active Directory integration
Added a Ticket Type setting to automatically set the agent logging the ticket as the default user on new tickets
Added a Ticket Type setting to automatically set the agent logging the ticket as the default user on new tickets
Added Unassigned for X Hours - Assigned to Recipients team notification event
Added Unassigned for X Hours - Assigned to Recipients team notification event
Added Access Control to Event Management Rules
Added Access Control to Event Management Rules
Added new $-CONVERSIONRATE variable to Quotes, Purchase Orders, Sales Orders and Invoices
Added new $-CONVERSIONRATE variable to Quotes, Purchase Orders, Sales Orders and Invoices
Added a Global Ticket setting to automatically default the team to the origin ticket's team when using the 'Add Action to New Ticket' function
Added a Global Ticket setting to automatically default the team to the origin ticket's team when using the 'Add Action to New Ticket' function
Added a new Ticket > General Setting to allow agents to preview canned text content before inserting it into an action
Added a new Ticket > General Setting to allow agents to preview canned text content before inserting it into an action
Added the ability to run approval steps in parallel
Added the ability to run approval steps in parallel
Approval steps can now be configured to not be grouped, be the main step in a group, or be part of a group. When part of a group, some configuration options against the step cannot be set as they are inherited from the main group step. Examples of these fields include those pertaining to outcome notifications and status changes during/after approval. Steps in the same group must be sequential, with the main group step being the first in the sequence.
In the below example, three steps are configured to be in the same group and therefore run in parallel on tickets. This means that when the approval process reaches the main group step, all steps in that group are started. The process is rejected if one step in the group rejects and is approved when all steps approve (in respect to their approval/rejection thresholds).
On the ticket, you will see all steps in the group as active:
Added new Exchange Calendars setting to use built-in recurring appointment creation instead of Exchange Calendar creation method
Added new Exchange Calendars setting to use built-in recurring appointment creation instead of Exchange Calendar creation method
After enabling the new setting, recurring appointments will be created and managed in Halo, rather than sending the recurring master to Exchange to create the series.
The individual appointments in the series will then sync to Exchange separately.
The new setting can be found in Configuration > Integrations > Exchange Calendars, under the Syncing Appointments to Exchange tab.
Extended daily ephemeral record clean up to include deletion of Attachments linked to relevant Email Store records
Extended daily ephemeral record clean up to include deletion of Attachments linked to relevant Email Store records
You can now display the agents availability summary on the calendar
You can now display the agents availability summary on the calendar
Configuration -> Calendars and Appointments -> General Settings -> Display the Agents availability overview on the calendar
With the new setting enabled, you now get an overview header showing the actual hours, target hours and availability percentage. Availability is calculated off of appointments and the agents timesheet and mirrors what is displayed on the planning view of the timesheet screen.
This is available for day and week view within the calendar module.
Resolved an issue with using the threading function for outbound emails failing to exclude Dutch undeliverable emails
Also in 2.236.1 · 2.220.111
Resolved an issue with using the threading function for outbound emails failing to exclude Dutch undeliverable emails
Also in 2.236.1 · 2.220.111
Fixed an issue with OLA notification triggers
Fixed an issue with OLA notification triggers
Resolved an issue with Ticket Level rounding causing time to appear in ready for invoice when multiple actions on a ticket are rounded down to 0 in total
Resolved an issue with Ticket Level rounding causing time to appear in ready for invoice when multiple actions on a ticket are rounded down to 0 in total
Fixed the get_one_article function for MCP and Virtual Agents not returning the resolution field
Also in 2.236.1 · 2.220.111
Fixed the get_one_article function for MCP and Virtual Agents not returning the resolution field
Also in 2.236.1 · 2.220.111
Resolved an issue with recognising downpayments from the ready for invoice area failing to correctly mark the sales order as fully invoiced
Resolved an issue with recognising downpayments from the ready for invoice area failing to correctly mark the sales order as fully invoiced
Fixed a rare issue where Items wouldn't load
Fixed a rare issue where Items wouldn't load
Resolved an issue with the Invoice quantity calculation showing as zero when using another Client software/subscription quantity
Also in 2.236.1 · 2.220.111
Resolved an issue with the Invoice quantity calculation showing as zero when using another Client software/subscription quantity
Also in 2.236.1 · 2.220.111
Fixed a bug affecting access to other scheduled entities
Fixed a bug affecting access to other scheduled entities
Fixed an issue with cost resetting to zero in the UI when updating distance on distance type expenses
Fixed an issue with cost resetting to zero in the UI when updating distance on distance type expenses
Fixed an issue with some delimiters not working correctly for SFTP CSV Imports
Fixed an issue with some delimiters not working correctly for SFTP CSV Imports
Fixed an issue where child tickets on project templates wouldn't automatically link to Milestones
Also in 2.236.1 · 2.220.121
Fixed an issue where child tickets on project templates wouldn't automatically link to Milestones
Also in 2.236.1 · 2.220.121
Fixed an issue where <<halo_url>> would not work in custom integration url fields
Fixed an issue where <<halo_url>> would not work in custom integration url fields
Resolved an timezone issue with the stored procedures/functions GetTimeBetweenDatesWithSLAID and GetTimeBetweenDatesWithWorkdayID
Resolved an timezone issue with the stored procedures/functions GetTimeBetweenDatesWithSLAID and GetTimeBetweenDatesWithWorkdayID
Resolved an issue with Ticket Areas using "All" domain showing every Ticket/Project/CRM List
Resolved an issue with Ticket Areas using "All" domain showing every Ticket/Project/CRM List
Fixed an issue where duplicate invoice runs could be processed on the Accounts Integrator
Fixed an issue where duplicate invoice runs could be processed on the Accounts Integrator
Fixed a bug where agent default team would not be validated on an agent update/creation via the API
Fixed a bug where agent default team would not be validated on an agent update/creation via the API
Fixed issues with new Intacct additions
Fixed issues with new Intacct additions
Fixed an issue with replacing money dollar variables for PDFs
Also in 2.236.1 · 2.220.111
Fixed an issue with replacing money dollar variables for PDFs
Also in 2.236.1 · 2.220.111
Fixed issues with using lookups to populate custom tables
Also in 2.236.1 · 2.220.111
Fixed issues with using lookups to populate custom tables
Also in 2.236.1 · 2.220.111
Resolved an issue with Ticket level charge rates showing in the global/main charge rate list
Also in 2.236.1 · 2.220.111
Resolved an issue with Ticket level charge rates showing in the global/main charge rate list
Also in 2.236.1 · 2.220.111
Resolved an error with the "Email not sent" error showing on an action when an SMS action is saved with no phone number
Resolved an error with the "Email not sent" error showing on an action when an SMS action is saved with no phone number
Fixed an issue where the Agent Cost table could cause errors
Also in 2.236.1 · 2.220.111
Fixed an issue where the Agent Cost table could cause errors
Also in 2.236.1 · 2.220.111
Fixed a minor issue with new HaloCRM trials
Fixed a minor issue with new HaloCRM trials
Minor change to the Datto RMM Integration page to update the remote control hint
Minor change to the Datto RMM Integration page to update the remote control hint
Resolved an issue with ticket type agent reminder email template showing incorrectly
Resolved an issue with ticket type agent reminder email template showing incorrectly
Fixed issues with inbound ServiceNow webhooks
Fixed issues with inbound ServiceNow webhooks
Fixed an issue with using access control for FAQ lists
Fixed an issue with using access control for FAQ lists
Fixed a minor issue with $ distributionlistid on custom dashbaord tabs
Fixed a minor issue with $ distributionlistid on custom dashbaord tabs
Fixed an issue where Tax wouldn't sync to QuickBooks Online correctly when using override tax amount option
Fixed an issue where Tax wouldn't sync to QuickBooks Online correctly when using override tax amount option
Fixed a bug where dates wouldn't be converted to local time on service status updates
Also in 2.236.33 · 2.236.1 · 2.220.122
Fixed a bug where dates wouldn't be converted to local time on service status updates
Also in 2.236.33 · 2.236.1 · 2.220.122
Fixed an issue when trying to access integration runbooks
Also in 2.236.1 · 2.220.111
Fixed an issue when trying to access integration runbooks
Also in 2.236.1 · 2.220.111
Fixed an issue with the purchase order attachments not showing to users
Fixed an issue with the purchase order attachments not showing to users
Minor improvement to OpenAI integration logs
Minor improvement to OpenAI integration logs
Fixed a bug where attachment urls could become malformed when attempting to download
Fixed a bug where attachment urls could become malformed when attempting to download
Fixed an issue where tickets sometimes failed to load when custom fields were included in the Kanban Card layout
Fixed an issue where tickets sometimes failed to load when custom fields were included in the Kanban Card layout
Fixed an issue where N-Able N-central asset import could sometimes fail when processing custom fields
Fixed an issue where N-Able N-central asset import could sometimes fail when processing custom fields
Fixed issues with the Deferred Revenue Item dropdown
Fixed issues with the Deferred Revenue Item dropdown
Fixed issue with being able to select system field visibility values within Asset Types
Fixed issue with being able to select system field visibility values within Asset Types
Fixed a typo with the field hint for $-SEARCH input
Fixed a typo with the field hint for $-SEARCH input
Fixed a visual bug where the value of the criterion wouldn't display against a custom button visibility condition for a single select field
Fixed a visual bug where the value of the criterion wouldn't display against a custom button visibility condition for a single select field
Added clarity to the UI, the Reports & Attachments field for On-Premises customers will now only display when not sending attachments from the database.
Added clarity to the UI, the Reports & Attachments field for On-Premises customers will now only display when not sending attachments from the database.
Fixed an error when deleting custom fields due to integration field mappings
Also in 2.236.1 · 2.220.111
Fixed an error when deleting custom fields due to integration field mappings
Also in 2.236.1 · 2.220.111
Fixed an issue where Invoice Reminder emails could send incorrectly
Also in 2.236.1 · 2.220.111
Fixed an issue where Invoice Reminder emails could send incorrectly
Also in 2.236.1 · 2.220.111
Fixed an issue where totals could display incorrectly on Purchase Orders
Fixed an issue where totals could display incorrectly on Purchase Orders
Fixed issue with Mailbox restrictions not refreshing on the New Ticket screen
Also in 2.236.1 · 2.220.111
Fixed issue with Mailbox restrictions not refreshing on the New Ticket screen
Also in 2.236.1 · 2.220.111
Fixed Attachment Custom Fields mandatory functionality
Fixed Attachment Custom Fields mandatory functionality
Fixed a bug where change freeze periods would not show on the calendar if the freeze period spanned a greater range than the calendar view period
Fixed a bug where change freeze periods would not show on the calendar if the freeze period spanned a greater range than the calendar view period
Fixed an issue where areplytoaddress is not populated when an action is created from an email
Also in 2.236.1 · 2.220.111
Fixed an issue where areplytoaddress is not populated when an action is created from an email
Also in 2.236.1 · 2.220.111
Fixed a bug where the global default column profile would block edits when it was previously owned by a specific agent
Fixed a bug where the global default column profile would block edits when it was previously owned by a specific agent
Fixed an issue where Virtual Agents would call functions multiple times when using the Responses API, e.g. causing duplicate tickets to be logged
Fixed an issue where Virtual Agents would call functions multiple times when using the Responses API, e.g. causing duplicate tickets to be logged
Fixed an issue where action visibility couldn't be set on an email rule for auto replies
Fixed an issue where action visibility couldn't be set on an email rule for auto replies
Fixed an issue with the ServiceNow integration when trying to sync a ticket to ServiceNow
Also in 2.236.1 · 2.220.111
Fixed an issue with the ServiceNow integration when trying to sync a ticket to ServiceNow
Also in 2.236.1 · 2.220.111
Fixed an issue where a ticket's client would not change when using the "Change client and site to the end-users default client and site" checkbox
Also in 2.236.1 · 2.220.111
Fixed an issue where a ticket's client would not change when using the "Change client and site to the end-users default client and site" checkbox
Also in 2.236.1 · 2.220.111
Fixed an issue importing assets with the Endpoint Central Integration
Also in 2.236.1 · 2.220.111
Fixed an issue importing assets with the Endpoint Central Integration
Also in 2.236.1 · 2.220.111
Fixed not being able to disable the colour option on Custom Field values
Also in 2.236.1 · 2.220.111
Fixed not being able to disable the colour option on Custom Field values
Also in 2.236.1 · 2.220.111
Fixed an issue with syncing agent role changes between instances
Also in 2.236.1 · 2.220.111
Fixed an issue with syncing agent role changes between instances
Also in 2.236.1 · 2.220.111
Fixed an issue with allowing users to translate messages in embedded chats
Also in 2.236.1 · 2.220.111
Fixed an issue with allowing users to translate messages in embedded chats
Also in 2.236.1 · 2.220.111
Fixed an issue with returning MYOB default item settings
Also in 2.236.1 · 2.220.111
Fixed an issue with returning MYOB default item settings
Also in 2.236.1 · 2.220.111
Fixed an issue when receiving stock via actions with the 'Receive stock on Purchase Orders' use
Also in 2.236.1 · 2.220.111
Fixed an issue when receiving stock via actions with the 'Receive stock on Purchase Orders' use
Also in 2.236.1 · 2.220.111
Fixed a bug where date fields in the query builder could be returned with an accidental '1' or '2' added to the end of the string
Fixed a bug where date fields in the query builder could be returned with an accidental '1' or '2' added to the end of the string
Fixed a display issue with the AI query builder on reports
Also in 2.236.1 · 2.220.111
Fixed a display issue with the AI query builder on reports
Also in 2.236.1 · 2.220.111
Fixed an issue with a setting for item accounts being set to SKU not being visible in some cases
Fixed an issue with a setting for item accounts being set to SKU not being visible in some cases
Improved the function to migrate custom fields to now include text fields
Also in 2.236.1 · 2.220.111
Improved the function to migrate custom fields to now include text fields
Also in 2.236.1 · 2.220.111
Fixed an issue where column profiles could error on Quotes
Also in 2.236.1 · 2.220.111
Fixed an issue where column profiles could error on Quotes
Also in 2.236.1 · 2.220.111
Added a warning to prevent merging the default email client
Also in 2.236.1 · 2.220.111
Added a warning to prevent merging the default email client
Also in 2.236.1 · 2.220.111
Fixed an issue where surcharges would apply to Tickets more than once when option was enabled
Fixed an issue where surcharges would apply to Tickets more than once when option was enabled
Fixed an issue where tax codes could display incorrectly when adding Item Bundles
Fixed an issue where tax codes could display incorrectly when adding Item Bundles
Added asset tags to the Virima integration
Added asset tags to the Virima integration
Fixed an issue where the Sophos customer mapping dropdown would be limited 100 records
Fixed an issue where the Sophos customer mapping dropdown would be limited 100 records
Added memorySize as a mappable property in the Halo Asset Discovery integration
Added memorySize as a mappable property in the Halo Asset Discovery integration
Improved invoicing performance on large databases
Improved invoicing performance on large databases
Fixed an issue where Google Cloud Platform-only customers wouldn't import in Google Workspace
Also in 2.236.1 · 2.220.111
Fixed an issue where Google Cloud Platform-only customers wouldn't import in Google Workspace
Also in 2.236.1 · 2.220.111
Improved performance of the query builder when querying asset fields
Improved performance of the query builder when querying asset fields
Added User-Agent header to Sophos integration
Added User-Agent header to Sophos integration
Fixed an issue with generating a unique document id on invoices created by ticket actions
Also in 2.236.1 · 2.220.111
Fixed an issue with generating a unique document id on invoices created by ticket actions
Also in 2.236.1 · 2.220.111
Fixed an issue where KB article link toggles were not shown on config detail pages
Fixed an issue where KB article link toggles were not shown on config detail pages
Fixed an issue with forwarded emails displaying duplicate 'FW:' in the subject line
Also in 2.236.1 · 2.220.111
Fixed an issue with forwarded emails displaying duplicate 'FW:' in the subject line
Also in 2.236.1 · 2.220.111
Added the ability to Invoice to another client at the Recurring Invoice level
Added the ability to Invoice to another client at the Recurring Invoice level
Added the ability to lock tax on Invoice Lines
Added the ability to lock tax on Invoice Lines
To lock tax on Invoice lines, add the"&showfields=true" parameter to the URL, edit the Invoice, click "Update Table Values", and enable the "Lock Tax" checkbox. Tax for this line will no longer be updated.
Fixed an issue where amounts could sync incorrectly to QuickBooks Online when using multi-currency
Fixed an issue where amounts could sync incorrectly to QuickBooks Online when using multi-currency
Added Top Level event triggers for Notifications/Webhooks
Added Top Level event triggers for Notifications/Webhooks
Added the option to mark Invoices as sent when syncing to Xero
Added the option to mark Invoices as sent when syncing to Xero
This option can be found in Xero Details > Syncing to Xero, 'Mark as sent type on Invoices'