Plugin framework

Extend Xcellerate RMM functionality with community and custom plugins.

Overview

The Plugin framework lets you extend Xcellerate RMM with additional functionality without modifying the core platform. Plugins can add new dashboard widgets, custom monitors, report types, integration connectors, and even entirely new UI pages.

RMM Labs maintains an official plugin marketplace with community-contributed and first-party plugins. You can also develop your own private plugins using the Plugin SDK and TypeScript/JavaScript.

The plugin marketplace showing available plugins with install buttons

Key concepts

  • Plugin — a self-contained extension package with a manifest, code, and optional assets (icons, templates). Installed at the server level.
  • Plugin marketplace — the built-in catalogue where you browse, install, and update plugins. Accessible from Administration → Plugins.
  • Plugin SDK — a development kit providing APIs to interact with Xcellerate RMM data, UI components, and events. Available as an npm package.
  • Hook — an extension point in the platform where plugins can inject behaviour (e.g. onEndpointCreated, onAlertFired, beforePatchInstall).
  • Widget — a plugin-provided component that can be added to the dashboard or endpoint detail pages (e.g. a custom chart, a quick-action button).
  • Plugin settings — configuration values exposed by the plugin (e.g. an API key for a third-party service). Administrators set these after installation.

Step-by-step walkthrough

1

Browse the marketplace

Go to Administration → Plugins → Marketplace. Browse by category (monitoring, reporting, integrations, UI) or search by name. Each plugin card shows a description, author, version, rating, and install count.

2

Install a plugin

Click a plugin to view its detail page, then click Install. The plugin is downloaded and activated. Some plugins require a server restart — the UI will prompt you if so.

3

Configure the plugin

After installation, go to Administration → Plugins → Installed. Click the plugin name and fill in any required settings (e.g. API keys, default parameters). Save.

4

Use the plugin

Depending on the plugin type, you might see a new item in the sidebar menu, a new widget on the dashboard, additional options in context menus, or a new report type. Check the plugin's documentation for details.

5

Update or remove a plugin

On the Installed plugins page, you can check for updates (badge appears when a new version is available) or click Uninstall to remove a plugin cleanly.

Plugin settings page with API key and configuration options

Developing a custom plugin

To build your own plugin, install the Plugin SDK and scaffold a new project:

npm install -g @xcellerate/plugin-sdk
xcellerate-plugin init my-custom-plugin
cd my-custom-plugin
npm run dev

The scaffolded project includes a manifest file (plugin.json), an entry point, and example hooks. The SDK provides TypeScript types for all platform APIs and a local development server that hot-reloads your plugin against a sandboxed Xcellerate instance.

Tips & best practices

  • Check the marketplace before building a custom solution — there may already be a plugin that does what you need.
  • Keep plugins updated — authors often fix bugs and add features in new versions.
  • When developing a custom plugin, follow the least-privilege principle: only request the API permissions your plugin actually needs.
  • Test custom plugins in a staging environment before deploying to production.
  • Use hooks for event-driven logic (e.g. auto-tag endpoints on creation) rather than polling the API.
  • Submit useful plugins to the marketplace to share with the community and get feedback.
The Plugin SDK documentation is available at developers.rmmlabs.io. It includes a full API reference, tutorials, and example plugins.