FAQ - Integrating with Datto RMM
This topic provides answers to questions frequently asked by our partners about integrating with Datto RMM .
Datto RMM gathers its endpoint information from a piece of software (an Agent) that is installed on every endpoint the Administrator wishes to manage. These Agents are available for Windows, macOS, and Linux.
Once installed, the Agent gathers a wide array of device information ranging from networking (hostname, IP address, network interfaces) to hardware (installed/vacant RAM slots, processor, disk drives) and software (name, version).
Datto RMM supports two types of management:
- Indirect: Operations conducted using the web interface, which are prepared in advance (often in bulk) and, optionally, as part of a schedule. Indirect actions can be performed via a policy (for example, all devices meeting x criteria must monitor y criteria), via a scheduled job (all devices meeting x criteria must do y), or via a report (I need information pertaining to x for devices meeting y criteria).
- Direct: Operations done at that point in time via the Agent software. Direct actions are typically performed using a live, device-to-device connection, and typically involve operations that cannot be scaled (for example, inspecting the Registry or Event Log on a Windows device).
As direct actions are handled by humans, they cannot be scheduled or regimented using the product. As such, RMM integrations are generally handled using one of three indirect measures:
- Scripts: A script can be packaged along with files into a single standalone entity (a component), which can be run ad hoc or scheduled to run on devices at a certain time or when devices meet a certain criterion. One could, for example, produce a filter that only targets devices with a particular brand of antivirus software installed, and then schedule a script containing a command-line instruction (for example, perform a scan now) to run at a certain time every day.
- Monitors: These are handled in much the same way as scripts (that is, components) but with a restriction on file attachments. A monitor is a piece of script that runs against a device on a predetermined interval and can raise an alert when a criterion is or is not met. When managing monitors, a component can be set to run in response to an alert.
- Datto RMM also offers a full RESTful API, which provides access to device information. For more information, refer to Datto RMM API.
Datto RMM does not contain a script interpreter. It passes over the scripts it receives directly to the endpoint. As a result, scripts for Windows devices can be written either in Batch or PowerShell, with Unix devices accepting Shell. Python, Ruby, and Groovy are also supported, although support for these languages is incumbent on the endpoint having the relevant command interpreters installed beforehand.
Which approach to take differs depending on the nature of the integration.
- For a software system such as an antivirus or backup solution, we would generally recommend a two-step approach:
- A script component containing the application installer and code to either install or uninstall the program based on administrative selection.
- A monitor that runs regularly on all endpoints with the software installed to gather data on the software through whatever means necessary (for example, Event Log, Registry, logging data, direct interaction, etc.).
- For a cloud-based integration with a purpose of data sharing and augmentation, we generally recommend integrating using the API and pulling and pushing data from and to the platform using credentials supplied by the partner.
As the partner, you are expected to code the scripts/monitors/API instructions that would be used within the Datto RMM product. However, Datto provides a comprehensive set of documentation for all users, and it may be possible to arrange testing accounts with Datto staff to ensure that components/API calls are working correctly.
Please consult the Datto RMM Integrations Whitepaper for details.
To integrate with Datto RMM, please sign up to join our Developer Program and state your intention to work with Datto RMM. A staff member will reach out to you directly.
NOTE This program is for software vendors only.
For all other inquires, feel free to reach out to us via email at rmm-integrations@datto.com.