Uniportal Docs

NinjaOne

Connect NinjaOne so the AI can read your devices and alerts, and run scripts, including on-prem Active Directory work, from a ticket.

The NinjaOne integration connects Uniportal to your NinjaOne instance, so the AI can look up devices, alerts, and patch status, and run scripts as part of working a ticket. It also lets you turn on the Uniportal Runner, which runs Uniportal-managed Active Directory and file-server tools through NinjaOne without you writing the scripts.

Run Active Directory tools without writing scripts

The Uniportal Runner is a feature of this integration. You add one script to NinjaOne, once, and the AI can run Uniportal-managed scripts for common tasks like creating a user or resetting a password. Those scripts are written and maintained by Uniportal, not by the AI.

How the connection works

Uniportal connects to NinjaOne through an API application that you create in NinjaOne. You sign in to NinjaOne once to authorize it, and Uniportal keeps working without asking you to sign in again.

You choose what Uniportal is allowed to do by choosing the scopes. A scope is a permission on the API application, and NinjaOne enforces it. If you don't grant Management, Uniportal can't run a script in your NinjaOne, no matter what the AI is asked to do. That is a stronger guarantee than a setting inside Uniportal, because it holds even if someone changes a Mode by mistake.

Prerequisites

  • A NinjaOne user who can create API applications.
  • Admin/Owner role in your Uniportal tenant.
  • Your customers already exist as companies in Uniportal, so you have something to map NinjaOne organizations to. Companies come from Microsoft 365 or Google Workspace.

Setup

Open the NinjaOne connection in Uniportal

In the Uniportal dashboard, go to Integrations and select NinjaOne. Keep this window open. It shows the redirect URI you need in the next step.

Create an API application in NinjaOne

In NinjaOne, create a new API application with these settings:

SettingValue
Application platformWeb
Grant typesAuthorization Code and Refresh Token
Scopeoffline_access, plus the scopes you choose below
Redirect URIThe URI shown in the Uniportal dialog

Copy the redirect URI from the Uniportal dialog instead of typing it. NinjaOne only sends you back to a URI that matches exactly, so one wrong character fails the connection at the last step.

offline_access is what lets Uniportal renew its own access. Without it, the connection works until the first token expires and then stops.

Then copy the application's Client ID and Client Secret.

Choose the scopes

Grant the application only the scopes you want Uniportal to have. NinjaOne has three:

ScopeWhat it allowsWhat Uniportal uses it for
MonitoringRead-only access to devices and organization structureLooking up devices, alerts, software, patches, and disks
ManagementCreate and modify organizations and devices, run scriptsRunning scripts, including the Uniportal Runner, and changes like updating a device or creating an organization
ControlRemote access to devices through the APIRemote access

Monitoring on its own gives you a read-only connection. The AI can investigate a ticket but can't change anything in NinjaOne. Add Management when you want it to run scripts, and you need it for the Uniportal Runner. Add Control only if you have a reason to give API access to remote sessions.

You can change your mind later by editing the application's scopes and re-authorizing from the integration page.

Enter the credentials in Uniportal

In the Uniportal dialog:

  1. Choose your Region, for example Canada (ca.ninjarmm.com). It must be the region your NinjaOne instance is hosted in. An API application only works in the region where it was created.
  2. Paste the Client ID and Client Secret.
  3. Under Scopes, select the same scopes you granted the application.
  4. Continue to NinjaOne when prompted, sign in, and authorize.

Select only the scopes the application was granted. If you ask for one it doesn't have, NinjaOne rejects the connection. That is by design: the application decides what is possible, and Uniportal can't ask for more than that.

Map organizations and contacts

From the NinjaOne integration tile, map NinjaOne organizations and contacts to the matching company in Uniportal. Select Auto match to let Uniportal suggest matches for you to review and approve, or match them manually yourself.

Mapping is what lets the AI find the right information fast. When a ticket comes in about a specific customer's device or server, the AI already knows which NinjaOne organization to check and where to find that device, instead of searching blind. Uniportal works without mapping, but we recommend doing it: it's what lets Agent Tools act on the right devices.

Set up the Uniportal Runner (optional)

If you want the AI to run Active Directory and file-server tasks without you writing scripts, follow the Uniportal Runner setup. It needs the Management scope.

Control access to NinjaOne tools

Connecting NinjaOne adds its tools to the Agent Tools page. Set a Mode on each one, and use custom roles to decide which technicians get which tools. Reading a device's software list and running a script on a server are different levels of trust, so it's worth setting them separately.

What the AI can do with NinjaOne

Reads run automatically by default. Anything that changes something in NinjaOne needs approval by default.

  • Look things up: search and list devices, organizations, and end users, and read a device's software, disks, volumes, services, processors, patches, and last logged-on user.
  • Check health and alerts: list alerts and activities, check antivirus status and threats, and query device health across your fleet.
  • Make changes: update a device, reset an alert, create an organization or end user, and run a script.

Troubleshooting

NinjaOne rejects the connection

You selected a scope the API application wasn't granted. Compare the scopes selected in Uniportal with the scopes on the application in NinjaOne, and make them match.

The connection fails after you authorize

Check two things. The redirect URI on the NinjaOne application must match the one in the Uniportal dialog exactly. The Region in Uniportal must match the region your NinjaOne instance is hosted in, because an application created in one region doesn't work in another.

The connection worked, then stopped

Check that the application has the offline_access scope and the Refresh Token grant type. Without them, Uniportal can't renew its access when the first token expires. Fix the application, then use Update & Re-authorize on the integration page.

The AI can read devices but can't run scripts

The connection doesn't include the Management scope. Add it to the application in NinjaOne, select it in Uniportal, and use Update & Re-authorize.

Devices or organizations are missing

Organizations that aren't mapped to a company in Uniportal are harder for the AI to find. Open the NinjaOne integration tile and run Auto match.

On this page