ninjaOne Integration

Overview of how to integrate ninjaOne with HumanizeIT

API credentials

ninjaOne differs from the other integrations as it does not use a generated token or a client id + password pair. Authorization is made with an access token via the Oauth flow.

That means that a user id in the ninjaOne platform has to be utilized to grant API usage.


The setup process follows this steps:

  1. Client ID creation at ninjaOne
  2. Client ID + client secret set up in MSP
  3. Oauth grant page appear, confirm it
  4. If everything is fine, setup complete

More details on the Oauth flow can be found here:

https://app.ninjarmm.com/apidocs-beta/authorization/overview

 

1 - Client ID on ninjaOne

  1. Identify a user ID to create a client app ID
    https://app.ninjarmm.com/#/administration/apps/api/client  
  2. Sets with these parameters:
    1. Application platform: Web
    2. Name: Humanize IT API
    3. Redirect URIs:
      1. TEST: https://app-test.managedservicesplatform.com/ninja/oauth/resp
      2. PROD: https://app.managedservicesplatform.com/ninja/oauth/resp
    4. Scopes: Monitoring (this is fine for data read)
    5. Allowed Grant Types: 
      1. Authorization Code
      2. Refresh Token

After saving this page, a client secret will be displayed, document this as it will only be available once. Closing the page will show the client ID in the list.

2 - Client ID + client secret set up in the Platform

Navigate to the Integrations screen
https://app.managedservicesplatform.com/mycompany/integrations

Go to the ninjaOne integration tab:

ninjaOne_api

 

The Web base URL depends on the region of the ninjaOne account.

ex. For the US, https://app.ninjarmm.com

The client ID and the secret is to be added here.

 

3 - After it the consent page will be displayed

ninjaOne_accept1

After accepting it, the setup is complete. 

4 - Client organization matching

The integration connection is displayed on the Client's Asset tab. If both a PSA and RMM have been configured, then a pencil icon is displayed: 

ninjaOne_sync

We can search for ninjaOne organizations on this modal and link them to the current client. 

This linking is done by client name similarity first (we allow 3 characters difference between the two names), and manually by selecting the organization from the list:

ninjaOne_api

After linking to a ninjaOne organization, this will be displayed:

ninjaOne_sync1

This asset integration linking does not affect the project or other PSA integration sources at the client.

Asset import

The 'Sync button will pull in assets from the active source

This is the field mapping:

serialNumber: system.serialNumber,

name: systemName || dnsName,

warrantyExpire: warranty.endDate,

details: '',

TypeId: role.id

storage: volumes[0].capacity,

locationName: location.name,

manufacturer: system?.manufacturer,

modelNumber: system.model,

os: os?.name,

purchaseDate: warranty.startDate,

processorModel: processors?.[0]?.name,

replaceDate: null,