Skip to main content

NinjaOne RMM Integration

Connect your NinjaOne RMM platform to give AI agents read-only access to IT infrastructure data, including organizations, devices, alerts, and software inventory.

Overview

The NinjaOne RMM Integration is purpose-built for MSPs and IT teams managing distributed infrastructure. It provides 3 action-based tools that allow AI agents to query your NinjaOne organizations, search and inspect devices, and retrieve deep device intelligence including software inventory, OS patches, disk health, and active alerts.

The integration uses client credentials OAuth 2.0: you supply your NinjaOne API credentials once during setup, and the system manages token acquisition automatically. Once connected, a "NinjaOne" tool group is automatically created and ready to assign to any agent.

info

All 3 NinjaOne tools are strictly read-only. Agents cannot run scripts, push policies, remediate issues, or make any configuration changes through this integration.

Use Cases

  • Device Health Check - Agent queries the health status and active alerts of a specific device when an employee reports a problem
  • IT Budget Planning - AICOS retrieves device inventory counts and types to prepare an IT asset report for budget planning discussions
  • Support Ticket Triage - Agent queries active alerts and OS patch status to prioritize incoming IT support tickets
  • Software Compliance - Agent retrieves installed software inventory on a specific device to verify license compliance
  • Customer Site Overview - Agent lists all devices for a specific organization to provide a site health summary

How It Works

IT Admin enters              Token acquired               Agents query NinjaOne
NinjaOne credentials via client credentials using tool group
| | |
v v v
+--------------+ +-------------------+ +------------------+
| Instance URL | | OAuth2 client | | Search orgs, |
| Client ID | ---> | credentials flow, | ---> | devices, get |
| Client Secret| | token cached | | device details, |
| | | per execution | | alerts, software |
+--------------+ +-------------------+ +------------------+

Getting Started

Prerequisites

Before connecting NinjaOne:

  1. Pro Plus+ Subscription - The NinjaOne integration requires the custom.ninjaone feature code on your subscription
  2. NinjaOne Account - Your organization must have an active NinjaOne RMM subscription
  3. NinjaOne API Application - You must create an API application in NinjaOne to get a client ID and client secret (see NinjaOne documentation for creating OAuth applications)
  4. Control Bridge Admin Access - You must be a Control Bridge administrator to configure the integration
tip

To create a NinjaOne API application, navigate in NinjaOne to Administration > Apps > API and create a new client credentials application. Grant it read-only permissions for Organizations, Devices, and Activities.

Step 1: Enter NinjaOne Credentials

  1. Navigate to Build > Connections > NinjaOne
  2. Enter your NinjaOne Instance URL - this is the base URL for your NinjaOne instance (e.g., app.ninjarmm.com for US, eu.ninjarmm.com for EU)
  3. Enter your Client ID from your NinjaOne API application
  4. Enter your Client Secret from your NinjaOne API application
  5. Click Save Connection

Step 2: Test the Connection

  1. After saving, click Test Connection
  2. The system attempts to acquire an access token using your client credentials
  3. Confirm you see a success message indicating the connection is active

Step 3: Assign the NinjaOne Tool Group to Agents

NinjaOne tools are bundled into a "NinjaOne" tool group automatically created at connection time:

  1. Navigate to Build > AI Agents > Agents
  2. Edit the agent that should have NinjaOne access
  3. Go to the Tools tab
  4. In the Tool Groups section, enable the NinjaOne group
  5. Save the agent

All 3 NinjaOne tools are assigned together as a single unit via the tool group.

Available Tools

When NinjaOne is connected, 3 read-only tools are created and grouped under the "NinjaOne" tool group.

1. NinjaOne Search Organizations (ninjaone_search_organizations)

Search, list, and retrieve organization (customer) data from your NinjaOne RMM instance.

ParameterTypeRequiredDescription
actionstringYeslist, get, locations, users, or search
organization_idintegerConditionalNinjaOne organization ID (required for get, locations, users)
search_querystringConditionalOrganization name for partial match search (required for search)
page_sizeintegerNoNumber of results to return (default: 50, max: 1000)
afterintegerNoCursor for pagination - ID of the last item from the previous page

Action summary:

ActionDescription
listList all organizations with pagination
getGet detailed info for a specific organization, including settings, policy mappings, and custom fields
locationsList locations (sites) for an organization
usersList end-users associated with an organization
searchSearch organizations by name (partial match)
info

The search action performs client-side filtering over paginated results and is capped at 1000 organizations to prevent excessive API calls. For large environments, use list with cursor-based pagination for complete access.

Example response fields for list/search:

FieldDescription
organizations[].idOrganization ID
organizations[].nameOrganization name
organizations[].descriptionOrganization description
totalCountTotal number of results returned
hasMoreWhether more pages exist
nextCursorCursor value for the next page

2. NinjaOne Search Devices (ninjaone_search_devices)

Search, list, and retrieve device data from your NinjaOne RMM instance.

ParameterTypeRequiredDescription
actionstringYeslist, get, search, or list_by_organization
device_idintegerFor getNinjaOne device ID
organization_idintegerFor list_by_organizationNinjaOne organization ID
search_querystringFor searchSearch query matching device name, DNS name, or serial number
page_sizeintegerNoNumber of results to return (default: 50, max: 1000)
afterintegerNoCursor for pagination

Action summary:

ActionDescription
listList all devices with full details and pagination
getGet detailed info for a specific device including OS, last contact, applied policy, and custom fields
searchSearch devices by name, DNS name, or serial number
list_by_organizationList all devices for a specific organization

Example response fields for list/list_by_organization:

