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:
- Client ID creation at ninjaOne
- Client ID + client secret set up in MSP
- Oauth grant page appear, confirm it
- 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
- Identify a user ID to create a client app ID
https://app.ninjarmm.com/#/administration/apps/api/client - Sets with these parameters:
- Application platform: Web
- Name: Humanize IT API
- Redirect URIs:
- Scopes: Monitoring (this is fine for data read)
- Allowed Grant Types:
- Authorization Code
- 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:
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
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:
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:
After linking to a ninjaOne organization, this will be displayed:
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,