HaloPSA Integration Extension
About
HaloPSA Integration For EasyDCIM extension is built to automatically synchronise device data from EasyDCIM to HaloPSA. This integration includes key details such as model, label, manufacturer, and metadata for Server and Blade Server types.
Features
- Configure Dedicated Connection Form For HaloPSA API
- Test Connection To HaloPSA API
- Map Fields From EasyDCIM To HaloPSA
- Map Device Parameters Such As Status, Type, Location, Etc
- Map Device Metadata Such AS IP Address, Hostname, MAC Address, Etc
- Automatically Synchronize Devices Every 5 Minutes
- Filter Synchronization History
- Access Synchronization Statistics Including Duration And Number Of Imported Devices
- Synchronize Devices Assigned To Active Orders In EasyDCIM
- Use Advanced Configuration File For Custom Synchronization Settings
- Automatically Remove Outdated Synchronizations From Database
- Synchronizations:
- View Synchronization Status
- View Synchronizations List
- View/Delete Synchronizations Records
- View Detailed Synchronizations Logs
Configuration
Configuraton file
Before using the module, you need to configure the configuration file to match your HaloPSA settings. The file is located at:
/opt/easydcim/modules/addons/HaloPSAIntegration/config/halopsa/config.php
Please configure the following parameters:
- site_id – The ID of the site in HaloPSA to which servers will be assigned during import.
- servers_group_id – The ID of your server asset group in HaloPSA.
- blade_type_id – The ID of your Blade asset type, assigned to the servers group. If this type doesn’t exist, create it first in HaloPSA.
- servers_type_id - The ID of your Server asset type, assigned to the servers group.
- id_of_asset_field_device_id – The ID of the asset field for “Device ID.” If this field doesn’t exist, create it first in HaloPSA.
- kind_assets_fields – The “kind” of group to which the asset field is assigned. You can find this information by filtering the asset fields.
- status – The ID of the asset status. This status will be applied when servers are imported into HaloPSA.
- automatic_remove_of_synchronizations – The number of days after which synchronization entries will be removed from the EasyDCIM database. The default value is 7 days.
API configuration
To successfully configure the integration with HaloPSA, you need to provide the following API credentials:
- Hostname: The hostname of your HaloPSA instance.
- Client ID: The unique Client ID used for authenticating your API connection with HaloPSA. You can generate it by navigating to Configuration → Integrations → HaloPSA API → Applications and adding a new application.
- Client Secret: A secure key used for authenticating API requests. You can generate it by navigating to Configuration → Integrations → HaloPSA API → Applications and adding a new application.
Ensure you have these credentials in place to establish a successful API connection.
Field mapping
Once the connection with the HaloPSA API is established, you need to configure the field mapping between the default/metadata fields in EasyDCIM and the asset fields in HaloPSA. To create this connection:
- Select an option to add a field mapping from the Field Mapping dropdown.
- Choose the corresponding option from the HaloPSA Asset Field list.
You can create multiple field mappings. After completing the mapping process, ensure you save the changes.
Synchronization
In this test version, synchronization can only be run from the command line. In future versions, the synchronization will run automatically every five minutes.
To manually run the synchronization:
- Log in to the SSH of your EasyDCIM instance.
- Execute the following command to trigger the synchronization process:
php /opt/easydcim/console halopsa-synchronize:worker
Workflow
Please note that synchronization only works for Servers and Blade Servers with active orders. Additionally, the service must be activated in EasyDCIM.
EasyDCIM Servers are imported to HaloPSA when:
- There is no server asset in HaloPSA with the Device ID asset field value matching the Server ID in EasyDCIM.
- The server in EasyDCIM must be assigned to an order to be imported.
EasyDCIM Servers are updated in HaloPSA when:
- There is a server asset in HaloPSA with the Device ID asset field value matching the Server ID in EasyDCIM.
- The server in EasyDCIM must be assigned to an order to be updated.
EasyDCIM Servers are deleted from HaloPSA when:
- A server asset in HaloPSA has a Device ID asset field value that does not match any server ID in EasyDCIM eligible for import (the server in EasyDCIM must be assigned to an order).
Synchronizations list
This section provides a list of all synchronizations that have been queued or completed. The table displays key information for each synchronization, including:
- Action - Displays how many servers were synchronized. A tooltip with more detailed information about the synchronized servers appears when hovering over the field.
- Status - Indicates the current status of the synchronization.
- Duration - Shows how long the synchronization process took.
- Synchronization Date – The date when the synchronization was performed.
- Detailed Logs – Provides detailed logs of the actions performed during the synchronization.