Browse Guides

Halo DB Integrator
Reading mode
Copy Link
Link Copied!
Print
Feedback
This guide has multiple versions available:
<style>p { margin: 0; }span.fr-emoticon.fr-emoticon-img { background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle; } span.fr-emoticon { font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0; } blockquote { border-left: solid 2px #5e35b1; color: #5e35b1; margin-left:0; padding-left:5px;}blockquote blockquote{ border-color: #00bcd4; color: #00bcd4;}blockquote blockquote blockquote{ border-color: #43a047; color: #43a047;} table.grid{ border-collapse: collapse;} table.grid td, table.grid th { border: 1px solid #ddd;} .fr-fic.fr-dib{ display: block; margin: 5px auto;}.fr-fic.fr-dib.fr-fir{ text-align: right; margin: 5px 0 5px auto;}.fr-fic.fr-dib.fr-fil{ text-align: left; margin: 5px auto 5px 0;}.fr-fic.fr-dii{ float: none; margin: 5px auto;}.fr-fic.fr-dii.fr-fil{ float: left; margin: 5px auto;}.fr-fic.fr-dii.fr-fir{ float: right; margin: 5px auto;}img.fr-dib.fr-fir { margin-right: 0; text-align: right;}img.fr-dib.fr-fil { margin-left: 0; text-align: left;}img.fr-dib { margin: 5px auto; display: block; float: none;}img.fr-bordered { box-sizing: content-box; border: solid 5px #CCC;}img.fr-shadow { box-shadow: 10px 10px 5px 0px #cccccc;}img.fr-rounded { border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;}</style><style> p { margin: 0; } span.fr-emoticon.fr-emoticon-img { background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle; } span.fr-emoticon { font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0; } blockquote { border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px; } blockquote blockquote { border-color: #00bcd4; color: #00bcd4; } blockquote blockquote blockquote { border-color: #43a047; color: #43a047; } table.grid { border-collapse: collapse; } table.grid td, table.grid th { border: 1px solid #ddd; } .fr-fic.fr-dib { display: block; margin: 5px auto; } .fr-fic.fr-dib.fr-fir { text-align: right; margin: 5px 0 5px auto; } .fr-fic.fr-dib.fr-fil { text-align: left; margin: 5px auto 5px 0; } .fr-fic.fr-dii { float: none; margin: 5px auto; } .fr-fic.fr-dii.fr-fil { float: left; margin: 5px auto; } .fr-fic.fr-dii.fr-fir { float: right; margin: 5px auto; } img.fr-dib.fr-fir { margin-right: 0; text-align: right; } img.fr-dib.fr-fil { margin-left: 0; text-align: left; } img.fr-dib { margin: 5px auto; display: block; float: none; } img.fr-bordered { box-sizing: content-box; border: solid 5px #CCC; } img.fr-shadow { box-shadow: 10px 10px 5px 0px #cccccc; } img.fr-rounded { border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; } </style><p>A guide explaining how to configure and use the Halo DB Integrator for an On-Prem Halo instance.</p>
<style>p { margin: 0; }span.fr-emoticon.fr-emoticon-img { background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle; } span.fr-emoticon { font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0; } blockquote { border-left: solid 2px #5e35b1; color: #5e35b1; margin-left:0; padding-left:5px;}blockquote blockquote{ border-color: #00bcd4; color: #00bcd4;}blockquote blockquote blockquote{ border-color: #43a047; color: #43a047;} table.grid{ border-collapse: collapse;} table.grid td, table.grid th { border: 1px solid #ddd;} .fr-fic.fr-dib{ display: block; margin: 5px auto;}.fr-fic.fr-dib.fr-fir{ text-align: right; margin: 5px 0 5px auto;}.fr-fic.fr-dib.fr-fil{ text-align: left; margin: 5px auto 5px 0;}.fr-fic.fr-dii{ float: none; margin: 5px auto;}.fr-fic.fr-dii.fr-fil{ float: left; margin: 5px auto;}.fr-fic.fr-dii.fr-fir{ float: right; margin: 5px auto;}img.fr-dib.fr-fir { margin-right: 0; text-align: right;}img.fr-dib.fr-fil { margin-left: 0; text-align: left;}img.fr-dib { margin: 5px auto; display: block; float: none;}img.fr-bordered { box-sizing: content-box; border: solid 5px #CCC;}img.fr-shadow { box-shadow: 10px 10px 5px 0px #cccccc;}img.fr-rounded { border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;}</style><style> p { margin: 0; } span.fr-emoticon.fr-emoticon-img { background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle; } span.fr-emoticon { font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0; } blockquote { border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px; } blockquote blockquote { border-color: #00bcd4; color: #00bcd4; } blockquote blockquote blockquote { border-color: #43a047; color: #43a047; } table.grid { border-collapse: collapse; } table.grid td, table.grid th { border: 1px solid #ddd; } .fr-fic.fr-dib { display: block; margin: 5px auto; } .fr-fic.fr-dib.fr-fir { text-align: right; margin: 5px 0 5px auto; } .fr-fic.fr-dib.fr-fil { text-align: left; margin: 5px auto 5px 0; } .fr-fic.fr-dii { float: none; margin: 5px auto; } .fr-fic.fr-dii.fr-fil { float: left; margin: 5px auto; } .fr-fic.fr-dii.fr-fir { float: right; margin: 5px auto; } img.fr-dib.fr-fir { margin-right: 0; text-align: right; } img.fr-dib.fr-fil { margin-left: 0; text-align: left; } img.fr-dib { margin: 5px auto; display: block; float: none; } img.fr-bordered { box-sizing: content-box; border: solid 5px #CCC; } img.fr-shadow { box-shadow: 10px 10px 5px 0px #cccccc; } img.fr-rounded { border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; } </style><style> p { margin: 0; } span.fr-emoticon.fr-emoticon-img { background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle; } span.fr-emoticon { font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0; } blockquote { border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px; } blockquote blockquote { border-color: #00bcd4; color: #00bcd4; } blockquote blockquote blockquote { border-color: #43a047; color: #43a047; } table.grid { border-collapse: collapse; } table.grid td, table.grid th { border: 1px solid #ddd; } .fr-fic.fr-dib { display: block; margin: 5px auto; } .fr-fic.fr-dib.fr-fir { text-align: right; margin: 5px 0 5px auto; } .fr-fic.fr-dib.fr-fil { text-align: left; margin: 5px auto 5px 0; } .fr-fic.fr-dii { float: none; margin: 5px auto; } .fr-fic.fr-dii.fr-fil { float: left; margin: 5px auto; } .fr-fic.fr-dii.fr-fir { float: right; margin: 5px auto; } img.fr-dib.fr-fir { margin-right: 0; text-align: right; } img.fr-dib.fr-fil { margin-left: 0; text-align: left; } img.fr-dib { margin: 5px auto; display: block; float: none; } img.fr-bordered { box-sizing: content-box; border: solid 5px #CCC; } img.fr-shadow { box-shadow: 10px 10px 5px 0px #cccccc; } img.fr-rounded { border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; } </style><style> p { margin: 0; } span.fr-emoticon.fr-emoticon-img { background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle; } span.fr-emoticon { font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0; } blockquote { border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px; } blockquote blockquote { border-color: #00bcd4; color: #00bcd4; } blockquote blockquote blockquote { border-color: #43a047; color: #43a047; } table.grid { border-collapse: collapse; } table.grid td, table.grid th { border: 1px solid #ddd; } .fr-fic.fr-dib { display: block; margin: 5px auto; } .fr-fic.fr-dib.fr-fir { text-align: right; margin: 5px 0 5px auto; } .fr-fic.fr-dib.fr-fil { text-align: left; margin: 5px auto 5px 0; } .fr-fic.fr-dii { float: none; margin: 5px auto; } .fr-fic.fr-dii.fr-fil { float: left; margin: 5px auto; } .fr-fic.fr-dii.fr-fir { float: right; margin: 5px auto; } img.fr-dib.fr-fir { margin-right: 0; text-align: right; } img.fr-dib.fr-fil { margin-left: 0; text-align: left; } img.fr-dib { margin: 5px auto; display: block; float: none; } img.fr-bordered { box-sizing: content-box; border: solid 5px #CCC; } img.fr-shadow { box-shadow: 10px 10px 5px 0px #cccccc; } img.fr-rounded { border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; } </style><style> p { margin: 0; } span.fr-emoticon.fr-emoticon-img { background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle; } span.fr-emoticon { font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0; } blockquote { border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px; } blockquote blockquote { border-color: #00bcd4; color: #00bcd4; } blockquote blockquote blockquote { border-color: #43a047; color: #43a047; } table.grid { border-collapse: collapse; } table.grid td, table.grid th { border: 1px solid #ddd; } .fr-fic.fr-dib { display: block; margin: 5px auto; } .fr-fic.fr-dib.fr-fir { text-align: right; margin: 5px 0 5px auto; } .fr-fic.fr-dib.fr-fil { text-align: left; margin: 5px auto 5px 0; } .fr-fic.fr-dii { float: none; margin: 5px auto; } .fr-fic.fr-dii.fr-fil { float: left; margin: 5px auto; } .fr-fic.fr-dii.fr-fir { float: right; margin: 5px auto; } img.fr-dib.fr-fir { margin-right: 0; text-align: right; } img.fr-dib.fr-fil { margin-left: 0; text-align: left; } img.fr-dib { margin: 5px auto; display: block; float: none; } img.fr-bordered { box-sizing: content-box; border: solid 5px #CCC; } img.fr-shadow { box-shadow: 10px 10px 5px 0px #cccccc; } img.fr-rounded { border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; } </style><p><strong>In this guide we will cover:</strong></p><p><strong>- What is the Halo DB Integrator and do I need it?</strong></p><p><strong>- How is the DB Halo Integrator different to the Halo Integrator?&nbsp;</strong></p><p><strong>- Downloading the DB Halo Integrator&nbsp;</strong></p><p><strong>- Configuring the DB Halo Integrator</strong></p><p><strong>- Choosing which Integrations the DB Halo Integrator runs</strong></p><p><strong>- Manually running the Halo DB Integrator</strong></p><p><strong>- Running the Halo DB Integrator on a Schedule</strong></p><p><strong>- Version Mismatch or Upgrades</strong></p><p><strong>- Using the DB Integrator with Multiple (linked) Instances</strong></p><p><br></p><p><br></p><p><strong>Related Guides:</strong></p><ul><li><strong><a target="_blank" rel="noopener noreferrer" data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/1062" data-pasted="true">Halo Integrator</a></strong></li></ul><p><br></p><p><br></p><p><span style="color: rgb(184, 49, 47);"><strong>IMPORTANT:&nbsp;</strong><strong>If you are an On-Prem client and are upgrading to the DB integrator, you must keep the NHserver running on a schedule for 30 days.</strong></span></p><p><span style="color: rgb(184, 49, 47);"><strong>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.&nbsp;</strong><strong>After this 30 day migration period, NHServer should be disabled and at this point all scheduling will continue as normal.</strong></span></p><p><br></p><p><br></p><p><strong><span style="font-size: 14pt;">What is the Halo DB Integrator and do I need it?</span></strong></p><p>The Halo DB Integrator is used exclusively by clients hosting their own Halo instance (On-Prem). It is a separate Windows application that runs alongside the Halo Web Application. It is used to perform integration syncs that need to run on a recurring schedule. You will need to use the DB Halo Integrator when:</p><ul><li>You host your own Halo Instance AND are looking to schedule regular syncs of data between Halo and an integration.&nbsp;</li></ul><p><br></p><p>If you are unsure which &#39;type&#39; of Halo Integrator you need to use, and for more information on the Halo Integrator in general, checkout <a target="_blank" rel="noopener noreferrer" data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/1062" data-pasted="true">Halo Integrator</a>.</p><p><br></p><p><strong><span style="font-size: 14pt;">How is the DB Halo Integrator different to the Halo Integrator?&nbsp;</span></strong></p><p>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.</p><p><br></p><p>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.</p><p><br></p><p><strong><span style="font-size: 14pt;">Downloading the DB Halo Integrator&nbsp;</span></strong></p><p>The Halo DB Integrator is included in the WebApp folder, it will be called &#39;HaloDBIntegrator&#39; when downloading the current stable, release candidate or beta versions.&nbsp;</p><p><br></p><p>The different versions can be downloaded in the release details tab of your Halo instance as shown in figure 1.&nbsp;</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImJkOGU0MzM5LWQyYmQtNGE0Ny05M2EwLTZlN2RiMzliNzJhMyJ9.Cwtj_5h_4KpmNdrL7VDLLdcO49uwCDyELikk9GKs2kw" class="fr-fic fr-fil fr-dib" width="1583" height="614"></p><p><strong><span style="font-size: 10pt;">Fig 1. Download new Versions</span></strong></p><p><br></p><p><strong><span style="font-size: 14pt;">Configuring the DB Halo Integrator</span></strong></p><p>Because the Halo DB Integrator does not communicate with the public Halo API, it does not require the same configuration as the standard (locally hosted) 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:</p><p><br></p><ul><li>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.</li><li>Database Server Name - the database server name where the Halo database is located.</li><li>Database Name - the name of the Halo database.</li><li>Username - the username of a database user that can access the database.</li><li>Password - the password of the database user that can access the database.</li></ul><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjE4NTZkZWYzLTMyNTQtNDRmMy05NTM2LTEzY2QwOWY4NGVjMCJ9.3zPtDNIWi2eVgGI07qAbQ_wDQYmhxhbVpiUIvqOqbxY" class="fr-fic fr-fil fr-dib" width="629" height="612"></p><p><strong><span style="font-size: 10pt;">Fig 2. Connecting your instance to the DB Halo Integrator</span></strong></p><p><br></p><p>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.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjE0OTlkNGY4LTcxZTQtNDc0NS04MGE0LTEwOTZhMmE0M2U4OCJ9.fBFsvWw6CS1RuIXHYoOAFg6pTlxnXpNq-peLmBMmPUg" class="fr-fic fr-fil fr-dib" width="628" height="613"></p><p><strong><span style="font-size: 10pt;">Fig 3. Updating the application with changes&nbsp;</span></strong></p><p><br></p><p>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.</p><p><br></p><p><strong><span style="font-size: 14pt;">Choosing which Integrations the DB Halo Integrator runs</span></strong></p><p><span style="font-size: 11pt;">Almost all integrations require you to enable the Halo DB Integrator on the integration&#39;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.</span>&nbsp;</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjBlZDk4MDI3LWIwM2ItNDY5OC05NTM0LWU1MGM2YWVjYWZmOCJ9.ELakKGTJz1Nj-Ktq6usUUjAh1f8WPujZCRWftfMj5gM" class="fr-fic fr-fil fr-dib" width="993" height="296"></p><p><strong><span style="font-size: 10pt;">Fig 4. Enable the Halo Integrator for the Pax8 integration for selected entities</span></strong></p><p><br></p><p>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.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImQ5OTNlOWZkLTdkYTQtNDAzMC05MDk3LTNhYTMyZGMyNGQ1YiJ9.K3uhHycKQhatMR_6VeNKgrUlCEpDSogYShocM60cupg" class="fr-fic fr-fil fr-dib" width="627" height="609"></p><p><strong><span style="font-size: 10pt;">Fig 5. Enable the integration in the DB Halo Integrator&nbsp;</span></strong></p><p><br></p><p>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 &quot;Running multiple Halo different schedules&quot; section of this guide.</p><p><br></p><p><strong><span style="font-size: 14pt;">Manually running the Halo DB Integrator</span></strong></p><p>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.</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImE0MDkyYmI2LWZkODctNDYxOC1iMDc5LTgyNzY3NTljNDk1NSJ9.ycSzSRQtGj270omGUomI0Ax_TyDze5iZRoeJNtduGPU" class="fr-fic fr-fil fr-dib" width="628" height="612"></p><p><strong><span style="font-size: 10pt;">Fig 6. Manually run the DB Halo Integrator</span></strong></p><p><br></p><p><strong><span style="font-size: 14pt;">Running the Halo DB Integrator on a Schedule</span></strong></p><p>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.</p><p><br></p><p>You would only need to configure the first three tabs within task scheduler as well as the last one.</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImM5OWNmN2E2LTAwY2ItNDcxNy04MjNiLWZiZTdkNzdhYmU5YyJ9.QpvFhhBo2IZaMjkjtVRG9_VLcz5QRa1T0tvfaCfMr9A" class="fr-fic fr-fil fr-dib" width="670" height="670"></p><p><strong><span style="font-size: 10pt;">Fig 7. Task Scheduler</span></strong></p><p><br></p><p>Create a Task either by right clicking or selecting create task.</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImYzNWRhMmY4LTVjYjktNDA1NS04MzQ0LTIzNjRlYzhhZGUwOSJ9.c_wwSdv5TTbkxddEQnIav9Jw81JZPHnMydWyW67Nw48" class="fr-fic fr-fil fr-dib" width="1684" height="394"></p><p><strong><span style="font-size: 10pt;">Fig 8. Create a task</span></strong></p><p><br></p><p>First we need to configure the General Tab:</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImUxOTk5NDgwLThlOGQtNGZhMi1hYWEyLTY4YmI5MjM3YzRlMyJ9.4xOaIynBSj-tM42RRM1tqf9kuwI9yDyuqFBQt-wZs8s" class="fr-fic fr-fil fr-dib" width="630" height="481"></p><p><strong><span style="font-size: 10pt;">Fig 9. &#39;General&#39; Tab Configuration&nbsp;</span></strong></p><p><br></p><p>Then we need to configure a Trigger for the task. In my example I am setting up a task for the incoming email sync and so have set the task to run every five minutes, This can be done by adding a new trigger here:</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjlmMDg0ZGFlLTI3NWItNGI0Mi04YTFkLTNlMmI2NTVkYmQ5NSJ9.ANqHXDc1savOBHNgIuSX6NnIZgpu0mKDyZXnA7zUccM" class="fr-fic fr-fil fr-dib" width="1252" height="517"></p><p><strong><span style="font-size: 10pt;">Fig 10. Configure trigger for the task</span></strong></p><p><br></p><p>Now, we need to configure the Actions tab, which will determine what we are executing and how. It is important to note that this will be with back slashes. Also, the arguments section will look like this:</p><ul><li id="isPasted"><strong>Program/script - C:\\HaloIntegrator\\HaloDBIntegrator.exe</strong></li><li id="isPasted"><strong>Add arguments - AUTO C:\\HaloIntegrator\\appsettings.json</strong></li><li id="isPasted"><strong>Start in - C:\\HaloIntegrator\\</strong></li></ul><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImEyNmE5MjEzLTU3OWEtNGY1Yy1hM2JlLTQ3NDk5Mjc1MWU4NiJ9.BPE1y74jfGUMciob5rkVWUBpVQQgT-HBU9Qm73VPHIQ" class="fr-fic fr-fil fr-dib" width="447" height="493"></p><p><strong><span style="font-size: 10pt;">Fig 11. &#39;Actions&#39; tab configuration</span></strong></p><p><br></p><p>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.</p><p><br></p><p>Finally, we must now configure the &quot;Settings&quot; tab of the scheduled task. Here we only need to make one change and that is to ensure we have the task set to &quot;run a new instance in parallel&quot;:</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjRmZTBhODYyLTBkOGEtNGI0OC04Y2JiLWJkNzAwZjAyZTcyNCJ9.eUqUwbARoYUNST7k2P_z93YZdU2TEXgy6YnfPEWHp9M" class="fr-fic fr-fil fr-dib" width="948" height="718"></p><p><strong><span style="font-size: 10pt;">Fig 12. Set task to run a new instance in parallel</span></strong></p><p><br></p><p>This means that if the integrator takes longer to process than its scheduled interval, the next scheduled run will still start and both batches will run in parallel.</p><p><br></p><p>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.</p><p><br></p><p>If you are unsure of how frequently a Halo DB Integrator sync should be run, please contact the Halo Support Team.</p><p><br></p><p><strong><span style="font-size: 12pt;">Running Multiple Different Schedules (using Multiple appsetting.json files)</span></strong></p><p>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.</p><p><br></p><p>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.</p><p><br></p><p>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:\Halo\Webapp\Integrator folder.</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjZiNmQ5NmUwLWRiYTItNGEyMi1iNWFkLTgzOGRmOGIxYjRkNCJ9.x_c8-0z3OEkVCaAEPHnza3kA0io9tRGx0W9NEWPpj9g" class="fr-fic fr-fil fr-dib" width="1043" height="449"></p><p><strong><span style="font-size: 10pt;">Fig 13. Create multiple appsettings.json files for each run&nbsp;</span></strong></p><p><br></p><p><strong><span style="color: rgb(226, 80, 65);">IMPORTANT:</span></strong></p><p><span style="color: rgb(226, 80, 65);">The <strong>ACTIONS&nbsp;</strong>tab for the scheduled task would then look like this (ensure the file path matches the client&#39;s file structure):</span></p><ul><li style="color: rgb(226, 80, 65);">Program/script - <strong>C:\\Halo\Webapp\Integrator\HaloDBIntegrator.exe</strong></li><li style="color: rgb(226, 80, 65);">Add arguments - <strong>AUTO C:\\Halo\Webapp\Integrator\5MinuteSchedule\appsettings.json</strong></li><li style="color: rgb(226, 80, 65);">Start in - <strong data-pasted="true">C:\\Halo\Webapp\Integrator\</strong></li></ul><p>You can then test this has been setup correctly by manually running the scheduled task to see if it processes any information.</p><p><br></p><p><strong><span style="font-size: 14pt;">Version Mismatch or Upgrades</span></strong></p><p>The DB Integrator should always be upgraded automatically when you upgrade your application, in line with this <a href="https://support.haloservicedesk.com/portal/kb?id=732">guide</a>. Since it is contained with the webapp file you download when upgrading your On-Prem instance.&nbsp;</p><p><br></p><p>If there is a version mismatch then it is recommended you reinstall the nhdweb zip file, extract it and copy the DB Integrator application over to your server and replace the old DB Integrator. This can be found here within any webapp install:</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjJmZmNlNzk0LTI2M2QtNDU0MS05NzQ0LTc1NjBiYWU4YWFmZCJ9.Wvq7OMDqnugXcUaz8-gXrw4gKFiQkB0zppeinTUZ90w" class="fr-fic fr-fil fr-dib" width="817" height="721"></p><p><strong><span style="font-size: 10pt;">Fig 14. Integrator file within the WebApp folder</span></strong></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjNhMDg5NDk5LWM5ZDYtNDJlNC1iMzFlLTVmYTZlOWE0YTg5YyJ9.hzQLYZhPR9qndVeVcZlyuVDv3-1NHEJf7aDr8nzZNow" class="fr-fic fr-fil fr-dib" width="634" height="154"></p><p><strong><span style="font-size: 10pt;">Fig 15. HaloDBIntegrator within the WebApp file</span></strong></p><p><br></p><p>You can compare the version of the DB Integrator by running the application and checking the top banner.&nbsp;</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImJkYTkwYzVmLWZjOTgtNDQ5Yi05NWY5LWI3ZjlmMjgxMzNhOSJ9.16NrN44-tNFUTnc-5APptNZJOPsVqRGDPiBiA8mlHNw" class="fr-fic fr-fil fr-dib" width="628" height="622"></p><p><strong><span style="font-size: 10pt;">Fig 16. DB Halo Integrator version</span></strong></p><p><br></p><p>If there are any issues with this then please reach out to Halo Support.</p><p><br></p><p><strong><span style="font-size: 14pt;">Using the DB Integrator with Multiple (linked) Instances</span></strong></p><p>If you have multiple (linked) instances of Halo (Prod/UAT/Dev) and are using the DB Integrator (to process incoming mail for example) you will need to complete some additional setup for the DB Integrator to account for these additional instances.&nbsp;</p><p><br></p><p>Ensure you have followed the &quot;Halo DB Integrator&quot; section of this guide: <a href="https://usehalo.com/halopsa/guides/2258/" target="_blank" rel="noopener noreferrer">Setting up the &ldquo;Instances&rdquo; area for On-Prem Halo Instances</a></p><p><br></p><p>If this is not complete you will experience issues with the DB Integrator being able to process requests for each of your instances. When setup you will also need to make sure integration credentials are associated with a specific instance (where applicable). For example, when adding credentials for a mailbox you will need to choose which instance (Prod/UAT/Dev) the credentials should be used for.&nbsp;</p>
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.