HaloCRM Guides
NHServer Deprecation User Guide
NHServer information
The NHServer application runs in the background in both Halo's hosted infrastructure (for hosted customers), and on customers own premises via a scheduled task (on-premise instances).
NHServer starts up, does a single NHServer Scan for a single customer and then shuts down. On a single scan, the main tasks NHServer fulfills are as follows;
- Incoming mail scan - NHServer connects to each mailbox configured in Halo and polls each email in the mailbox, creating and updating tickets where necessary.
- Outgoing mail scan - NHServer looks at any Action, EmailStore (standalone emails) and EscMsg (notification) records that need an email sent, and sends it.
- Notification scan - NHServer looks at recent changes to tickets, creates, and delivers notifications (EscMsg records) based on the Notification config records.
- Scheduling scan - NHServer looks at the next creation date for scheduled tickets, scheduled reports, automated tickets, and recurring invoices. If these are in the past, NHServer creates them.
- Workflow timers - NHServer calculates which "Timers" on workflows are due, and processes them.
- Time sensitive tasks - these are things that happen in the background at a certain time, that aren't triggered through a user doing something. Examples include SLA Hold Reminders, SLA Auto Release, Status Emails, Approval Reminders, Child ticket rule creation, Recurring Prepay, Prepay expiry.
- Miscellaneous tasks - NHServer handles all sorts of small tasks. Examples include cleaning up large database tables, anonymising old tickets, service unknown scans, updating agent statuses when appointments start, etc.
NHServer is being deprecated and will soon be made obsolete. All functions of NHServer have been moved into the main Halo API or Halo Integrator.
No new functionality is being added to NHServer, and all new mail related features will be available in the new services only.
NHServerless Pre-requisites
In order to migrate from NHServer to the new backend services, the following requirements must be met;
- Halo Web Application/Halo is at least v2.132.31 for hosted customers, v2.143.85 for on-premise customers.
- NHServer is at least v13.64.
- The Security & Performance page in agent web application config shows no deprecated & obsolete functionality besides NHServer.
Hosted customers
Hosted customers do not need to take any action when switching to the new services. This will gradually be rolled out over time.
On-premise customers
On-premise Halo customers can go NHServerless using the Go NHServerless option on the Security & Performance page.
Before going NHServerless customers will need to configure the Halo DB Integrator scan for incoming mail. The Halo DB Integrator applications serves as a replacement for NHServer for on-premise instances.
On-premise customers will need to set up this application to run on a schedule at a minimum interval of 5 minutes, and to process incoming email specifically (make sure no other integrations are selected). The standard Halo Integrator cannot be used for processing incoming emails.
The configuration of the Halo DB Integrator is detailed in the related article: Halo DB Integrator.
On-premise customers are recommended to leave NHServer running for at least a month after activating the Go NHServerless option, as this handles the gradual migration of some time sensitive tasks to the new services.
Halo DB Integrator should be upgraded at the same time as the Halo web application.
Processing a range of mailboxes
In addition to the configuration outlined in the Halo DB Integrator article, it is also possible to process a range of mailboxes on each instance of the Halo DB Integrator that you configure. This can be achieved by adding a MailboxRange property to the appsettings.json file for each integrator. For example, adding "MailboxRange": "1-5" will mean that the Halo DB Integrator only processes mailboxes with an ID in the range of 1-5.
It is recommended that you split your incoming mail sync across multiple Halo DB Integrators if you are processing a large number of mailboxes, or if your mailboxes receive an excessive amount of emails.
Incoming email webhooks
After going NHServerless, if using the Office 365/Azure method for incoming email, you can now configure incoming email webhooks from the mailbox configuration screen.
This is detailed in the related article: Instant Email Processing with Azure.
This allows email to be received into Halo faster.
On-premise customers can decrease the frequency of Halo Integrator mail scans when using incoming email webhooks, as the mail scan becomes a fallback for failed webhooks. The Halo DB Integrator also triggers other background tasks in the API such as scheduled reports, so this should be left running at a minimum interval of 30 minutes.
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, Teams and Roles
- 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