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.
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
Community Nodes (Recommended)
- Go to Settings > Community Nodes in your n8n instance
- Select Install
- Enter
n8n-nodes-unimus
in the Package Name field - 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
- In n8n, go to Credentials > New
- Search for Unimus API
- 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)
- Unimus URL: Your Unimus instance URL (e.g.,
Creating an API Token in Unimus
- Log into your Unimus instance
- Navigate to User management > API tokens
- Click Create new token
- Copy the token (you won't be able to see it again)
- 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
Support
For issues, questions, or contributions:
- GitHub Issues: Report an issue
- n8n Community: n8n Forum
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