HaloPSA Roadmap
Find out about all the exciting, up and coming developments in HaloPSA
In Progress
Tech Data Integration (synnex)
Sync Billing Data - Live product lookups - Update Services/Subscriptions from Halo
ConnectWise RMM/Command Integration
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
IT Glue Integration - non flexible assets
Improvements to the IT Glue integration to bring across Non-Flexible Assets.
PandaDocs Integration
Integration with PandaDocs to push Quote data into PandaDocs documents and allow PandaDocs to handle sign-off of documents
Incoming Email Service
Creation of a new background service that will handle processing of emails based on webhooks from Graph/Google instead of regular checks of the mailbox
Up Next
Microsoft Azure billing Integration
Integrate with Azure for consumption billing data to be imported to Recurring Invoices
Improvements to native report builder
More entities to be added to the Query Builder such as Invoice and Project specific datasets
Google Maps & Agent Lookup
Adding functionality to track all active agents on Google Maps.
NMI Payment Gateway
Future
Go Cardless Integration
Avalara Integration
Lines added to Quotes and Invoices will pull live tax rates from Avalara
Notifications Expansion
Introducing follower notifications on specific tickets or tickets assigned to a specific agent.
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
Ingram Micro and Tech Data product lookups
Live product lookups from Ingram Micro and Tech Data to be included with the Etilize search function so that prices and stock can be checked
Recently Completed
Various improvements to projects
Projects
- The buttons to switch to the Gantt and Kanban views for project tasks are now always shown outside of the dropdown, next to the refresh button.
- Added a setting at ticket type level to show a bar for project completion. This will show in the Kanban and Gantt views and can be based on the total tasks completed, the total estimated time of the completed tasks, or the total budgeted time of the completed tasks.
- Added a setting to display the earliest start and lastest end time for project tasks. These will also show in the Kanban and Gantt views.
Kanban View
- Added the option to customise the Kanban card HTML. Similar to the tile HTML, this can be configured at column profile level and these can use the same set of $-variables as the tile HTML. If this override is set, then it will be applied to any Kanban view using that column profile, otherwise, the default formatting will be used.
- Added $-sla_bar and $-details to the variables for Kanban card and tiel HTML, which show the SLA progress bar and ticket details respectively.
Gantt View
- Improved the styling of the Gantt rows to make them easier to read. This includes adding spacing between the rows and not cutting off the titles of the rows.
- The milestone and number of child tickets are now shown against each row where applicable.
Icinga integration is now available
This integration will allow you to import hosts and services from Icinga as assets and create tickets from notifications sent from Icinga
To configure this integration you must enable the module, and enter the URL of the Icinga API, including its port number, as well as the username and password for an API user.
Asset Imports
As Icinga does not have a concept of sites, you can specify site mappings based on asset fields to determine the site for an asset.
When importing assets, import the hosts first and then the services, as the services will be linked to existing hosts if one is found.
Alerting
For the alerting, 2 files must be added to the Icinga server to set up notifications that will send to Halo. These files include a script and a configuration file, the content of both can be found on the integration setup screen.
These notifications will create a ticket in Halo. The asset for the host/service that triggered the notification will be linked to the ticket, and this will determine the ticket's site.
If a notification comes in for a host/service that already has an open ticket, then it will update that ticket. If the notification is for the state changing to UP/OK in Icinga, then the ticket will be closed.
WhatsApp Business integration is now available
This integration will allow you to create and update Tickets in Halo from messages sent to your WhatsApp Business phone number.
To configure this integration you must enable the module, and enter your WhatsApp Business Account ID and Phone Number ID into the Halo configuration, then authorise the Integration with a Facebook account:
After authorisation, you can enable the creation of Tickets from WhatsApp Messages and select a Ticket Type to be created. You can also decide whether to re-open closed Tickets if the same User sends another message, or to open a new Ticket.
To send WhatsApp Messages as replies to Users who have contacted you via WhatsApp, you must configure an action to show the "Send to WhatsApp Toggle":
You will then see a toggle on the New Action screen which indicates you will be replying via WhatsApp:
Rhipe Integration is now available
Improvements to Custom Integrations & Integration Runbooks
1. Value Mappings added to Input/Output Variables
A mappings table has been added to the Input and Output variables screen on Integration Runbooks and Custom Integration methods. This is only available for variables for data types of string, int, real and boolean.
This allows you to replace the value of the variable with a different value. * can be used as a catch-all to replace anything that isn't matched.
For example, you may have an inbound webhooks have a priority field with possible values "High", "Medium", "Low". Using value mappings these can be turned into the Halo priority format "1", "2", "3" when creating a Halo ticket.
2. Halo API Actions have been added to Runbook Steps
A runbook step can now be configured to run a Halo API action as an alternative to Executing an integration method.
Choose the step type as "Action", and action type as "Halo API action". You'll then get the choice of three actions;
- Create Ticket
- Update Ticket
- Create Action
In order to be flexible and accept Runbook variables, this option requires a JSON input in the format of the resource in the Halo API. Each option comes with an example of how to use it, along with the available variables in the runbook.
This allows you to create tickets, update tickets and create actions without authentication and having to integrate Halo with itself as you previously had to do in Runbooks.
3. External link matches added to Tickets and Actions
You can now use the "_match": true property of new_external_link to allow ticket id matching in the Post tickets and Post actions endpoints.
This allows Runbooks to be configured for incoming webhooks without needing to find a ticket matching a third-party id before updating it. Only the third-party id is needed to update or add an action to the ticket.
E.g
The primary external link not associated with a module will now show on the sidebar in Ticket Details.
4. Runbooks can now be re-tried from the start on failure
End steps can now be given a result of either Success or Failed.
Failed results will re-queue the runbook from the beginning for 5 minutes time. Runbooks can re-queue up to 2 times.
5. Added a system-use Action to Execute an Integration Method
Action system use "Execute an Integration Method" allows you to execute a single Custom Integration method and put the result in the Action note field. This runs before the Action is saved, and the Action is only saved if the method succeeds.
This is an alternative to having a full runbook when only one method is needed, and an alternative to sending a webhook as custom integration methods are more customisable.
Google reCAPTCHA is now available for anonymous Tickets
This integration allows you to use any of the three Google reCAPTCHA methods to validate your anonymous Tickets.
You must configure a site in the Google reCAPTCHA admin centre and enter your Site Key and Secret Key into Halo. After this, your anonymous Ticket forms will be protected on both the Self Service Portal and Embedded Ticket Forms.
The Site24x7 integration is now available
This integration allows you to set up webhooks with basic authorisation in Site24x7. This will create tickets in Halo when a monitor enters a failed state.
When the monitor returns to normal status, another webhook will be sent out that will close the ticket off in Halo.
Forecasting is now available
There is now a forecasting view in timesheets which shows all forecasting for chosen agents:
The colouring uses the same fields as planning and is based of shifts/working hours.
You can add to each agent's forecast for a week against any ticket types where forecasting is enabled. Just navigate to the forecasting tab that will be shown:
This will allow you to click into any week and add forecasting for any agent in the team that project is against for that project.
ChatGPT Integration added
We've added an integration with OpenAI's ChatGPT. This integration has a number of built-in use cases that can be easily customised and can be extended further using Integration Runbooks.
The ChatGPT integration can be configured from Config > Integrations > ChatGPT, and set up requires an OpenAI API Key. ChatGPT API is recommended to ensure prompt response times from the OpenAI api.
1. Using ChatGPT to Improve an Agent Note or Email
In Action config, in the ChatGPT group, set Operation to "Improve Agent Note". Then write some instructions for ChatGPT in the ChatGPT Prompt field, making use of $-variables.
E.g The following is some HTML text, please correct any spelling and grammar errors, make it polite, and preserve the html tags and br tags: $-RICHACTIONNOTE
This will allow an Agent to write a brief email response to the customer, which ChatGPT will correct any spelling or grammar issues, and re-write the email to sound more polite. The updated email is shown on the Email Preview screen before the email is sent.
2. Using ChatGPT to write a response to the User
In Action config, in the ChatGPT group, set Operation to "Generate User Response". Then write some instructions to tell ChatGPT how it should behave in the System Message field.
E.g You are a friendly chat bot that replies to HTML emails in HTML.
When starting this action, ChatGPT will be given this instruction as well as the conversation with the user so far, and will generate a response. This response will show in the Note field of the Action and allow the Agent to edit the response before sending it to the User.
3. Adding ChatGPT to the Halo Chat bot
An option has been added to Chat Bot flows to allow the Halo Chat Bot to reply using ChatGPT.
On a step set Type as Action, and Action Type as Generate Response with ChatGPT. Then you'll be able to set the behaviour of ChatGPT with a System Message.
E.g You are a friendly chat bot answering generic queries on a website.
This will mean that at this step ChatGPT will be sent the conversation so far with the system message telling it how to behave, and will generate a response and reply to the user.
4. Custom Integrations and Integration Runbooks
Further use cases of integrating with ChatGPT can be added by using Integration Runbooks.
E.g Setting up a runbook to ask ChatGPT to do something and post the response back onto the ticket.
A system-use ChatGPT Custom Integration record has been added which shares the API Key as the built-in integration, and will show when the ChatGPT module is enabled. This comes with an example of how to use the OpenAI API to ask ChatGPT a question and map the response to an Output Variable.
Planning screen added
When you navigate to timesheets you can now find a planning button in the top right which will show the following:
This is the total amount of time each agent has booked into appointments and tickets on a given day and behaves much the same as timesheets. There are 2 settings in project management to determine the percentage thresholds on when each block changes colour from orange then to red.