HaloPSA Roadmap
Find out about all the exciting, up and coming developments in HaloPSA
In Progress
Go Cardless Integration
Allow customers to make payments or setup recurring payments using GoCardless
Google Maps & Agent Lookup
Adding functionality to track all active agents on Google Maps.
CSP and Office 365 automation
Approval processes to automatically create users/assign licenses and update license amounts in Office365 via Azure/CSP/Pax8 and other vendors APIs
Bulk/Marketing email function
A new area of Halo to send mass/bulk emails to email lists that are created using the report builder
AWS Billing integration
Import billing data from AWS for automating invoice creation
Sentinel One Integration
Handle alerts created from Sentinel One
Google Workspace multiple tenanted
Google Workspace integration to allow multiple tenants to be integrated simultaeously
Up Next
Microsoft Lighthouse Integration
Integration with Microsoft Lighthouse for management of customer tenants
Telnyx Integration
SMS integration to allow sending and receiving of SMS messages
NMI Payment Gateway
Ubiquiti Unifi Controller integration
Import Site and Hardware data
Telecoms and usage Billing/Invoice profile Improvements
Create billing/invoice profiles linked to CSV exports from Telecoms and other usage based billing systems to import directly into recurring invoices for one monthly bill all in one place
Future
Recently Completed
Event Management module is now available
Event management is now available as a module in Halo. This allows data to be posted to an endpoint in Halo to create/update tickets based on rules, allowing for more customisable alerting.
The post must be made to https://{yoururl}/api/incomingevent/process.
You must post this with valid API credentials that have permission to edit events and tickets.
Event Rules
Event rules must be configured to create tickets from the posted data. These map values from the data using the same variable format as custom integrations.
You can configure multiple mapping variables and a variable to identify the ID of the alert. This is used later on to match update events to the existing ticket.
These mapped values can be used for the rule criteria. All criteria must match for a rule to be applied. Only one rule can be matched by an event and if an event fails to match any rules it will be ignored. Ignored rules can be re-processed as detailed later on.
Each rule has a set of outcomes to determine the content of the ticket that is created. This includes either a ticket type or template, whether actions added by updates are hidden from the end-user and mappings from the variables to ticket fields.
The following fields are currently supported:
- Custom Fields
- Summary
- Details (New Alerts only)
- Status
- Action Note (Updates only)
- Start Date
- Target Date
- Priority
- Urgency
- Categories 1 to 4
Event Management Area
If an agent has permission to view them, event management will show as an area in the Halo navigation bar. From here you can see logs for all events, including the date created, the matched rule, the ticket ID, and the status.
When clicking into an event you can see additional details, such as the body of the posted data.
If an event has not matched a rule, an agent with event edit permissions will have 3 options:
Re-evaluate
This will run the rule matching for that event again. This allows events to be processed if the rules have been updated since the time the event was received.
Create Ticket
This lets you select a rule, and the outcomes of this rule will be used to create a ticket, regardless of if the event matches the criteria
Link to Ticket
This allows you to choose a ticket to manually link the event to a ticket. None of the values will be applied from the event to the ticket, but the event will show in the ticket's event management tab.
These actions can be performed in bulk from the event management list.
Event Management Tab
This ticket tab will show all events linked to the ticket, with the same details as when viewing from the event management area.
Permissions
A new "Event Management Level" permission has been added. This determines if an agent can see the event management area and ticket tab and whether they can re-process/link events.
Additional Settings
There are 2 general settings "Number of days to retain matched event logs for" and "Number of days to retain unmatched event logs for" to determine when incoming event logs should be deleted. (Default 30 days)
Event rules are also config tracked, so can be exported and imported between instances of Halo.
Improvements to the Exchange Calendars integration
The new functionality is only available when using the Graph API connection method, combined with an Azure application that uses application permissions.
Immutable IDs
Immutable IDs can now be activated for this integration. This prevents issues caused by the ID of an Exchange appointment changing when certain properties on the appointment are changed.
Additional permissions must be granted to your Azure application to use this functionality.
Webhooks
Webhooks can now be configured to receive instant updates for Created, Updated, and Deleted events from Exchange.
As highlighted on the setup screen, subscriptions for an agent will be created/deleted automatically when toggling the integration on/off in their preferences. Any active subscriptions will be renewed either when a webhook is received for an event for that agent, or daily via the task scheduler.
You can manually manage the subscription for each agent in the table provided. The Add button also contains an "All" option to create a subscription for all outstanding agents.
Note: Immutable IDs must be enabled to use the webhook functionality.
General Improvements
The integration setup screen has now been split into tabs to more easily manage the configuration.
An inbound and outbound request tab has also been added for better visibility of the webhooks received and the requests made by the integration.
Agent App Virtual Agents are now available
Chat Profiles are now available within the Agent Application, which allows the Virtual Agent feature to be utilised by Agents. Various improvements to chat have also been made.
Chat Profiles for Agents
From the Chat profile Configuration screen, you can choose "Agent app" as a value for Access. You can then select which agents this should show for based on their roles, or everyone.
The same functionality exists for Agent chat profiles as User chat profiles - a chat flow can be configured or a Virtual Agent conversation step using a User Virtual Agent can be added.
Agent App chat profiles are not available for end-users or on the chat embeddable.
Each chat profile that's available for agents will show its own icon in the bottom right corner of the screen. If an open chat for the chat profile does not exist when opening the chat a new chat using the specified chat profile will be created, otherwise the previous chat will be resumed.
Agent App Virtual Agents
A new "Use" for Virtual Agents has been introduced called "Agent App Virtual Agent".
These are configured the same way as End-User Chat virtual agent but their functions differ from these.
An Agent App Virtual Agent has specific functions to help Agents resolve tickets and get answers from the knowledge base. These functions include;
- Searching the Knowledge base (using AI search)
- Getting details of a specific article
- Listing the agents assigned tickets
- Searching tickets (using AI search)
- Getting details of a specific ticket
- Adding a private note to a ticket
- Doing a "Quick action" on a ticket
- Refreshing AI matches for a ticket
- Applying AI suggestions on a ticket
- Assigning a ticket to the logged-in agent
- Creating a new ticket
- Logging time (using the quick time feature)
When getting ticket details, the Virtual Agent is also passed details on any ticket and article AI matches, allowing it to effectively summarise and suggest replies or resolutions to tickets based on this info.
The logged-in Agents' permissions are carried over to the Virtual Agent functions.
Agent App Virtual Agents need to be added to Agent App Chat profiles.
Default Agent App Virtual Agents
Hosted customers will receive access to 2 default Agent App Virtual Agents that are ready to be used in an Agent App Chat profile.
Halo Agent App Default Virtual Agent v1 is a default out-of-the-box Virtual Agent which can carry out all of the functions mentioned above.
Halo Documentation Virtual Agent v1 is a Virtual Agent which has access to read a vector database containing the Halo configuration Knowledge Base articles, to attempt to help Halo administrators with any Halo-related questions.
These default Virtual Agents utilise Halo's default OpenAI connection.
You can create your own Virtual Agents in-app when Halo is connected to your OpenAI account. This allows for fine-tuning of the Virtual Agent instructions.
Chat Improvements for Agents
Several minor quality-of-life improvements have been made to agent chat, such as;
- Chat message suggestions have been added to allow the agent to quickly select a pre-written message to send to the virtual agent. These are configured on the chat profile step, and some suggested values are automatically added when you add an Agent App Virtual Agent to the chat profile step. These are static and do not show based on the previous message, but instead serve as prompts of things you can ask the virtual agent. These suggestions can be made to show if ticket details is open, an article is open, or anywhere else in the app (as a catch-all).
- Agent chats linked to chat profiles now implement the settings for chat window height and width at the chat profile level, allowing you to make the chat window for Virtual agent conversations larger in the agent app
- Copy link on messages sent by the virtual agent
- Links to tickets and articles now open in the same window
- Allowed feedback to work with Virtual agents
- Various minor bug fixes and minor improvements to Agent chat and virtual agents
Added the option to use delta queries in the Microsoft Entra and Microsoft CSP integration
Using delta queries allows the Halo Integrator to retrieve recently updated records only from Microsoft Entra, thus allowing a much more frequent sync of the Halo Integrator.
Microsoft Entra Integration
Azure delta queries can be activated on the Imports tab of the Microsoft Entra integration setup screen.
Using the Reset Deltas button you can also reset the current delta saved by the Halo Integrator by either clearing the delta, or getting the latest version of the delta.
Getting the latest delta means that you can instantly start processing the integration on the Halo Integrator much faster, whereas clearing it means the entire directory of users will be processed on the next sync.
Microsoft CSP
The delta functionality is currently only available for the Microsoft Entra (Users) portion of the Microsoft CSP integration. This will be extended to other entities in future releases.
The functionality can be enabled on the Halo Integrator tab of the Microsoft CSP integration setup screen. The delta reset option is also availble here once the record is saved.
In addition to this, the delta can be reset for an individual tenant on the Tenants tab of the integration setup screen.
Inbound Logging
Once the functionality is enabled, for each user update that is processed via the Halo Integrator, a more detailed log can be found on the Inbound Requests tab of each integration setup screen. This includes a more detailed log explaining which mappings have been matched, and the result of each individual update notification.
Additional Information
- Manual imports are not affected by this functionality. The processing of the user update notifications has been designed to align with the manual import, even though the way they are processed is different.
Added the SharePoint Integration
A SharePoint integration is now available, allowing documents to be synced from SharePoint to Halo. This requires enabling the document management module within Halo.
You will need to configure an application in Azure with the required permissions and enter the details on the configuration screen. You will also need to enter your SharePoint URL.
Once authorised, you can configure the import mappings. These map sites, lists, and folders form SharePoint to folders in Halo.
First, you have to map a site, and then a list within that site. You can then choose a default folder to which files can be imported. This is used when importing files via webhook as described later.
You can then map specific folders in that list from SharePoint to Halo. Any folders mapped here will be imported from when doing a manual sync or when webhooks are received with updates from SharePoint. At least one folder mapping must be added to use the manual imports. Once these mappings have been configured, you can manually import the files from your mapped folders.
When these mappings are created, a webhook will be created in SharePoint to sync across any new files, updates to field, or file deletions in that list. If the file is not in one of your mapped folders, the setting "Default folder for webhook imports" will determine where those files are mapped to or if they are ignored entirely.
Do note that the webhooks are not sent immediately from SharePoint, so there may be a delay of several minutes before updates are reflected in Halo.
The documents created in Halo cannot be edited from within Halo, only from within SharePoint. These documents can be attached to tickets/actions in Halo and when they are downloaded, the user or agent will be given a link to the file in SharePoint.
Added ManageEngine Endpoint Central & ManageEngine Endpoint Central MSP Integration
Authorisation
If using the On-Premise version, enter your username, password and server URL field. If two-factor authentication is enabled, you'll need to enter the one-time passcode in the pop-up.
In order to authorise the Cloud hosted solution, you'll need to go to the Zoho API Console. Then add a new client and select 'server-based application'
Enter a name for the application, for the homepage URL, enter your halo URL and for the redirect URL enter https://auth.haloitsm.com/externalauth.
Then hit 'Save' and copy both the Client ID and Secret ID and enter this into the Halo fields and then authorise in Halo.
Site Mappings
Determine which site an asset should be created against using site rules. These rules are based on field values, and if matched will assign an asset to the site of the mapping.
Device Import
Set up the field mappings in the assets tab.
The asset type can be set as a fixed type for all assets, be determined from one of the fields, or use asset type mappings that are determined using rules based on the values of the mapped asset fields. Additionally, there are settings to deactivate assets deleted from Endpoint Central, to not create new assets, to not update existing asset types, and to not change the site of existing assets.
Added the PandaDoc Integration
A PandaDoc integration is now available, allowing documents to be created in PandaDoc using runbooks in Halo.
Once the integration is enabled, the runbooks will automatically be added.
You will need to configure the authentication for the custom integration linked to the runbooks. The key needs to be set to "Authorization" and the value is the key generated in your instance of PandaDoc here.
You can create the documents using one of the two available methods:
Create from a Template
This allows you to specify a template to use in PandaDoc.
Before using the runbook, you will need to edit the body being posted to PandaDocs to include the ID of the template to use, the ID of the folder to create it in, and any optional properties like fields, recipients, etc.
Create from a File Upload
This allows you to use an attachment to upload as the document.
To use this method, you'll need to add the PandaDoc Attachment field to the ticket type. This lets you pick an attachment from the ticket to use. This must be set before using the runbook. The attachment must be a supported type, like a PDF.
Before using the runbook, you will need to edit the body being posted to PandaDocs to include the ID of the folder to create it in, and the recipients.
Halo Mail Campaigns are now available
This initial release of Mail Campaigns in Halo will allow you to queue up templated emails to a Distribution List via the Mail Campaign Module.
The future roadmap for this Module contains open rate tracking, link clickthrough tracking, unsubscribe functionality and tracking as well as rule based Campaigns such as those that might be used for nurture campaigns.
Creating a Campaign
To create a Mail Campaign, please ensure you have turned on the Mail Campaign module, and the Distribution Lists module.
Ensure you have the relevant permissions to create both entities.
Go to the Mail Campaign module, and click new.
Give your Campaign a name, and select create in Halo and a type of "Blast". Other types of Campaigns will come in later releases.
To add an email to the Campaign, go to the Email Setup tab, and add an Email:
Here you can design or apply a template for the email, set the Subject and when it will send.
Once you are happy with the email, set the Status to 'Ready'.
All emails must be set to 'Ready' before the Campaign can be started.
Finally, you must select a Distribution List that will receive the emails from this Campaign. This is done on the settings tab.
In order to start the Campaign, go to the Overview tab and click the Start Campaign button. This will queue the emails to send. If the emails are set to send straight away, this cannot be undone. Emails set to send in the future can be cancelled using the Cancel Campaign button.
Please note, once a Campaign is cancelled, it cannot be re-started.
Added the 'Ready For Purchasing' screen
Purchase orders can be generated from sales order lines that have suppliers set. Sales order lines will be grouped by supplier, whether you are delivering to the end user/yourself and by ticket id if configured to do so.
This can be found in the Quotes and Orders section of Halo:
There are also two accompanying settings found in "Purchase Orders" configuration:
Lines with the same Item will not currently be collapsed.
Concurrent licensing and agent app session improvements
1. Force logout button
An option has been added to the agent details screen that allows administrators to kick another agent out of the agent app.
This can take up to a minute to execute.
The agent will receive a message that their session has been terminated by the administrator and then their session will be logged out.
These events are recorded in the Audit table.
2. Agent Idle timeout option
A new setting has been added to Advanced Settings - "Agent idle timeout (minutes)".
If this is set, if an agent has no mouse movement or keyboard input accross all of all sessions they have on the agent app, a logout request will be sent and they'll be logged out of the app, free'ing up a concurrent licence.
3. Improved Licence usage information
More information will now be shown about licence usage in the Agent list in configuration.
4. Concurrent licence usage limits per Team and Department
Teams and Departments can now be given a maximum number Concurrent Licences that they can use at once. This allows you to distribute your concurrent licences to different teams and departments.
This can be set on the Team and Department configuration screens - "Concurrent Licences" field.
This is based on the Agents default team. E.g if a "Support" team had 10 concurrent licences, only 10 agents with their default team = Support will be able to log in at once.
Login attempts for concurrent agents that are rejected due to exceeding concurrent licence counts are also now logged to the PortalLog table, along with which concurrent licence check failed (global, team or department).
5. Concurrent agent online count logging
The new setting "Record concurrent licence usage data" in Advanced Settings will add a row to OnlineStatusSnapshot once per hour.
This will show how many Agents were online at a specific point in time, and how many concurrent licence agents were online.