n8n-nodes-sunbird-dctrack
v0.5.0
Published
n8n community node for Sunbird dcTrack DCIM
Readme
n8n-nodes-sunbird-dctrack

This is an n8n community node for Sunbird dcTrack, a leading Data Center Infrastructure Management (DCIM) platform.
n8n is a fair-code licensed workflow automation platform that allows you to connect anything to everything via a visual workflow editor.
Sunbird dcTrack provides comprehensive asset management, capacity planning, and change management for modern data centers.
Installation
Follow the installation guide in the n8n community nodes documentation.
Community Nodes (Recommended)
- Go to Settings > Community Nodes
- Select Install
- Enter
n8n-nodes-sunbird-dctrack - Click Install
Manual Installation
npm install n8n-nodes-sunbird-dctrackAuthentication
✅ Basic Authentication
Username and password authentication using n8n's standard Basic Auth credentials.
Setup:
- Add Credential → Basic Auth
- Enter your dcTrack username and password
- Set allowed domain to your dcTrack instance
✅ OAuth 2.0 (Client Credentials)
Token-based authentication using Client ID and Client Secret.
Setup:
- In dcTrack: Generate Client ID and Client Secret (Administration → User Management)
- In n8n: Add Credential → dcTrack OAuth2 API
- Enter:
- Base URL: Your dcTrack instance URL
- Client ID: From dcTrack
- Client Secret: From dcTrack
- Scope:
user_permissions
Note: Ensure your OAuth2 user has appropriate permissions (Create, Read, Update, Delete) for the operations you want to perform.
Token Management: Access tokens are automatically generated and refreshed (valid for 1 hour).
Operations
Items (Equipment & Assets)
| Operation | Status | Description | |-----------|--------|-------------| | Create | ✅ Production | Create a new item in dcTrack | | Get | ✅ Production | Retrieve an item by name or ID | | Update | ✅ Production | Update item properties | | Move | ✅ Production | Move item to new location/cabinet | | Search | ✅ Production | Advanced search with filters | | Delete | ✅ Production | Delete an item |
Models (Equipment Models)
| Operation | Status | Description | |-----------|--------|-------------| | Create | ✅ Production | Create a new equipment model with specifications |
Note on Units: Dimensions (Height, Width, Depth) and Weight use the units configured for your dcTrack user:
- US Units (default): inches and pounds (lbs)
- Metric Units: millimeters and kilograms
Check your user preferences in dcTrack: Administration → User Management → User Settings.
Connections
| Operation | Status | Description | |-----------|--------|-------------| | Create Data Connection | ✅ Production | Create network/data connections between ports |
🚧 Planned Operations
- Power connections
- Bulk operations
- Custom reports
- Webhooks integration
Compatibility
- n8n version: 0.180.0 or higher
- dcTrack API: v2
- Tested on: dcTrack 9.2, 9.3
Configuration
Prerequisites
- A dcTrack instance (on-premises or cloud)
- Valid user credentials with API access
- Network access to your dcTrack API endpoint
Setup
Add Credentials:
- Go to Credentials in n8n
- Select Basic Auth
- Fill in:
- User: Your dcTrack username
- Password: Your dcTrack password
- Allowed HTTP Request Domain: Your dcTrack domain (e.g.,
dctrack.yourcompany.com)
Add dcTrack Node:
- In your workflow, add the dcTrack node
- Set Base URL:
https://your-dctrack-instance.com(without trailing slash) - Select your Basic Auth credentials
- Choose your operation
Usage Examples
Example 1: Create a Server
Node: dcTrack
├─ Resource: Item
├─ Operation: Create
├─ Item Name: server-web-01
├─ Make: Dell
├─ Model: PowerEdge R750
├─ Location: SITE A
├─ Cabinet: Rack-42
└─ Additional Fields:
├─ U Position: 20
└─ Status: ActiveExample 2: Search Equipment
Node: dcTrack
├─ Resource: Item
├─ Operation: Search
├─ Search Filters:
│ ├─ Location: SITE A
│ ├─ Make: Dell
│ └─ Status: Active
├─ Return Fields:
│ ├─ ☑ Item Name
│ ├─ ☑ Cabinet
│ ├─ ☑ U Position
│ └─ ☑ Model
└─ Page Size: 100Example 3: Automated Workflow
Trigger: Telegram
↓
OpenAI (voice transcription)
↓
AI Agent (interpret command)
↓
dcTrack (create/update item)
↓
Telegram (send confirmation)Field Mapping
dcTrack API ↔ Node Parameters
| n8n Node Field | dcTrack API Field | Description |
|----------------|-------------------|-------------|
| Item Name | tiName | Name of the equipment |
| Make | cmbMake | Manufacturer |
| Model | cmbModel | Model number |
| Location | cmbLocation | Site/location |
| Cabinet | cmbCabinet | Cabinet/rack name |
| U Position | cmbUPosition | Rack unit position |
| Status | cmbStatus | Planned/Active/Decommissioned/Storage |
| Serial Number | tiSerialNumber | Serial number |
| Asset Tag | tiAssetTag | Asset tag identifier |
Search Filters
The Search operation supports filtering by:
- Item Name - Supports wildcards (
server*) - Location - Exact match
- Cabinet - Exact match
- Make - Manufacturer
- Model - Model name/number
- Status - Dropdown selection
- Class - Equipment class
You can select which fields to return in the results.
Model Creation
The Model resource allows you to create equipment models with detailed specifications.
Basic Fields
- Model Name (required): Name of the model (e.g., "R750")
- Make (required): Manufacturer (e.g., "Dell")
- Class (required): Device, Rack, Cabinet, Floor PDU, Overhead PDU, Passive
- Subclass: Standard, Blade Chassis, etc.
- Form Factor (required): Fixed, Chassis, Blade, Module
- Mounting: Rackable, Non-Rackable, Zero-U
- RU Height (required): Height in rack units
Dimensions
Important: Units depend on your dcTrack user configuration (US or Metric)
- Height: In inches (US) or millimeters (Metric)
- Width: In inches (US) or millimeters (Metric)
- Depth: In inches (US) or millimeters (Metric)
- Weight: In pounds/lbs (US) or kilograms (Metric)
Example for 2U Server (US Units):
RU Height: 2
Height: 3.43 inches
Width: 17.09 inches
Depth: 27.8 inches
Weight: 55 lbsPower Configuration
- Original Power: Power rating in watts
- Potential Power: Maximum power capacity
- BTU per Hour: Heat output
- Power Supply Redundancy: N, N+1, N+N, 2N
- Power Supply Slot Count: Number of power supply slots
- Auto Power Budget: Enable/disable automatic power budgeting
Advanced Fields (JSON)
For complex models, you can specify ports and slots using JSON:
Power Ports:
[
{
"portName": "PS1",
"portSubclass": "Power Supply",
"index": 0,
"connector": "IEC-320-C14",
"face": "Back",
"phase": "Single Phase (3-Wire)",
"volts": "240",
"psPowerFactor": 1.0,
"psNameplateWatts": 2900,
"psBudgetWatts": 1740
}
]Data Ports:
[
{
"portName": "Eth01",
"portSubclass": "Physical",
"index": 0,
"connector": "RJ45",
"face": "Back",
"media": "Twisted Pair",
"dataRate": "1000 Base-T",
"protocol": "Ethernet/IP"
}
]Chassis Faces (for chassis models):
[
{
"face": "Front",
"slotCount": 14,
"slotVertical": true,
"allowSpanning": false,
"chassisSlots": [
{"slotNumber": 1, "slotLabel": "1", "anchor": false}
]
}
]Refer to dcTrack API documentation for complete field specifications.
Model Images
Model images can be uploaded after creating the model using the dcTrack API endpoint.
Endpoint: POST /api/v2/models/images/{modelId}/{orientation}
Where:
{modelId}: The ID of the model (returned when creating the model){orientation}: Eitherfrontorback
Using HTTP Request Node:
- Create your model with the dcTrack node (note the returned
id) - Add an HTTP Request node with your model image file
- Configure:
- Method: POST
- URL:
https://your-instance.com/api/v2/models/images/{{$json.id}}/front - Authentication: Use your dcTrack credentials
- Body: Binary (select multipart/form-data)
- Binary Property:
data(from the node containing your image file)
Example workflow:
Read Binary File (image.png)
→ dcTrack (Create Model, get ID)
→ HTTP Request (Upload front image with model ID)Note: Direct image upload will be added as a native operation in a future version.
Error Handling
Common errors and solutions:
| Error | Cause | Solution | |-------|-------|----------| | 401 Unauthorized | Invalid credentials | Check username/password | | 400 Bad Request | Invalid parameters | Verify required fields are filled | | 404 Not Found | Item doesn't exist | Check item name/ID | | 422 Unprocessable Entity | Validation error | Check field values (e.g., cabinet exists) | | 500 Internal Server Error | dcTrack API error | Check dcTrack logs or contact support |
Troubleshooting
Node doesn't appear in n8n
- Restart n8n
- Clear browser cache
- Check installation:
npm list n8n-nodes-sunbird-dctrack
Authentication fails
- Verify credentials work in dcTrack web interface
- Check Allowed HTTP Request Domain includes your dcTrack domain
- Ensure user has API access permissions
API requests fail
- Verify Base URL is correct (no trailing slash)
- Check network connectivity to dcTrack
- Verify dcTrack API is enabled
Development
Building from Source
# Clone repository
git clone https://github.com/m3sh311/n8n-nodes-sunbird-dctrack.git
cd n8n-nodes-sunbird-dctrack
# Install dependencies
npm install
# Build
npm run build
# Link for local testing
npm linkProject Structure
n8n-nodes-sunbird-dctrack/
├── nodes/
│ └── DcTrack/
│ ├── DcTrack.node.ts # Main node implementation
│ └── dctrack.svg # Node icon
├── package.json
├── tsconfig.json
└── README.mdResources
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Roadmap
- [ ] Token-based authentication
- [ ] OAuth 2.0 authentication
- [ ] Power connection operations
- [ ] Bulk operations (create/update/delete multiple items)
- [ ] Custom field support improvements
- [ ] Webhook triggers
- [ ] Asset lifecycle workflows
- [ ] Capacity planning operations
Version History
0.5.0 (Current)
- ✅ Model resource with Create operation
- ✅ Support for dimensions, power configuration, and advanced fields
- ✅ JSON support for Power Ports, Data Ports, Chassis Faces, and Aliases
- ✅ Configurable units (US/Metric) based on user settings
0.3.2 (Current)
- ✅ OAuth2 Client Credentials authentication support
- ✅ Automatic token generation and management
- ✅ Single authentication method selector
- ✅ Tested with both Basic Auth and OAuth2
0.3.0
- 🔧 OAuth2 implementation (initial)
0.2.3 (Current)
- ✅ Basic Authentication support
- ✅ Item operations: Create, Get, Update, Move, Search, Delete
- ✅ Connection operations: Create data connections
- ✅ User-friendly search filters (no JSON required)
- ✅ Multi-select return fields
0.2.0
- ✅ Initial release with basic operations
- ✅ JSON-based search filters
0.1.0
- 🧪 Beta version
License
Support
For issues, questions, or contributions:
- 🐛 GitHub Issues
- 📧 Email: [email protected]
- 💬 n8n Community Forum
Disclaimer
This is a community-created node and is not officially supported by Sunbird Software or n8n.io. Use at your own risk.
Made with ❤️ for the n8n and dcTrack communities
