npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-netxms

v0.1.5

Published

n8n community node for NetXMS network monitoring and management

Downloads

56

Readme

n8n-nodes-netxms

An n8n community node for NetXMS — an open-source enterprise-grade network monitoring and management system.

This node lets you interact with the NetXMS REST API directly from your n8n workflows: acknowledge alarms, query DCI history, manage objects, run NXSL scripts, and much more.

npm version License: MIT n8n community node


Table of Contents


Features

  • 41 operations across 9 NetXMS resource types
  • Single login per workflow execution — one Bearer token reused for all API calls
  • Built-in credential testing (click "Test" on the credential card to verify connectivity)
  • continueOnFail support — process remaining items even when one fails
  • Compatible with n8n's AI Tool interface (usableAsTool: true)
  • Full TypeScript source with strict mode enabled

Prerequisites

| Requirement | Version | |---|---| | n8n | ≥ 1.0.0 | | NetXMS Server | ≥ 4.x (REST API v1) | | Node.js | ≥ 18.x |


Installation

Via n8n UI (recommended)

  1. Open n8n → SettingsCommunity Nodes
  2. Click Install
  3. Enter n8n-nodes-netxms and confirm

Via npm (self-hosted)

npm install n8n-nodes-netxms

Then restart your n8n instance.


Credentials

Create a NetXMS API credential with the following fields:

| Field | Description | Example | |---|---|---| | Server URL | Base URL of the NetXMS server (no trailing slash) | https://netxms.example.com | | Username | NetXMS user account | admin | | Password | Account password | •••••••• |

The node authenticates by calling POST /v1/login at the start of each execution and uses the returned Bearer token for all subsequent requests. Click Test connection on the credential card to verify that the server is reachable and the credentials are correct.

Tip: Create a dedicated read-only API user in NetXMS for n8n workflows that only need to read data.


Resources & Operations

Alarm

| Operation | Description | |---|---| | Acknowledge | Acknowledge an open alarm | | Get | Get full details of a specific alarm | | Get Many | List all active alarms (optionally filter by root object) | | Resolve | Move an alarm to the resolved state | | Terminate | Permanently terminate an alarm |

Get Many optional filters:

  • rootObject — return only alarms under this object ID
  • includeObjectDetails — embed full object info in each alarm record

Alarm Category

| Operation | Description | |---|---| | Create | Create a new alarm category | | Delete | Delete an alarm category | | Get | Get details of a specific alarm category | | Get Many | Retrieve all configured alarm categories | | Update | Update an existing alarm category |


Data Collection

| Operation | Description | |---|---| | Get Current Values | Get the latest collected value for all DCIs on an object | | Get History | Retrieve historical data for a specific DCI |

Get History optional filters:

  • timeFrom / timeTo — Unix timestamp range
  • maxRows / maxDataPoints — result size cap
  • tier — data aggregation tier (auto, raw, hourly, daily)
  • function — aggregation function (avg, min, max, minmax)

Event Template

| Operation | Description | |---|---| | Create | Create a new event template | | Delete | Delete a user-defined event template (code ≥ 100000) | | Get | Get details of a specific event template by event code | | Get Many | Retrieve all event templates | | Update | Update an existing event template |


Find

| Operation | Description | |---|---| | Find MAC Address | Locate a MAC address (full or partial) in the network topology | | Get Connection History | Query the MAC address connection history log |

Find MAC Address optional fields:

  • searchLimit — maximum number of results (default 100)
  • includeObjects — embed full object details in each result

Get Connection History optional filters: macAddress, nodeId, switchId, interfaceId, from, to, limit


Object

| Operation | Description | |---|---| | Execute Script | Run an NXSL script in the context of an object | | Expand Text | Expand NetXMS macros in a text string | | Get | Get full details of a specific object | | Get Children | Get all direct child objects | | Get Many | List objects, optionally filtered by name or parent | | Get Status Explanation | Get a detailed breakdown of how object status was calculated | | Get Sub-Tree | Retrieve all objects in the sub-tree under a parent | | Search | Search objects by name, IP address, class, parent, or zone | | Set Maintenance | Enter or leave maintenance mode | | Set Managed | Manage or unmanage an object |


Scheduled Task

| Operation | Description | |---|---| | Create | Create a scheduled task (cron or one-time) | | Delete | Delete a scheduled task | | Get | Get details of a specific scheduled task | | Get Many | List all scheduled tasks | | Update | Update an existing scheduled task |

When creating a task, select Schedule Type:

  • Cron — provide a cron expression (e.g. 0 2 * * *)
  • One-Time — provide a Unix timestamp for the single execution

Server

| Operation | Description | |---|---| | Get Info | Retrieve server version, build, and configuration details | | Get Status | Retrieve current server session and runtime status |


User

| Operation | Description | |---|---| | Create | Create a new NetXMS user | | Delete | Delete a user | | Get | Get details of a specific user | | Get Many | List all users | | Update | Update user properties |


Usage Examples

Acknowledge all critical alarms for an object

  1. Add a NetXMS node with resource AlarmGet Many
  2. Set rootObject to your target object ID
  3. Connect to a Split In Batches or Loop Over Items node
  4. Add another NetXMS node with resource AlarmAcknowledge, expression {{ $json.id }} as Alarm ID

Put a node in maintenance before a deployment

[Manual Trigger] → [NetXMS: Object → Set Maintenance] → [Deploy step] → [NetXMS: Object → Set Maintenance (disable)]

Set Maintenance Mode to true before the deployment and false after. Optionally add a comment like "Deployment window".

Query DCI history and send an alert

  1. NetXMS → Data Collection → Get History (objectId + dciId, timeFrom = last hour)
  2. IF node to check if any value exceeds a threshold
  3. Slack / Email node to send the alert

Development

Requirements

  • Node.js ≥ 18
  • npm ≥ 9

Setup

git clone https://github.com/kboykov/n8n-netxms-node.git
cd n8n-netxms-node
npm install

Build

npm run build

This runs tsc (TypeScript compiler) followed by gulp build:icons to copy the SVG icon into dist/.

Lint

npm run lint
npm run lintfix   # auto-fix where possible

Local testing with n8n

# In this repo
npm link

# In your local n8n installation directory
npm link n8n-nodes-netxms

Then restart n8n. The NetXMS node will appear in the node picker.

Project structure

n8n-nodes-netxms/
├── credentials/
│   └── NetXmsApi.credentials.ts     # Credential definition
├── nodes/
│   └── NetXms/
│       ├── NetXms.node.ts            # Main node implementation
│       └── descriptions/
│           ├── AlarmDescription.ts
│           ├── AlarmCategoryDescription.ts
│           ├── DataCollectionDescription.ts
│           ├── EventTemplateDescription.ts
│           ├── FindDescription.ts
│           ├── ObjectDescription.ts
│           ├── ScheduledTaskDescription.ts
│           ├── ServerDescription.ts
│           └── UserDescription.ts
├── icons/
│   └── netxms.svg
├── gulpfile.js
├── package.json
└── tsconfig.json

Compatibility

| n8n-workflow | Status | |---|---| | 2.x | Supported | | 1.x | Not tested |

Tested against NetXMS REST API v1 (NetXMS ≥ 4.x).


License

MIT


Contributing

Issues and pull requests are welcome. Please open an issue first to discuss any significant changes.