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:
| Setting | Value |
|---|---|
| Application platform | Web |
| Grant types | Authorization Code and Refresh Token |
| Scope | offline_access, plus the scopes you choose below |
| Redirect URI | The 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:
| Scope | What it allows | What Uniportal uses it for |
|---|---|---|
| Monitoring | Read-only access to devices and organization structure | Looking up devices, alerts, software, patches, and disks |
| Management | Create and modify organizations and devices, run scripts | Running scripts, including the Uniportal Runner, and changes like updating a device or creating an organization |
| Control | Remote access to devices through the API | Remote 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:
- 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.
- Paste the Client ID and Client Secret.
- Under Scopes, select the same scopes you granted the application.
- 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.