n8n-nodes-netbox
Version:
n8n community node for NetBox API integration with comprehensive DCIM, IPAM, Virtualization, Circuits, Wireless, and data center management operations
184 lines (135 loc) • 5.14 kB
Markdown
# n8n-nodes-netbox

A community node for [n8n](https://n8n.io/) that provides comprehensive NetBox API integration for data center infrastructure management (DCIM), IP address management (IPAM), and more.
[n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.
## Features
This node provides complete integration with NetBox's REST API, supporting:
### DCIM (Data Center Infrastructure Management)
- **Devices**: Full CRUD operations, interface management, console ports, configuration context
- **Device Types**: Model and manufacturer management
- **Interfaces**: Network interface management and connections
- **Manufacturers**: Equipment manufacturer database
- **Modules**: Network module management for modular equipment
- **Module Bays**: Physical module slot management
- **Module Types**: Module template and specification management
- **Platforms**: Operating system platform definitions
- **Sites**: Data center site management
- **Regions**: Geographic region organization
### IPAM (IP Address Management)
- **Prefixes**: IP network prefix management with available IP discovery
- **VLANs**: Virtual LAN configuration and management
- **IP Addresses**: Individual IP address assignment and tracking
- **Roles**: IP prefix role definitions
- **Aggregates**: Route aggregation management
- **VLAN Groups**: VLAN organization and grouping
### Tenancy
- **Tenants**: Multi-tenant organization management
- **Contacts**: Contact information management
- **Contact Groups**: Contact organization
- **Contact Roles**: Contact role definitions
- **Contact Assignments**: Contact-to-resource relationships
### Extras
- **Tags**: Resource tagging system
- **Config Contexts**: Device configuration context management
- **Config Templates**: Configuration template management
- **Journal Entries**: Change tracking and documentation
- **Reports**: Custom reporting system
## Installation
To install this community node in n8n:
1. Go to **Settings > Community Nodes**
2. Select **Install**
3. Enter `n8n-nodes-netbox` as the npm package name
4. Click **Install**
Alternatively, you can install it via npm in your n8n installation:
```bash
npm install n8n-nodes-netbox
```
## Configuration
### Credentials
The NetBox node requires API credentials to connect to your NetBox instance:
1. **Server URL**: Your NetBox server URL (e.g., `https://netbox.example.com`)
2. **API Token**: Your NetBox API token (generate from User > API Tokens in NetBox)
### Authentication Setup
1. In NetBox, go to your profile and create an API token
2. In n8n, create new NetBox API credentials
3. Enter your NetBox server URL and API token
4. Test the connection
## Usage
### Basic Operations
All resources support standard CRUD operations:
- **List**: Retrieve multiple records with filtering and pagination
- **Get**: Retrieve a specific record by ID
- **Create**: Create new records
- **Update**: Modify existing records
- **Delete**: Remove records
### Advanced Features
- **Filtering**: Advanced filtering options for list operations
- **Pagination**: Support for large datasets with configurable limits
- **Relationships**: Access related resources (e.g., device interfaces)
- **Custom Fields**: Support for NetBox custom fields
- **Tags**: Resource tagging and tag-based filtering
### Example Workflows
#### Device Management
1. List all devices in a specific site
2. Get device details including interfaces
3. Update device configuration context
4. Create new devices from templates
#### IP Address Management
1. List available IP addresses in a prefix
2. Assign IP addresses to devices
3. Create new IP prefixes
4. Manage VLAN assignments
#### Network Module Management
1. List module types from specific manufacturers
2. Create module bays in network devices
3. Install modules in module bays
4. Track module serial numbers and assets
## API Compatibility
This node is compatible with NetBox API v3.x and supports:
- RESTful API operations
- JSON request/response handling
- Comprehensive error handling
- Rate limiting respect
- SSL/TLS encryption
## Development
### Prerequisites
- Node.js 20.15+
- npm or pnpm
- TypeScript
### Building
```bash
npm install
npm run build
```
### Linting
```bash
npm run lint
npm run lintfix
```
### Testing
```bash
npm test
```
## Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Submit a pull request
## License
[MIT](LICENSE.md)
## Support
For issues and questions:
- Create an issue in the GitHub repository
- Check NetBox documentation: https://docs.netbox.dev/
- n8n Community: https://community.n8n.io/
## Changelog
### 1.0.0
- Initial release
- Complete DCIM operations support
- IPAM functionality
- Tenancy management
- Extras and reporting features
- Module management (modules, module bays, module types)
---
**Note**: This is a community-maintained node. For official n8n support, please refer to the main n8n documentation.