Skip to main content

How to set up your HaloPSA Integration

Learn how to integrate HaloPSA with your usecure platform.

Written by Anna Cunningham

This guide walks you through configuring the HaloPSA integration between your Halo instance and the usecure platform.


Part 1: HaloPSA Configuration

Step 1: Navigate to HaloPSA API Settings

  1. Log in to your HaloPSA instance

  2. Go to Configuration (gear icon in the sidebar)

  3. Under Integrations, select HaloPSA API​

Step 2: Create a New Application

  1. Click the View Applications button

  2. In the top right corner, click New to create a new application

Step 3: Configure Application Details

Fill in the following settings on the Details tab:

Field

Value

Application Name

Enter a descriptive name (e.g., “usecure Integration”)

Active

Ensure this is checked

Authentication Method

Select Client ID and Secret (Services)

Login Type

Select Agent

Agent to log in as

Select an agent that will act as the service account for API operations

Note: You may also set the Login Type to “Supplier” if that better fits your organization’s security requirements.

Step 4: Configure Permissions

  1. Click the Permissions tab

  2. Enable the following permissions:

    • read:tickets - Required to read ticket information

    • edit:tickets - Required to create and update tickets

Note: Currently, the integration only supports ticket creation. These permissions can be expanded later if additional functionality is needed.

Step 5: Configure Agent Ticket Permissions

The application-level permissions in Step 4 control what the application is allowed to do, but the agent selected in Step 3 also needs permission to create tickets in their own right. This is a separate setting on the agent's user profile, not on the application.

  1. In HaloPSA, navigate to the agent you selected in Step 3 (Configuration → Teams & Agents → Agents, or your applicable agent management page)

  2. Open the agent's Ticket Permissions

  3. Ensure Can add new Tickets is set to Yes

Note: If this is left as No or Not Set, ticket creation will fail even though the application successfully authenticates and receives a valid access token. This is one of the most common causes of failed ticket creation, so it's worth checking first if tickets aren't appearing.

Step 6: Save and Copy Credentials

  1. Click Save to create the application

  2. Copy the following values (you’ll need them for the usecure configuration):

    • Client ID - Displayed on the application details page

    • Client Secret - Click Generate to create a new secret, then click Copy

⚠️ Important: The Client Secret is only shown once. Make sure to copy it before leaving the page. If you lose it, you’ll need to generate a new one.

Step 7: Note Your API Details

Navigate back to Configuration → Integrations → HaloPSA API and note the following:

Field

Description

Resource Server

Your API base URL (e.g., https://yourcompany.halopsa.com/api)

Authorisation Server

Your auth URL (e.g., https://yourcompany.halopsa.com/auth)

Tenant

Your tenant name


Part 2: usecure Platform Configuration

Step 1: Navigate to PSA Tools Settings

  1. Log in to the usecure platform

  2. Go to NFR Settings (or your applicable settings page)

  3. Select PSA Tools from the menu

Step 2: Enable and Configure PSA Integration

On the Configuration tab:

  1. Toggle Enable PSA Tools to ON

  2. Select HaloPSA from the PSA Type dropdown

  3. Fill in the following fields:

Field

Value

Base URL

Your HaloPSA Resource Server URL without the /api suffix (e.g., https://yourcompany.halopsa.com)

Client ID

The Client ID from your HaloPSA application

Client Secret

The Client Secret from your HaloPSA application

Click Save to store your configuration

Step 3: Configure Event Settings

Navigate to the Event Settings tab to configure which events trigger ticket creation.

  1. Enable Phishing Failure Events - Toggle to enable/disable

  2. Ticket Type ID - Enter the HaloPSA ticket type ID for these events

  3. Category - Enter the category for the tickets

Tip: You can find Ticket Type IDs in HaloPSA under Configuration → Tickets → Ticket Types.

Step 4: Configure Customer Sync

Navigate to the Customer Sync tab to map usecure customers to HaloPSA clients:

  1. Include my company in the customer sync - Toggle if you want to include your own company

  2. For each customer listed, enter the corresponding PSA Customer ID from HaloPSA

Finding HaloPSA Customer IDs

To find a customer’s ID in HaloPSA:

  1. Navigate to the Customers menu in HaloPSA

  2. Select the customer you want to map

  3. Look at the browser URL - you’ll see a parameter like clientid=28

  4. The number after clientid= is the PSA Customer ID (e.g., 28)

Example URL:

https://yourcompany.halopsa.com/customers?mainview=client&clientid=28


Troubleshooting

Common Issues

Issue

Solution

Authentication failed

Verify your Client ID and Client Secret are correct. Regenerate the secret if needed.

403 Forbidden errors

Check that the application has the required permissions (read:tickets, edit:tickets)

Invalid Base URL

Ensure the Base URL does not include /api at the end

Tickets not creating

Verify the Ticket Type ID and Category are valid in your HaloPSA instance

Customer sync issues

Double-check the PSA Customer IDs match the correct clients in HaloPSA

Verifying Your Configuration

After completing the setup:

  1. Test the connection using the usecure platform’s test functionality (if available)

  2. Trigger a test event to verify tickets are being created correctly

  3. Check the HaloPSA tickets list to confirm the integration is working


Security Best Practices

  • Use a dedicated service account/agent for the API integration

  • Regularly rotate the Client Secret

  • Only grant the minimum required permissions

  • Monitor API usage in HaloPSA for any unusual activity


Additional Resources

Did this answer your question?