NinjaOne
Before you start
Section titled “Before you start”- The admin role in ZenTop Triage. Everyone can see the Integrations tab, but only admins can load and change alert source settings.
- A NinjaOne API client. The connection form gives these steps:
- In NinjaOne, open Administration > Apps > API > Client App IDs and select Add.
- Set Application platform to API Services (machine-to-machine).
- Select the Monitoring and Management scopes.
- Allow the Client Credentials grant type, save, and keep the client ID and secret for ZenTop Triage.
- Your NinjaOne instance, such as
app.ninjarmm.comoreu.ninjarmm.com. - A board, team, or queue for these tickets, set up in Routing and service scopes with a primary New status.
Connect NinjaOne
Section titled “Connect NinjaOne”- Open Setup → Configuration → Integrations, then select NinjaOne under Endpoints.
- In Connection, choose your Instance, or choose Other… and enter the Instance host. Enter the Client ID and Client secret, select Test connection, then select Save connection.
- In Webhook, select Register webhook. ZenTop Triage registers its webhook in NinjaOne for you, so there is nothing to paste into NinjaOne. Without a registered webhook, alerts are still picked up by a poll every 5 minutes, just later.
- In Alert intake, choose the board (team or queue, depending on your PSA) where NinjaOne tickets open. Optionally choose a Catch-all company, then set Minimum severity and Close the ticket when NinjaOne resets the alert. Select Save settings.
- Turn on Alert intake. The switch is available once the connection and an intake board are saved.
- Review Organization mappings. NinjaOne organizations map to PSA companies by exact name automatically; map the rest here.
What happens to an alert
Section titled “What happens to an alert”- Arrival. NinjaOne sends condition alerts and resets to the webhook, and ZenTop Triage processes them every minute. A poll every 5 minutes also picks up alerts the webhook missed, as long as they were raised after intake was turned on and within the last 24 hours.
- One ticket per condition and device. If an alert’s ticket is still open, a repeat alert adds an update note instead of opening another ticket.
- Filtering. Alerts below the Minimum severity are recorded but don’t open tickets. An alert that resets before its ticket is opened doesn’t open one.
- Company. The ticket opens for the organization’s PSA company: a manual mapping first, then a match of the organization name to a PSA company name or identifier, then the catch-all company. Without any of these, the alert waits up to 24 hours for a mapping and is then skipped.
- Triage. The ticket opens on the intake board in its primary New status, at most 10 new tickets per run, and then goes through normal triage, subject to your validation mode settings.
- Ticket content. The title starts with “NinjaOne:” and names the condition and device. The description includes the device’s details. An internal guidance note suggests next steps and links to the device in NinjaOne.
- Reset and close. When NinjaOne resets the alert, ZenTop Triage adds a note that the condition cleared. With Close the ticket when NinjaOne resets the alert on (the default), it also sets the ticket to its board’s Completed status from Boards & Routing. A ticket merged or bundled into another only gets the note. If the board has no Completed status, the note says so and the ticket stays open.
NinjaOne alert intake works with ConnectWise, HaloPSA, and Autotask.
Turn it off
Section titled “Turn it off”- Turn off Alert intake. While it is off, NinjaOne’s events are acknowledged and discarded, and the poll stops: no new tickets and no automatic closes. When you turn it back on, the poll only picks up alerts raised after that.
- To keep opening tickets but stop closing them, turn off Close the ticket when NinjaOne resets the alert. Tickets then get the cleared note and stay open.
- Re-register webhook generates a new key and replaces the webhook this NinjaOne API client sends to. Re-register after switching to a different API client.
Troubleshooting
Section titled “Troubleshooting”| Message or symptom | What to check |
|---|---|
| “NinjaOne rejected the client ID or secret” | Check the ID, secret, and instance, and that the API client allows the Client Credentials grant with the Monitoring and Management scopes. |
| A request refused with HTTP 403 | Give the API client the Monitoring and Management scopes. |
| Webhook registration refused | Only an API client with the Management scope can register a webhook. |
| Webhook status “Not registered (poll only)” | Select Register webhook. Until then, alerts arrive through the 5-minute poll. |
| Recent alert shows “Below minimum severity” | Lower the Minimum severity if these alerts should open tickets. |
| Recent alert shows “Waiting for an organization mapping” or “No company mapping” | Map the organization, or choose a catch-all company. |
| A ticket didn’t close after a reset | The board needs a Completed status in Boards & Routing, auto-close must be on, and the ticket must not be merged or bundled into another. |