Overview
The NinjaOne integration syncs your organizations, locations, and devices into MSPortal, allowing you to:- Import and manage devices from NinjaOne
- Map NinjaOne organizations to your MSPortal companies
- Map NinjaOne locations to your PSA locations for accurate site-level tracking
- Keep device inventory synchronized automatically with daily syncs
- Track device status, backup usage, and ownership details
- View NinjaOne devices in reports and compliance tracking
Prerequisites
Before you begin, ensure you have:- Active NinjaOne account with administrative access
- MSPortal.ai account with integration management permissions
- Companies already set up in MSPortal (from your PSA integration or manually created)
Part 1: Generate API Credentials in NinjaOne
Before connecting to MSPortal, you need to create API credentials in NinjaOne.Access the NinjaOne Dashboard
Configure the Application
| Field | Value |
|---|---|
| Name | MSPortal Integration |
| Application Platform | API Services (Machine-to-Machine) |
| Grant Type | Client Credentials |
| Redirect URI | Not required for Machine-to-Machine |
Part 2: MSPortal Setup Wizard
MSPortal provides a guided 4-step wizard to connect and configure your NinjaOne integration.Starting the Wizard
Step 1: Connect
Enter your NinjaOne API credentials to establish the connection.Select Your Region
- United States (US)
- Europe (EU)
- Oceania (OC)
- Canada (CA)
- Custom URL (for non-standard NinjaOne instances)
Enter API Credentials
https://app.ninjarmm.com) and is auto-populated based on your selection. Then fill in:| Field | Description |
|---|---|
| Access Key ID | The Client ID generated in NinjaOne |
| Secret | The Client Secret generated in NinjaOne |
Test Connection
- Verify your Client ID and Client Secret are copied correctly (no extra spaces)
- Confirm you selected the correct region
- Ensure the API application is set to Client Credentials grant type
- Check that the application platform is API Services (Machine-to-Machine)
Step 2: Map Organizations
Map your NinjaOne organizations to MSPortal companies. Only devices from mapped organizations will be available for import.Wait for Initial Sync
Review Organization List
- Company Name: The name of the organization in NinjaOne
- Devices: Number of devices in that organization
- Mapped To: The MSPortal company (if mapped), with confidence scores shown for pending matches
- Status: Whether the mapping is saved, pending, or unmapped
Use Quick Match (Recommended)
- Organizations matched with high confidence are automatically mapped
- Review the results and adjust any incorrect mappings
Manually Map Remaining Organizations
- Find the organization in the list
- Click the company dropdown in the “Mapped To” column
- Search for and select the correct MSPortal company
- The mapping is saved automatically
Unmap Organizations (Optional)
Step 3: Map Locations
Map your NinjaOne locations to PSA locations in MSPortal. This step preserves your organizational hierarchy from NinjaOne and ensures devices are assigned to the correct site within each company.Review Location List
- NinjaOne Location: The location name in NinjaOne
- Organization: The parent NinjaOne organization
- Mapped To: The MSPortal PSA location (if mapped)
Map Locations to PSA Locations
- Find the location in the list
- Click the location dropdown in the “Mapped To” column
- Search for and select the corresponding PSA location in MSPortal
- The mapping is saved automatically
Step 4: Import Devices
After mapping organizations (and optionally locations), import devices from NinjaOne into your MSPortal asset inventory.Open Device Import
Part 3: Device Import
The device import page lets you configure device type mappings and selectively import devices.Device Type Mappings
Before importing devices, map NinjaOne device types to your MSPortal device types.Review Discovered Types
| Column | Description |
|---|---|
| NinjaOne Type | The device node class (e.g., WINDOWS_WORKSTATION, WINDOWS_SERVER, MAC, LINUX_WORKSTATION) |
| Device Count | Number of devices of this type |
| Maps To | The MSPortal device type to map to |
| Auto-Sync | Enable automatic import for this type |
| Actions | Import all devices of this type |
Use Quick Match or Quick Create
- Quick Match: Automatically maps NinjaOne types to existing MSPortal device types with similar names
- Quick Create: Creates new MSPortal device types for any NinjaOne types that don’t have a match
Map Device Types Manually
- Click the “Maps To” dropdown
- Select the corresponding MSPortal device type
- The mapping is saved automatically
Enable Auto-Sync (Optional)
Staged Devices
The Staged Devices table shows devices ready for import from mapped organizations.Trigger a Sync
Review Staged Devices
- Device Name: Hostname of the device
- Type: NinjaOne device classification (node class)
- Organization: Which NinjaOne organization the device belongs to
- Company: The mapped MSPortal company
- Status: Whether the device has been imported
Search and Filter Devices
What Gets Synced
| Data Type | Sync Direction | Description |
|---|---|---|
| Organizations | NinjaOne -> MSPortal | Organization data for mapping to companies |
| Locations | NinjaOne -> MSPortal | Location data for mapping to PSA locations |
| Devices | NinjaOne -> MSPortal | All managed devices from mapped organizations |
| Device Details | NinjaOne -> MSPortal | Name, hostname, OS, manufacturer, model, serial number |
| Network Info | NinjaOne -> MSPortal | IP address and MAC address |
| Device Status | NinjaOne -> MSPortal | Online/offline status and last contact time |
| Backup Usage | NinjaOne -> MSPortal | Backup status data from NinjaOne’s backup feature |
| Last Logged In User | NinjaOne -> MSPortal | Last user who logged into the device |
| Assigned Owner | NinjaOne -> MSPortal | Device’s assigned owner in NinjaOne |
Sync Schedule
Syncs run automatically on a daily schedule:| Sync Type | Schedule | Details |
|---|---|---|
| Organization Sync | Daily at 2:00 AM UTC | Refreshes organization and location data |
| Device Sync | Daily at 3:15 AM UTC | Syncs all device data from mapped organizations |
| Auto-Import | Immediately after device sync | Imports new devices for types with auto-sync enabled |
Managing Your Integration
After setup, manage your integration from Settings > Integrations:- Configure: Re-open the setup wizard to modify settings, re-map organizations, or update location mappings
- Import Devices: Access the device import page directly
- Sync Now: Trigger a fresh sync of organizations and devices
- Delete: Remove the integration and all associated mappings
Re-running the Wizard
You can return to any step of the setup wizard at any time:- Go to Settings > Integrations
- Click Configure on the NinjaOne card
- Navigate between steps using the step indicators or Back/Next buttons
Troubleshooting
Connection test fails
Connection test fails
- Incorrect Client ID or Client Secret
- Wrong region selected
- API application not configured as Machine-to-Machine
- Client Credentials grant type not selected
- Verify your Client ID and Client Secret are copied exactly (no extra spaces)
- Confirm you selected the correct region matching your NinjaOne portal URL
- Check that the API application in NinjaOne uses API Services (Machine-to-Machine) platform
- Ensure the grant type is set to Client Credentials
- Generate new API credentials in NinjaOne if needed
No organizations appear in mapping step
No organizations appear in mapping step
- Initial sync still in progress
- API credentials lack organization read permissions
- Wait a few minutes for the initial sync to complete
- Click Sync Now to trigger a manual sync
- Verify your API application has the necessary permissions in NinjaOne
No devices in staging area
No devices in staging area
- No organizations have been mapped to companies
- Device sync still in progress
- Organizations don’t have any devices
- Map at least one organization to a company in the Map Organizations step
- Wait for the device sync to complete (can take several hours for large environments)
- Click Sync Now to trigger a fresh sync
Device sync takes a very long time
Device sync takes a very long time
- Large number of devices across many organizations
- NinjaOne API rate limits
- This is expected behavior for large environments — the sync processes devices in batches to respect rate limits
- The daily sync runs overnight so it completes before business hours
- No action is needed; the sync will complete automatically
Import fails for some devices
Import fails for some devices
- Device type not mapped
- Organization mapping was removed
- Ensure all device types have a “Maps To” value configured
- Verify the organization is still mapped to a company
- Check for error messages in the import results
Auto-sync not importing new devices
Auto-sync not importing new devices
- Auto-sync not enabled for the device type
- Device type not mapped
- Organization not mapped to a company
- Enable the Auto-Sync toggle for the device type
- Ensure the device type has a “Maps To” mapping configured
- Verify the device’s organization is mapped to a company
Locations not appearing in mapping step
Locations not appearing in mapping step
- NinjaOne organizations don’t have locations defined
- Location sync has not completed yet
- Verify that locations are configured in NinjaOne for your organizations
- Wait for the sync to complete and check again
- Location mapping is optional — you can skip this step if you don’t use locations
Best Practices
Map Organizations First
Use Quick Match
Enable Auto-Sync
Map Locations for Accuracy
Quick Match + Quick Create
Schedule Around Syncs
Security and Privacy
- Credential Storage: Your NinjaOne Client ID and Client Secret are encrypted using vault storage and never exposed in logs or responses
- Data Isolation: All synced data is tenant-isolated and only visible to your organization
- Read-Only Access: MSPortal only reads data from NinjaOne; it does not modify your NinjaOne configuration or device settings
Related Resources
- Import Companies - General company import guide
- Devices Module - Managing devices in MSPortal
- Clear and Resync Integrations - Troubleshooting sync issues
- Datto RMM Integration - Similar RMM integration guide