Prepare for HaloPSA Integration
This section help you to create an API application in HaloPSA and then retrieve the Client ID and Client Secret.
HaloPSA Terminology
Customer
The Customer entity represents an organization (company).
Site
The Site entity typically represents a physical location or office associated with a Customer (Client). It is part of the customer management module and is used to define where services are delivered, such as:
- A client's endpoints (computers)
- A location for equipment installation or support
- A billing or shipping address
Relationships:
- One Customer can have multiple Sites.
- A Site can be associated with only one Customer.
Asset
The Asset entity represents a physical or virtual endpoint (computer) tracked and managed within the system—typically something that requires support, maintenance, or monitoring for a Customer.
Relationships:
- One Site can have multiple Assets.
- An Asset can be associated with only one Site.
Asset Types
When an Asset is created, it requires an Asset Type. Asset Types are part of a configurable list and can be edited as needed.
Integration Components
Custom Field
For integration purposes, Management Console requires storing the associated computer’s HID (Hardware ID) for each Asset. This is done using a Custom Field.
Custom Field Name: MSPCBLHID
Once authentication is set up on the HaloPSA page in the Management Console, the Custom Field is created and can be viewed in the Custom Fields section for Assets.
After setup, the Custom Field will be visible for all Assets, not just those mapped with Management Console. However, it can be configured to be visible only to Agents.
Custom Button
The Custom Button is used to enable the Connect feature directly from the HaloPSA Asset page.
Custom Button Name: Connect to computer
Once authentication is set up on the HaloPSA page in the Management Console, the Custom Button is created and appears in the top panel of the Asset page.
After setup, the button will be visible for all Assets, even those not mapped with Management Console. Currently, there is no functionality to hide the button based on Custom Field values.
Agent
The Agent entity refers to a staff member, technician, or user who uses HaloPSA to provide support and services to Customers.
It is also used to provide API access for external applications (such as Management Console).
API Access (Application Entity)
Management Console uses the HaloPSA API via the Application entity. The application can log in on behalf of any Agent.
The recommended setup uses Client ID and Client Secret, linked to a specific Agent.
Once configured, the credentials can be used to access the application via the Management Console in the Authentication tab on Settings > HaloPSA.
Prerequisites
You must have Admin access to your HaloPSA account to create integration. Later you can use more granular permissions for HaloPSA Agent and HaloPSA Application.
You need to create or access an API application in the HaloPSA settings.
Steps to Retrieve Client ID and Client Secret in HaloPSA
- Log in to HaloPSA using an account with administrative privileges.
- Go to Configuration:
- Click the gear icon in the top-right corner or access it via the left-hand navigation menu depending on your UI version.
- Navigate to Integrations > HaloPSA API
- Alternatively, search for API in the configuration search bar. This section allows you to manage API access and integrations.
- Go to the API Applications tab.
- Create a New Application or select an existing one
- Click New to create a new API application.
- Provide a name for the application (e.g., "MSP360 Integration").
- Set the redirect URI (if needed, typically used for OAuth 2.0 flows).
- Configure scopes/permissions appropriate for your integration.
- Save the Application:
Once saved, HaloPSA will generate the Client ID and Client Secret.
Copy and securely store both values, especially the Client Secret — it may not be shown again.
Important Notes
The Client Secret is shown only once. Save it in a safe place.
If you lose the secret, you'll need to regenerate it by editing the application.