Overview
The Clarity NinjaOne connector reads your technicians (the staff who operate the NinjaOne platform) and their user roles, and can provision role membership and technician accounts:
What Clarity syncs / writes | NinjaOne source | Direction |
|---|---|---|
Users (technicians) | GET /v2/user/technicians | read |
Roles | GET /v2/user/roles | read |
Per-user role assignments | inline members[] on each role | read |
Add / remove a technician’s role | PATCH /v2/user/role/{roleId}/add-members · remove-members | write |
Create a technician | POST /v2/user/technicians | write |
Delete a technician | DELETE /v2/user/technician/{id} | write |
Population note: Clarity imports technicians — your MSP/IT staff who log into NinjaOne — not end users (the contacts at your client organizations). Technicians are the population an access review cares about.
Lifecycle note: the NinjaOne API supports hard delete only — there is no reversible deactivate/disable endpoint for technicians. Clarity can create and permanently delete technicians and add/remove their roles, but it cannot suspend an account.
Authentication uses OAuth 2.0 Client Credentials (machine-to-machine). No user is impersonated; the connector authenticates as an API application you create in NinjaOne.
Prerequisites
NinjaOne Administrator access with permission to create API applications (Administration → Apps → API).
Authority to grant the API application the Monitoring and Management scopes.
Knowledge of your NinjaOne regional instance (the domain you sign in at).
Step 1 — Identify your regional instance host
NinjaOne is multi-region, and the API lives on the same host you log in at. Using the wrong region causes authentication to fail. Enter the host only — no https:// and no trailing path.
Region | Instance host |
|---|---|
US | app.ninjarmm.com |
US2 | us2.ninjarmm.com |
EU | eu.ninjarmm.com |
Canada | ca.ninjarmm.com |
Oceania | oc.ninjarmm.com |
If unsure, look at the domain in your browser while signed in to NinjaOne.
Step 2 — Create an API application
In NinjaOne go to Administration → Apps → API and add a new application.
Choose the API Services (machine-to-machine) application type — this is the Client Credentials flow. (Do not pick an authorization-code/redirect app type; Clarity authenticates without a user.)
Grant the application these scopes:
Monitoring — read access to users, roles, and organization structure.
Management — required for role-membership provisioning and technician create/delete.
Save. NinjaOne generates a Client ID and a Client Secret.
⚠️ The Client Secret is shown only once, at creation time. Copy it immediately. If you lose it, generate a new secret and update Clarity.
Step 3 — Enter the credentials in Clarity
In Clarity, add a new NinjaOne integration and fill in:
Clarity field | Value |
|---|---|
Instance Host | Your regional host from Step 1 (e.g. app.ninjarmm.com). Defaults to app.ninjarmm.com. |
OAuth Client ID | The Client ID from the API Services application. |
OAuth Client Secret | The Client Secret from the same application (stored encrypted). |
Save, then use Clarity’s Test credentials action to confirm connectivity before the first sync.

Troubleshooting
Symptom | Likely cause |
|---|---|
Auth fails immediately | Instance Host points at the wrong region — it must match the console host for your tenant. |
invalid_client on connect | Client ID/Secret typo, or the secret was regenerated in NinjaOne and not updated in Clarity. |
Sync returns users but no role assignments | The application is missing the Monitoring scope, or roles have no members. |
Provisioning (add/remove role, create/delete) fails | The application is missing the Management scope. |
Rate-limited during large syncs | Expected under heavy load — Clarity honors NinjaOne’s Retry-After and retries automatically. |
What Clarity does NOT do
No deactivation — the NinjaOne API cannot disable a technician; only hard delete is available.
No end-user import — only technicians (platform operators) are synced.
No attribute write-back — Clarity does not push identity attributes to NinjaOne.
Need Help?
If you have any problems, contact your customer success team. You can also get in touch with our general support via email, open a support ticket. Our general support team is available Monday - Friday from 8:00 AM - 6:30 PM CST.