HaloPSA Ticketing Integration

6 min. readlast update: 09.04.2025

HaloPSA is a Professional Services Automation software that automates business practices like project management, time tracking, and more. This article will assist you in setting up the ThreatLocker HaloPSA integration, enabling Approval Requests appearing in the Approval Center to generate tickets through your HaloPSA account.

Allowing ThreatLocker to access the HaloPSA API

In the HaloPSA portal, use the left-hand side of the page to navigate to 'Configuration'. 'Configuration' appears as a gear icon.

From here, select 'Integrations' from the 'Configuration' list.

Now, within Configuration > Integrations, select 'HaloPSA API'.

You will now be brought to the 'HaloPSA API' page, which will show you information regarding your HaloPSA API details. From here, navigate to the 'Applications' section and select the 'View Applications' button.

Select '+ New' in the top right-hand corner to open the 'Add an Application' window.

In the 'Details' tab of the 'Add an Application' page:

Note: This is the only area where the Client Secret is provided. You will need to generate a new Client Secret if you lose access to the one given on the 'Details' page, which will render the original one obsolete.

  1. Enter a name for the application.
  2. Select 'Client ID and Secret (Services)' under Authentication Method
    • Client ID and Client Secret will be revealed when this option is selected.
    • Please Note: The Client Secret will only be shown once.  Please copy and save both the Client ID and the Client Secret in a secure location. You will need these when setting up the integration inside the ThreatLocker portal. You must generate a new one if you lose access to the Client Secret.
  3. Select Agent from the 'Login Type' dropdown.
  4. Select the agent the integration should log in as in the 'Agent to log in as' dropdown.

Note: You must have a default agent set up with the following permissions in order for this integration to work:

  • Tickets Access Level - Read and Modify
  • Customers Access Level - Read, Modify and Delete
  • Can add new Tickets - Yes
  • Can Edit closed Tickets - Yes
  • Can view Tickets that are assigned to other Agents - Yes
  • Can change a Ticket's Ticket Type - Yes
  • Can assign to Agents in Teams the Agent is not a member of - Yes
  • Can Edit Tickets Which Are Not Assigned To Them - Yes
  • Can always update Ticket Statuses and re-assign Tickets outside of actions - Yes

Next, select the 'Permissions' tab.

In the 'Permissions' tab:

  • Select the 'edit:tickets' permission to allow the integration to close tickets and 'read:customers' to allow the integration to gather a list of customers from HaloPSA. This list will be used to map HaloPSA customers to ThreatLocker organizations.

No changes are needed in the 'Security' tab. From here, you can select the 'Save' button at the top of this page.

The newly created Application will be listed in the main 'Applications' list with the Client ID.  You will need this Client ID when configuring the integration inside the ThreatLocker portal.

Once this has been created, you can begin the integration setup from within the ThreatLocker Portal.

Setting up the HaloPSA Integration in the ThreatLocker Portal

Within the ThreatLocker Portal, navigate to the 'Integrations' page using the left-hand side of the portal.

Once on the 'Integrations' page, use the search bar at the top of the page to search for 'Halo' and select HaloPSA from the results.

The 'Add HaloPSA Integration' side-bar will open after this is selected. You will have 4 fields to fill out:

  1. Enter the 'Domain' address where the board is hosted. For example, if your board is hosted on 'https://test.halopsa.com', this is what you will enter here. (Including https:// is necessary)
  2. Enter the 'Client ID' provided during your initial setup of the HaloPSA API application. This Client ID can be located in Configuration > Integrations > HaloPSA API > Applications, then locate the application name from the list. 
  3. Enter the 'Client Secret' provided within the Halo portal.
    • Please Note: If the Client Secret wasn't copied during the application creation within Halo, you must edit the application in Halo and generate a new Client Secret. This will render the initial Client Secret obsolete.
  4. In the 'Scope', enter/select the name of the permission(s) granted.

Select the blue 'Add' button in the bottom left corner when all information has been properly filled out.

Once you have successfully added your HaloPSA integration information, it will appear in your list of 'Configured Integrations'.

Company Mapping

Select the HaloPSA integration from your list of 'Configured Integrations'. Once the 'Edit HaloPSA Integration' side panel opens, you will notice that two new tabs now exist: 'Company Mapping' and 'Ticket Settings'. Select the 'Company Mapping' tab.

The 'Company Mapping' tab allows you to map a customer from your HaloPSA account to an Organization in ThreatLocker.

  1. Reload HaloPSA Clients - This button refreshes the list of Customers tied to your HaloPSA account. If an account was freshly added and does not appear in the customer list, select this button to reload it.
  2. Customer - A dropdown list of all Customers in your HaloPSA account.
  3. Organization - A search field that contains a list of all Organizations and child organizations associated with your account.
  4. Use this button to add the Company Mapping you have chosen.

Select the customer's name in your HaloPSA account using the 'Customer' dropdown. Then, in the 'Organization' search field, search for the name of the organization in ThreatLocker that you would like to associate with your HaloPSA customer. Once this has been filled out, use the '+' button to create the mapping. Continue this until all your desired HaloPSA customers have been mapped to their respective ThreatLocker Organizations.

Ticket Settings

The final tab on the 'Edit HaloPSA Integration' is titled 'Ticket Settings'. This is where all ticket settings can be specified.

  1. Ticket Type - This is the type of ticket you want specified in Halo when an Approval Request in ThreatLocker is raised.
  2. Status - This is the status you want tickets raised as in Halo.
  3. Escalation Status - For customers with Cyber Hero Management, if they need to escalate a request to you, this will be the status that escalated tickets are raised as.
  4. Auto Close Status - This will be the status that automatically closes tickets in Halo once tickets in ThreatLocker change to this status.
  5. Priority - This is the priority that tickets will be raised with in Halo.
  6. Team - This is the Team in Halo to which tickets will automatically be assigned.

Once you finish filling out these settings, select the 'Save' button at the bottom of the page.

Was this article helpful?