HaloITSM Guides
Documentation to assist with the setup and configuration of the HaloITSM platform
Halo DB Integrator
IMPORTANT NOTE
If you are an On-Premise client and are upgrading to the DB integrator, you must keep the NHserver running on a schedule for 30 days.
this is required as the NHserver migrates data when it detects the new services on, allowing for a seamless switch from the NHserver to the new services. After this 30 day migration period, NHServer should be disabled and at this point all scheduling will continue as normal.
What is the Halo DB Integrator
The Halo DB Integrator is a separate Windows application that runs alongside the Halo Web Application for On-Premise customers. It is used to perform integration syncs that need to run on a recurring schedule.
What's different?
The Halo DB Integrator is different to the standard Halo Integrator application because of the way it retrieves and processes data. Whilst the standard Halo Integrator connects to the Halo API which accesses the database, the Halo DB Integrator has the Halo API built into it and connects directly to the Halo database. This means no requests are ever sent to your live Halo API whilst running the Halo DB Integrator.
Although the Halo Integrator and the Halo DB Integrator are two separate applications, they are referred to throughout the Halo web application simply as the Halo Integrator.
Where can I download the latest version?
The Halo DB Integrator is included in a folder when downloading the current stable, release candidate or beta versions. The different versions can be downloaded in the release details tab of your Halo instance:
Basic Configuration
Because the Halo DB Integrator does not communicate with the public Halo API, it does not require the same configuration as the standard Halo Integrator. Five required fields are located on the Basic Configuration tab of the Halo DB Integrator that must be configured to use the application. These are as follows:
- Halo URL - this is the URL used to access your Halo instance. It is required to allow the built-in version of the API to function.
- Database Server Name - the database server name where the Halo database is located.
- Database Name - the name of the Halo database.
- Username - the username of a database user that can access the database.
- Password - the password of the database user that can access the database.
Once you have modified any of the values in these fields, the changes must be saved and the application restarted before they will take effect. The validate button will be disabled once changes have been made and will not be reactivated until the application has been restarted.
Once the application has been restarted, the validation button can be used to confirm that your configuration is correct. The validation confirms that the application can connect to your database successfully, and retrieve information from it using the built-in API.
Choosing which integrations to run
Almost all integrations require you to enable the Halo DB Integrator on the integration's configuration screen in the Halo web application. Alongside the option to enable the Halo DB Integrator, some integrations also offer the option to exclude certain entities from Halo DB Integrator syncs. Below is an example of this taken from the Pax8 integration.
Once the Halo DB Integrator has been enabled for an integration in the Halo web application, the integration can then be turned on in the Halo DB Integrator. The integrations tab of the Halo DB Integrator contains a full list of all integrations that can be processed by the application. To enable an integration sync for the current instance of the Halo DB Integrator, enable at least one of the entities linked to the integration.
In this example, the Pax8 integration would be processed by this instance of the Halo DB Integrator, but only the subscription import; the customer import will be ignored. The benefit of running the same integration on multiple Halo DB Integrators (with each Integrator processing different entities), and how to configure this, is explained in the Running multiple Halo DB Integrators section.
Manually running the Halo DB Integrator
The Halo DB Integrator can be manually run from the Processing tab. To run a specific integration manually, select an enabled integration from the drop-down box on the integrations tab of the Halo DB Integrator.
Running the Halo DB Integrator on a schedule
A Windows scheduled task must be created to run the Halo DB Integrator on a recurring schedule. As per the instructions shown above on the processing tab, the scheduled task must point to the application file with an additional argument of AUTO. The AUTO parameter starts the processing after the application is loaded by the scheduled task.
The Start In parameter is also required. This must be set to the folder where the Halo DB Integrator application file is located and allows any logs that are created from running the Halo DB Integrator to be created in that location.
The frequency in which the scheduled task should be run is determined by the integrations that are being processed by the Halo DB Integrator, and how much data will be processed via the third-party sync. An integration such as incoming mail is recommended to run every few minutes, whereas the Azure Active Directory integration that may import thousands of users must be run much less frequently, otherwise, the sync will never be able to complete.
If you are unsure of how frequently a Halo DB Integrator sync should be run, please contact the Halo Support Team.
Running multiple Halo DB Integrators
Because each integration (or different entities for the same integration) may require processing on different frequencies, you will likely find that you need to create multiple scheduled tasks pointing at different instances of the Halo DB Integrator configuration. To do this, you can add a second argument to the scheduled task that states the location of the appsettings.json file you wish to use.
First, you should create your second appsettings.json file. To create a second file, create a copy of your current appsettings.json file and rename this. Manually open the Halo DB Integrator - it will be reading its configuration from the appsettings.json file in the root folder. Make any necessary configuration adjustments, such as enabling/disabling integrations. Click the Save button, which will save any changes to your appsettings.json file. You now have two separate appsettings.json files.
It is a requirement that the configuration file be called appsettings.json. You must therefore move your copied version to a separate folder and rename it back to appsettings.json. An example of how you could do this is as follows, where each folder name references the frequency of the Halo DB Integrator sync associated with the appsettings.json file. Both folders contain a file called appsettings.json, and the HaloIntegrator.exe file is in the C:\HaloIntegrator folder.
The scheduled task would then look like this:
- Program/script - C:\HaloIntegrator\HaloDBIntegrator.exe
- Add arguments - AUTO C:\HaloIntegrator\5min\appsettings.json
- Start in - C:\HaloIntegrator\
How can I debug an issue with the Halo DB Integrator?
If running a manual Halo DB Integrator sync, you can view the processing tab for information regarding the current sync. If the Halo DB Integrator is running via a scheduled task, a log folder will be created in the folder where the Halo DB Integrator application file that is being run is located. Log files will then be automatically created in this location.
Popular Guides
- Asset Import - CSV/XLS/Spreadsheet Method
- Call Management in Halo
- Creating a New Application for API Connections
- Creating Agents and Editing Agent Details
- Departments and Teams
- Halo Integrator
- Importing Data
- Multiple New Portals with different branding for one customer [Hosted]
- NHServer Deprecation User Guide
- Organisation Basics
- Organising Teams of Agents
- Step-by-Step Configuration Walk Through
- Suppliers