FieldDescription
devices[].idDevice ID
devices[].organizationNameParent organization name
devices[].systemNameSystem hostname
devices[].dnsNameDNS name
devices[].osOperating system
devices[].lastContactLast contact timestamp
devices[].statusDevice status
totalCountTotal number of results
hasMoreWhether more pages exist

3. NinjaOne Device Intelligence (ninjaone_device_intelligence)

Retrieve detailed device intelligence data including disks, installed software, OS patches, active alerts, and custom fields.

ParameterTypeRequiredDescription
actionstringYesdisks, software, os_patches, alerts, or custom_fields
device_idintegerYesNinjaOne device ID (required for all actions)
page_sizeintegerNoNumber of results to return (default: 50, max: 1000)
afterintegerNoCursor for pagination

Action summary:

ActionDescription
disksGet disk drive information including model, size, interface type, and health status
softwareGet installed software inventory including version, publisher, and install date
os_patchesGet pending and failed OS patches with severity and KB article reference
alertsGet active alerts for the device including severity, message, and source policy
custom_fieldsGet custom field values configured in NinjaOne for the device

Example response fields for os_patches:

FieldDescription
patches[].namePatch name
patches[].severitySeverity level
patches[].statusPENDING, FAILED, or REJECTED
patches[].kbArticleKB article reference
patches[].releaseDateRelease date

Example response fields for alerts:

FieldDescription
alerts[].severityAlert severity
alerts[].messageAlert message
alerts[].sourcePolicySource policy name
alerts[].createdAtAlert creation timestamp
tip

A typical device intelligence workflow: use ninjaone_search_devices with search action to find the device by name, then use the returned device_id with ninjaone_device_intelligence to retrieve alerts or software inventory.

Security & Limitations

Security

  • Client credentials OAuth 2.0 - Uses the industry-standard client credentials flow for secure, automated authentication
  • Read-only access - All API calls are GET requests only; no write, script execution, or management operations are possible
  • Encrypted credential storage - Client secret is stored encrypted at rest
  • Token refresh per execution - Access tokens are loaded fresh on each execution to ensure expiry data is current
  • Tenant isolation - Credentials and tools are strictly scoped to your tenant
  • Audit logging - Every tool execution is logged via the unified audit log with operation name, parameters, duration, and success/failure

Limitations

  • Read-only - Cannot run scripts, push policies, remediate alerts, or make any changes in NinjaOne
  • Single connection - Only one NinjaOne connection per Control Bridge tenant
  • Search cap - Organization and device name searches are capped at 1000 results (10 pages) for performance
  • No remote access - Cannot initiate remote connections to devices
  • No ticket creation - Cannot create or update NinjaOne tickets (if your instance uses ticketing)
  • Custom fields read-only - Can read custom field values but cannot update them

Troubleshooting

Connection Test Fails

Problem: The test connection returns an error after entering credentials

Solutions:

  1. Verify your NinjaOne instance URL is correct (do not include https:// - just the hostname, e.g., app.ninjarmm.com)
  2. Confirm the client ID and client secret are correct and match the API application in NinjaOne
  3. Ensure the API application in NinjaOne is enabled and not expired
  4. Verify the API application has the required read permissions for Organizations and Devices

Agent Cannot Find NinjaOne Tools

Problem: NinjaOne tools do not appear when editing an agent

Solutions:

  1. Verify the NinjaOne connection is active at Build > Connections > NinjaOne
  2. Check that the "NinjaOne" tool group exists at Build > AI Agents > Tool Groups
  3. Assign the NinjaOne tool group (not individual tools) to the agent
  4. Refresh the page and try again

Agent Returns "NinjaOne Connection Is Currently Unavailable"

Problem: Agent execution returns a connection error

Solutions:

  1. Navigate to Build > Connections > NinjaOne and click Test Connection
  2. If the test fails, verify your client credentials are still valid in NinjaOne
  3. Check if the API application has been disabled or expired in NinjaOne Administration
  4. Update the credentials if they have been rotated

Device Search Returns No Results

Problem: ninjaone_search_devices with search action returns an empty list

Solutions:

  1. Verify the search query matches part of the device name, DNS name, or serial number
  2. Use the list action first to confirm devices exist in your NinjaOne instance
  3. Try the list_by_organization action with a known organization ID to verify device data is accessible
  4. Check that the devices are active and not archived in NinjaOne

Device Intelligence Returns Errors

Problem: ninjaone_device_intelligence returns an error for a specific device

Solutions:

  1. Verify the device_id is correct - use ninjaone_search_devices with get to confirm the device exists
  2. Some device intelligence data may be unavailable for offline or recently added devices
  3. Custom fields data requires custom fields to be configured in your NinjaOne instance

Best Practices

Agent Instructions

Help your agents use NinjaOne tools effectively:

When working with NinjaOne RMM data:
1. Start with ninjaone_search_organizations to find the relevant organization,
then use list_by_organization to scope device searches
2. When looking up a specific device, use the search action with the device
hostname or name before retrieving details
3. For comprehensive device health checks, combine ninjaone_device_intelligence
with both the alerts and os_patches actions for a complete picture
4. Use the device ID from search results consistently - IDs are stable
identifiers for follow-up queries

Configuration

  • Assign the NinjaOne tool group to agents that handle IT support or infrastructure monitoring tasks
  • Consider creating a dedicated IT operations agent with NinjaOne access rather than adding it to general-purpose agents
  • Test the integration with common IT queries (active alerts, device count by organization) after setup

Security

  • Use a dedicated API application in NinjaOne for Control Bridge, separate from any human user credentials
  • If you rotate the client secret in NinjaOne, update it in Control Bridge promptly
  • Review agent execution logs periodically to monitor what NinjaOne data agents are accessing