Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

n8n-nodes-unimus

ekenny0MIT1.0.1TypeScript support: included

n8n community node for Unimus network configuration management and backup system with device management, backup operations, and schedule management (API v2)

n8n-community-node-package, n8n, unimus, network, backup, configuration, network-management, infrastructure, automation, network-devices

readme

n8n-nodes-unimus

This is an n8n community node for Unimus - a network configuration management and backup system. It allows you to automate device management, backup operations, credential management, and more through n8n workflows.

n8n.io - Workflow Automation

Features

Resources

Note: This node uses Unimus API v2. Some resources (zones, credentials, jobs, tags) are only available in API v3 or later versions.

  • Devices - Manage network devices

    • Full CRUD operations (Create, Read, Update, Delete)
    • Filter by zone ID, enabled status
    • Support for various device types and configurations
    • Pagination support
  • Backups - Device configuration backup management

    • Get all backups for a specific device
    • Get latest backup for a device
    • Trigger manual backups for a device
    • Note: Backups are device-specific in API v2
  • Schedules - Automated backup scheduling

    • View existing backup schedules
    • Cron-based scheduling
    • Manage backup automation

Installation

  1. Go to Settings > Community Nodes in your n8n instance
  2. Select Install
  3. Enter n8n-nodes-unimus in the Package Name field
  4. Click Install

Manual Installation

npm install n8n-nodes-unimus

For local development:

# Clone the repository
git clone TBD
cd n8n-custom-nodes/n8n-nodes-unimus

# Install dependencies
npm install

# Build the node
npm run build

# Link for local testing
npm link
cd ~/.n8n/nodes # or your n8n custom nodes directory
npm link n8n-nodes-unimus

Configuration

Credentials

  1. In n8n, go to Credentials > New
  2. Search for Unimus API
  3. Configure the following fields:
    • Unimus URL: Your Unimus instance URL (e.g., https://unimus.example.com)
    • API Token: Generate an API token in Unimus at User management > API tokens
    • Ignore SSL Issues: Enable if using self-signed certificates (not recommended for production)

Creating an API Token in Unimus

  1. Log into your Unimus instance
  2. Navigate to User management > API tokens
  3. Click Create new token
  4. Copy the token (you won't be able to see it again)
  5. Use this token in your n8n credentials

Usage Examples

Example 1: Backup All Devices Daily

Trigger: Schedule (daily at 2 AM)
↓
Unimus: Get All Devices (resource: devices)
↓
Split In Batches: Process 10 devices at a time
↓
Unimus: Trigger Backup (resource: backups, operation: trigger)
↓
Unimus: Get Job Status (resource: jobs, operation: getStatus)
↓
Email: Send backup report

Example 2: Add New Device with Credentials

Trigger: Webhook or Manual
↓
Unimus: Create Credential (resource: credentials)
  - Credential Name: {{ $json.hostname }}
  - Username: {{ $json.username }}
  - Password: {{ $json.password }}
↓
Unimus: Create Device (resource: devices)
  - Address: {{ $json.ip_address }}
  - Zone ID: {{ $json.zone_id }}
  - Credential ID: {{ $json.id }}
↓
Unimus: Trigger Backup (resource: backups)

Example 3: Monitor Failed Backups

Trigger: Schedule (every hour)
↓
Unimus: Get All Jobs (resource: jobs)
  - Filter: status = FAILED
↓
IF: Jobs exist
  ↓
  Unimus: Get Device (resource: devices) - for each failed job
  ↓
  Slack/Email: Send alert notification

Example 4: Organize Devices with Tags

Unimus: Get All Devices
↓
Code: Categorize devices by type/location
↓
Unimus: Create Tag (resource: tags)
  - Tag Name: {{ $json.category }}
  - Color: {{ $json.color }}
↓
Unimus: Update Device (add tag reference)

API Compatibility

This node uses Unimus API v2 as the base, with the following endpoint structure:

  • Base URL: https://your-unimus-instance/api/v2
  • Authentication: Bearer token
  • All requests require the Authorization: Bearer <token> header

Supported Endpoints

  • /devices - Device management
  • /backups - Backup operations
  • /credentials - Credential management
  • /zones - Zone management
  • /jobs - Job monitoring
  • /schedules - Schedule management
  • /tags - Tag management

For the complete API documentation, visit: Unimus API Documentation

Development

Build

npm run build        # Full build
npm run build:ts     # TypeScript compilation only
npm run dev          # Watch mode

Lint & Format

npm run lint         # Run ESLint
npm run lintfix      # Auto-fix ESLint issues
npm run format       # Format with Prettier

Testing

npm test            # Run verification
npm run verify      # Verify node structure

Resources

License

MIT

Support

For issues, questions, or contributions:

Author

cybernetic-node-composer@emailinbox.info

Version History

1.0.1 (2025-01-11)

  • BUGFIX: Removed unsupported resources that don't exist in Unimus API v2 (zones, credentials, jobs, tags)
  • BUGFIX: Fixed backups endpoint to use correct device-specific path (/devices/{id}/backups)
  • Validated all operations against live Unimus API
  • Updated documentation to reflect API v2 limitations

1.0.0 (2025-01-11)

  • Initial release
  • Support for 3 working resources (Devices, Backups, Schedules)
  • Full CRUD operations for devices and schedules
  • Device-specific backup operations
  • Bearer token authentication
  • Declarative routing for clean API integration
  • Comprehensive filtering and pagination support