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
Log in to your HaloPSA instance
Go to Configuration (gear icon in the sidebar)
Under Integrations, select HaloPSA API
Step 2: Create a New Application
Click the View Applications button
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
Click the Permissions tab
Enable the following permissions:
read:tickets- Required to read ticket informationedit: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.
In HaloPSA, navigate to the agent you selected in Step 3 (Configuration → Teams & Agents → Agents, or your applicable agent management page)
Open the agent's Ticket Permissions
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
Click Save to create the application
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., |
Authorisation Server | Your auth URL (e.g., |
Tenant | Your tenant name |
Part 2: usecure Platform Configuration
Step 1: Navigate to PSA Tools Settings
Log in to the usecure platform
Go to NFR Settings (or your applicable settings page)
Select PSA Tools from the menu
Step 2: Enable and Configure PSA Integration
On the Configuration tab:
Toggle Enable PSA Tools to ON
Select HaloPSA from the PSA Type dropdown
Fill in the following fields:
Field | Value |
Base URL | Your HaloPSA Resource Server URL without the |
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.
Enable Phishing Failure Events - Toggle to enable/disable
Ticket Type ID - Enter the HaloPSA ticket type ID for these events
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:
Include my company in the customer sync - Toggle if you want to include your own company
For each customer listed, enter the corresponding PSA Customer ID from HaloPSA
Finding HaloPSA Customer IDs
To find a customer’s ID in HaloPSA:
Navigate to the Customers menu in HaloPSA
Select the customer you want to map
Look at the browser URL - you’ll see a parameter like
clientid=28The 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 ( |
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:
Test the connection using the usecure platform’s test functionality (if available)
Trigger a test event to verify tickets are being created correctly
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
HaloPSA API Documentation - Official API reference






