
HaloITSM Guides
Documentation to assist with the setup and configuration of the HaloITSM platform
Datto RMM Integration
In this guide we will cover:
- What is the Datto RMM integration?
- Connecting to Datto RMM
- Configuring Asset Imports
- Import assets and Customers/Sites automatically on a schedule
- Remote into Assets from Halo
- Alerting
What is the Datto RMM integration?
Halo can be integrated with Datto RMM to have devices and sites from Datto imported and created in Halo, any changes to assets and sites will also be synced to Halo on a scheduled basis. When assets are imported/updated they can be assigned to a user in Halo automatically based on a field on Datto or the user that last logged into the device. Assets imported from Datto will have a shortcut button against them (in Halo) to allow agents to both open the asset in Datto and remote into the asset using your remote tool.
The integration also supports alerting functionality, either through alert email or the use of webhooks. When alerts are raised in Datto a ticket will be logged in Halo automatically. When this alert/ticket is then resolved this will resolve the alert/ticket in the linked application. Allowing agents to manage alerts from within Halo.
Connecting to Datto RMM
To enable the Datto RMM integration in Halo, go to Configuration > Integrations, and enable the module by clicking the "+" sign.
Fig 1. Enabling the module.
Once the module has been enabled, click into the module to begin configuring it.
Fig 2. Setup.
The first setup steps require you to input your API URL, API Key and API Key Secret that will need to be generated in Datto RMM. To generate these values, first navigate to Setup > Global Settings and set "Enable API Access" to ON.
Fig 3. Enabling API access.
Next, navigate to Setup > Users, and select the User that you would like to enable the API access for. Once selected, click the "Generate API Keys" hyperlink, and an API Key and API Key Secret will be generated. You will also find the API URL below this.
Fig 4. Creating the key.
Once the values have been generated, revert back to the Datto RMM integration setup screen in your Halo application, and copy the values you have generated into the corresponding fields.
Ensure that all clients you are matching have a Main site set.
Fig 5. Main site on a customer/client.
If you would like to have a button against tickets that takes the agent to the related asset (against the ticket) in Datto you will need to set the 'Datto Connect Type' field.
Fig 6. Datto connect type
Here, you will need to choose whether the link takes agents to Datto using the old UI or new UI (in Datto). The option you select here will depend on the UI you are using in Datto.
Customer/Site Import
To configure how customers and sites are imported from Datto head to the 'Customers, Sites and Users tab'.
As Datto does not have the same concept of customers and sites as Datto, you will need to choose how sites in Datto are created in Halo, using the 'New Site Creation' field. The options are as follows:
- Create new Datto Sites as Customers in Halo
- Create new Datto Sites as Sites in Halo
Create new Datto Sites as Customers in Halo
Choose this option when you have multiple customers in you Halo instance. When chosen you will be able to map a Halo customer and site to a site in Datto. If there is a site in Datto that is not mapped, a new Halo customer will be created for this site.
Fig 7. Create new Datto Sites as Customers in Halo configuration
Map Halo customers and sites to Datto sites using the mappings table on the setup page. When mapping customers you will need to choose both the Halo customer and site a Datto site corresponds to. All assets under this site in Datto can then be imported to the mapped Halo customer/site.
You can also choose a top level for new customers (created by Datto) to be created under).
Create new Datto Sites as Sites in Halo
Choose this option when you would like all Datto sites to be imported to a single customer in your Halo instance. Typically used when you have one or few customers in your instance (HaloITSM customers), or you only manage one customer's assets using Datto RMM.
Fig 8. Create new Datto Sites as Sites in Halo
Select the customer in Halo you would like Datto sites to be created under. When importing sites from Datto they will attempted to be matched to a Halo site, under this customer, based on the site name. If the site name does not match a site in Halo, a new site will be created under the chosen customer.
Configuring Asset Imports
To configure how assets are imported from Datto into Halo head to the 'Assets' tab.
Fig 9. Asset import setup page
Default Asset Site - Here, you can choose the site in Halo assets will be created under if they cannot be matched to a site. Assets are matched to a site based on their site in Datto and the linked customer/site in Halo. Therefore, ensure you have mapped and imported sites from Datto already to establish a link between the Halo and Datto site.
Asset Field Mappings
Datto fields can be mapped to Halo asset (or asset custom) fields. Mapping fields ensures when the asset is imported from Datto into Halo data will be imported to the correct (corresponding) fields. To have the data from a field imported you will need to ensure the field this is stored in is mapped.
Add to the 'Field Mappings' table to add a field mapping.
Fig 10. Asset field mapping
Field Type - This will be the type of Halo field the data will be imported into. See our guide on Asset Fields if you are unsure on the difference between asset fields and custom fields in Halo.
Now choose the Dato RMM and Halo field you would like to map together. If you would like data from the Datto RMM field to create a new field in Halo select '*Create new field during the next import*' under 'HaloPSA Field'.
Only apply this mapping to new Assets and Assets where the Asset field does not currently have a value - When this is enabled if the Halo field already has data within it, different to the data in the mapped Datto RMM field, the field data will not change. Fields will only be populated when they contain no data or when new assets are being created.
Determine Asset types
All assets in Halo need to have an asset type. When assets are imported from Datto they can be created and assigned to types based on either the 'Type' or 'Category' fields in Datto.
Fig 11. Datto type to determine Halo asset type
Datto Asset Type to map to Halo Asset Type - Choose which field in Datto determines asset type in Halo. The field you choose must contain the name of the desired asset type, if this name can be matched to an existing asset type in Halo, it will be assigned this asset type. If the name is not the same as an asset type in Halo, a new asset type will be created. Note that the names must be identical in order to match.
If new asset types are created by Datto they will need to be created under an asset group. Choose the group used for new asset types using the 'Default Group for new Asset Types' field on the integration setup page.
Asset matching
Set the 'Asset Matching field' to determine how assets imported from Datto are matched to existing assets in Halo. The field selected here should contain the unique identifier of the asset. This field should also be mapped to a Halo field in the 'Asset mappings' table.
Fig 12. Asset matching field
Matching using Datto ID - This option should only be selected as the asset matching field if you are matching on assets that have been created by Datto. When assets are imported from Datto the Datto ID is stored against the asset in Halo on the backend, this can then be used to match this asset to the asset in Datto during future imports. If the asset has been created in Halo manually (or any method other than importing from Datto) it will not have a Datto ID against it, so the corresponding asset in Datto will not be able to match to it.
Asset Matching Value Exclusions - Here you can set assets to not be matched using the matching field if the matching field contains a certain value. For example, if two assets have the matching field set to be 'None' they would match even though they are separate assets. By adding the value 'none' to the matching value exclusions list you can ensure the assets are matched using their Datto ID instead.
User Matching
When assets are imported from Datto they can be matched to a user in Halo, they can either be matched based on a Datto field or based on the user that was last logged into that device. You will need to enable 'Attempt to match User based on Last Logged-In User' to enable user matching.
When enabled options will appear to select the user matching fields.
Fig 13. User matching settings
Matched based on a Datto field
Populate the 'User Defined Field to use for matching User' field with the name of the field in Datto that contains the user information (e.g. username, email address). Only populate this field if you would like to match users to assets in Halo based on a Datto field.
Then in the 'User Matching Field' select the field in Halo that contains the same user information as the selected Datto field. As of v2.182.1+, you can choose a secondary matching field too, this will be used if the primary field fails to match.
Match Based on Last Logged in User
When matching users to assets this way the user of the asset in Halo will change automatically based on the user tat last logged into the device.
Ensure the 'User Defined Field to use for matching User' field is left blank. Then in the 'User Matching Field' field, choose the field used to match to users in Halo. The field chosen here must contain the user details that users use when they log into a device. As of v2.182.1+, you can choose a secondary matching field too, this will be used if the primary field fails to match.
Note: Users can only be matched based on 'Windows username' when users are being import from Microsoft CSP or Entra.
Additional Asset configuration
Remote Tool URL (v2.178+)- Here enter the URL of the Datto remote tool used to access assets. This will allow you to remote into an asset from the asset page in Halo.
Fig 14. Additional asset import settings
Deactivate Assets in Halo when they are deleted from Datto (Halo Integrator only) - When enabled assets that have been deleted in Datto will be deactivated in Halo. If an asset has been imported from Datto but cannot be found in a sync following creation it will be deactivated (as the integrator cannot find the asset it assumes it has been deleted).
Once you are happy with your asset import configuration use the 'Import Assets' button to pull up the import preview screen and begin importing assets.
Import assets and Customers/Sites automatically on a schedule
To have assets imported automatically on a scheduled basis you will need to enable the Halo integrator for this integration. To do this head to the 'Halo Integrator' tab and check 'Enable the Halo Integrator for the Datto RMM integration'. Then choose which entities you would like to be imported.
Fig 15. Enable Halo integrator
When enabled these entities will be imported and updated in Halo on a daily basis.
Remote into Assets from Halo
Any assets imported from Datto RMM will automatically have two buttons appear against their asset profile in Halo.
Fig 16. Shortcut buttons against asset
Open in Datto RMM Remote Tool - Used to remote into the asset using your remote tool.
Open in Datto RMM - Used to open the asset in the Datto RMM application.
Alerting
Alerts in Datto RMM can automatically log tickets in Halo when raised. Alerting integration functionality will differ slightly depending on the alert processing method you use, we support the following methods:
- Webhooks (recommended)
To setup alerting functionality head to the 'Alerts' tab.
Email alerting
This method uses alert emails from Datto to log tickets in Halo, email rules are used to have alert emails from Datto log a ticket when received. When the ticket is resolved in Halo the alert will then be resolved in Datto. To use this method set the 'Alert processing method' to be 'Email'.
The following method using email rules is backwards compatible with the webhooks method, although it is advised to disable the email notifications when using the webhook method. Processing alerts is not as efficient as alerting via webhooks (as emails will not be processed as quickly as webhooks). When an alert is raised in Datto RMM, an email can be sent to a mailbox of your choice. By choosing a Mailbox which has been setup in Halo, these alert emails can be processed and turned into tickets.
Fig 17. Email alerting setup
The email that is sent from Datto RMM must have the Alert ID in the subject in the format of Alert{XXX} where XXX is the Alert ID in Datto RMM and is set by using [alertuid] when setting up the monitor.
(https://rmm.datto.com/help/en/Content/4WEBPORTAL/Monitor/CreateManageMonitor.htm#Create)
For example: Alert on device: [ipaddress], reason [alert] - Alert{[alertuid]}
Fig 18. Alert example.
To assist with processing these emails correctly, a 'From Address' field and 'Default Ticket Type' field are available in the Datto RMM integration setup screen in Halo.
Fig 19. Alerting configuration.
The from address should be set to the email address that will be sending the alert emails from Datto RMM. You can then decide which ticket type new alerts are created as using the default ticket type option.
Note: Populating the email address field will result in a new email rule being created in your instance (of type 'Datto Alert via email').
Once the alert has been received by your Halo application, it will be logged as a ticket, and you can action this as you normally would. Once the ticket is closed in Halo, a request will be sent to Datto RMM to also close the alert in Datto RMM.
If you would like to further modify the behaviour of alerts when they are received, you can make further modifications to the email rule which has been created for you by navigating to Configuration > Email > Email Rules, and choosing the Datto RMM Alerts rule (this will have been created automatically).For more information on how to edit/customise email rules check out our guide Email Rules.
Webhook Alerting
When using webhooks to process alerts, a ticket will be logged in Halo as soon as an alert is triggered in Datto. When the ticket is resolved in Halo this will resolved the alert in Datto and vice versa. Webhooks will need to be setup in Datto to use this method but this method is recommended as alerts are processed faster and it does not rely on a mailbox connection.
To use this alert processing method set the 'Alert processing method' field to be 'Webhooks'.
Fig 20. Alert configuration.
Webhooks will need to be configured in Datto RMM at the device Monitor level in the response section. When webhooks are toggled on, Datto RMM will show a URL, a content type, and payload fields.
Selecting the 'Webhook Configuration' button in Halo will show you how to set up the webhooks correctly including the custom payload needed to input into the Alert Raised and Alert Resolved payload fields in Datto RMM. The alert_resolved attribute must be set to true in the custom payload for Alert Resolved and false for the Alert Raised. Use the generate password function and use this for the state attribute in the custom payloads Alert Raised and Alert Resolved.
Fig 21. Webhook configuration.
To populate additional ticket fields against the alert ticket using data from Datto, use the additional values section of the webhook setup. Use the JSON here to add onto your existing webhooks and pull through the desired data.
This will be backwards compatible with the email processing method but it is advised to disable email notifications from Datto RMM when using the webhook method.
Note: When testing the webhook on Datto, it will fail, this is due to the variables being pulled for the test just giving the field name instead of the actual content of the field. As explained in the screenshot, it is recommended to disable the email notifications to avoid duplicates when using the webhooks feature.
Once you have setup your webhooks in Datto had back to Halo and set the ticket type and user that will be used for alert tickets created by Datto.
Fig 22. Ticket type and user used for alerts
Alerts will be attempted to match on a user based on the device the alert is for, if this device is matched to an asset in Halo and this asset has a user the ticket will be assigned to the matched asset's user. If no match can be made the alert will be matched to the user chosen in the 'New Alert User' field.
Inbound Requests
The 'Inbound Requests' tab shows all inbound webhooks from Datto RMM. Here, you can monitor incoming alert webhooks, useful for troubleshooting should any errors arise.
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