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
| Capability | Description |
|---|---|
| Device management | List, search, and inspect managed devices; reboot devices, set owners, approve or reject devices, schedule maintenance, and decommission devices. |
| Patch management | Scan for and apply OS and third-party software patches on a device, and report on patch installs. |
| Scripting and automation | List automation scripts, look up per-device scripting options, run scripts on a device, and configure and control Windows services. |
| Alerts and activities | List and reset alerts, and read activity logs globally or per device. |
| Organizations and locations | Create and manage organizations, locations, and policies; generate agent installers; read org-level devices, end users, and custom fields. |
| Reporting queries | Fleet-wide reports covering antivirus status and threats, device health, software inventory, OS and software patches, logged-on users, disks, volumes, processors, RAID, network interfaces, backup usage, and Windows services. |
| Ticketing | Create and update NinjaOne tickets, add comments, read log entries, and manage ticket forms, boards, statuses, and attributes. |
| Knowledge base and IT documentation | Manage knowledge base articles and folders, document templates, organization documents, and checklists. |
| Custom fields | Read and update custom fields at the device, organization, and location level, including bulk operations and attachment handling. |
| Users and roles | List users, end users, and technicians; manage user roles and role membership. |
| ITAM and software licenses | Manage unmanaged devices, asset relationships, tags, software products, and software license records with assignments. |
| Backup, billing, vulnerabilities, and webhooks | Read backup jobs and integrity checks, manage billing entities such as invoices, products, and agreements, manage vulnerability scan groups, and configure the account webhook. |
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.Choose the machine-to-machine platform
Name the app
Select scopes
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
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.

