About NinjaOne
NinjaOne (formerly NinjaRMM) is a remote monitoring and management (RMM) platform for managing endpoints, patching, alerts, and IT documentation. Serval connects to your NinjaOne tenant using an OAuth 2.0 client credentials app that you create in the NinjaOne admin console, and gives Serval workflows typed access to the full NinjaOne Public API v2 - more than 300 endpoints. The integration is region-aware: you pick your NinjaOne cloud instance (US, US2, EU, CA, or Oceania) when you connect, and all traffic goes to that instance. There are no prebuilt installable workflows; this is a pure API integration with four built-in health checks. Authentication: OAuth 2.0 client credentials, via an “API Services (machine-to-machine)” client app created in NinjaOne. Data sync: On-demand only. There is no background or scheduled sync - workflow runs call the NinjaOne API live using your stored credentials, and four built-in health checks verify the connection.What the NinjaOne integration enables
Get your credentials
Serval authenticates with a machine-to-machine API client app in NinjaOne. You will need the app’s Client ID, its Client Secret, and the region your NinjaOne tenant is hosted in. NinjaOne’s official guide is How to Set Up API OAuth Token; the short version follows.Open the API settings
Add a client app
Choose the machine-to-machine platform
Name the app
Select scopes
Set the grant type
Save and copy the credentials
Note your region
Connect in Serval
All three fields on the connect form are required - each label ends with an asterisk.Open the NinjaOne connection form in Serval
Select the API Region
Enter the Client ID
Enter the Client Secret
Connect
Verifying the connection
Serval runs four health checks automatically after a successful connect (skipping any you have disabled), and you can re-run them on demand from the connection’s health check section.- Test NinjaOne Connection - verifies the stored credentials can authenticate against the NinjaOne API. Success: “Successfully authenticated with NinjaOne”. Failure: “Unable to connect to NinjaOne. Please verify your Client ID, Client Secret, API region, and OAuth scopes are correct.”
- List NinjaOne Organizations - confirms the integration can list organizations (requires the “monitoring” scope). Success: “Successfully listed organizations from NinjaOne (sample size: [number])”. Failure: “Unable to list organizations from NinjaOne. Please verify the API credentials have the ‘monitoring’ scope.”
- List NinjaOne Devices - confirms the integration can list managed devices (requires the “monitoring” scope). Success: “Successfully listed devices from NinjaOne (sample size: [number])”. Failure: “Unable to list devices from NinjaOne. Please verify the API credentials have the ‘monitoring’ scope.”
- List NinjaOne Users - confirms the integration can list users (requires the “monitoring” scope). Success: “Successfully listed users from NinjaOne (sample size: [number])”. Failure: “Unable to list users from NinjaOne. Please verify the API credentials have the ‘monitoring’ scope.”
Gotchas and troubleshooting
Authentication fails right after connecting - check the API Region
Authentication fails right after connecting - check the API Region
Scopes are fixed at Monitoring plus Management - there is no scopes field
Scopes are fixed at Monitoring plus Management - there is no scopes field
Editing the connection requires re-entering the Client Secret
Editing the connection requires re-entering the Client Secret
Use an API Services (machine-to-machine) app, not a web or native OAuth app
Use an API Services (machine-to-machine) app, not a web or native OAuth app
Health checks only prove read access
Health checks only prove read access
Need help? Contact support@serval.com for assistance with your NinjaOne integration.

