sunbird-dctrack

n8n community node for Sunbird dcTrack DCIM

Package Information

Downloads: 3 weekly / 34 monthly
Latest Version: 0.6.0
Author: Michel Daviller

Documentation

n8n-nodes-sunbird-dctrack

n8n.io - Workflow Automation

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.

Batch Processing

The dcTrack node supports processing multiple items in a single workflow execution for CREATE and DELETE operations. This enables efficient bulk operations directly from your n8n workflows.

Supported Batch Operations

  • CREATE - Create multiple items at once
  • DELETE - Delete multiple items at once
  • ⚠️ UPDATE, MOVE, SEARCH - Currently single-item only (batch support coming soon)

How Batch Processing Works

The node uses a hybrid approach:

  1. Input Data (recommended for batch): When items are passed from previous nodes, the node processes each item individually
  2. Node Parameters (for single items): Traditional parameter-based configuration for creating/deleting one item at a time

CREATE - Batch Item Creation

When multiple items are passed as input, the node will create each item individually in dcTrack.

Example input data structure:

[
  {
    "name": "Server01",
    "make": "Dell",
    "models": "PowerEdge R630",
    "site": "Site A",
    "rack": "8E",
    "U position": 1
  },
  {
    "name": "Server02",
    "make": "Dell",
    "models": "PowerEdge R630",
    "site": "Site A",
    "rack": "8E",
    "U position": 2
  }
]

Supported field mappings for CREATE:

Input Field dcTrack API Field Alternative Names Description
name tiName - Item name (required)
make cmbMake - Manufacturer
models or model cmbModel - Model name (required)
site or location cmbLocation - Location/Site (required)
rack or cabinet cmbCabinet - Cabinet/Rack name
U position or uPosition cmbUPosition - U position (converted to string)
status cmbStatus - Status (Planned, Active, etc.)
serialNumber or serial number tiSerialNumber - Serial number
assetTag or asset tag tiAssetTag - Asset tag
description tiDescription - Description
powerRating or power rating tiRatedPower - Power rating in watts

DELETE - Batch Item Deletion

Delete multiple items by providing their IDs from a previous node (typically from a SEARCH operation).

Example workflow:

  1. SEARCH - Find items to delete with filters
  2. Code/Set - Extract IDs from search results
  3. DELETE - Remove items in batch

Example input data structure for DELETE:

[
  { "id": "12345" },
  { "id": "12346" },
  { "id": "12347" }
]

Supported field mappings for DELETE:

Input Field dcTrack API Field Alternative Names Description
id or itemId Item ID - dcTrack item ID (required)
proceedOnWarning - - Whether to proceed on warnings (boolean)

Error Handling

The node provides detailed error messages from the dcTrack API:

  • Individual item errors - Each item is processed independently; if one fails, others continue
  • Clear error messages - API validation errors are displayed (e.g., "UPosition 1 is not available in Cabinet 8E")
  • Continue on Fail - Enable this setting to process all items even if some fail

Example error output:

{
  "error": "dcTrack API Error: The UPosition 1 is not available in Cabinet 8E. Please choose a different position."
}

Example Workflows

Bulk Import from Excel/Google Sheets

Google Sheets → dcTrack (CREATE) → Success/Error Logging
  1. Read equipment data from spreadsheet
  2. Create all items in dcTrack in batch
  3. Log results back to spreadsheet

Bulk Decommission

dcTrack (SEARCH) → Filter → dcTrack (DELETE) → Notification
  1. Search for items matching criteria (e.g., status = "Decommissioned")
  2. Filter/review items to delete
  3. Delete all matching items
  4. Send notification with results

Installation

Follow the installation guide in the n8n community nodes documentation.

Community Nodes (Recommended)

  1. Go to Settings > Community Nodes
  2. Select Install
  3. Enter n8n-nodes-sunbird-dctrack
  4. Click Install

Manual Installation

npm install n8n-nodes-sunbird-dctrack

Authentication

✅ Basic Authentication

Username and password authentication using n8n's standard Basic Auth credentials.

Setup:

  1. Add Credential → Basic Auth
  2. Enter your dcTrack username and password
  3. Set allowed domain to your dcTrack instance

✅ OAuth 2.0 (Client Credentials)

Token-based authentication using Client ID and Client Secret.

Setup:

  1. In dcTrack: Generate Client ID and Client Secret (Administration → User Management)
  2. In n8n: Add Credential → dcTrack OAuth2 API
  3. 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

  1. A dcTrack instance (on-premises or cloud)
  2. Valid user credentials with API access
  3. Network access to your dcTrack API endpoint

Setup

  1. 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)
  2. 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: Active

Example 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: 100

Example 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 lbs

Power 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}: Either front or back

Using HTTP Request Node:

  1. Create your model with the dcTrack node (note the returned id)
  2. Add an HTTP Request node with your model image file
  3. 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

  1. Restart n8n
  2. Clear browser cache
  3. Check installation: npm list n8n-nodes-sunbird-dctrack

Authentication fails

  1. Verify credentials work in dcTrack web interface
  2. Check Allowed HTTP Request Domain includes your dcTrack domain
  3. Ensure user has API access permissions

API requests fail

  1. Verify Base URL is correct (no trailing slash)
  2. Check network connectivity to dcTrack
  3. 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 link

Project Structure

n8n-nodes-sunbird-dctrack/
├── nodes/
│   └── DcTrack/
│       ├── DcTrack.node.ts          # Main node implementation
│       └── dctrack.svg              # Node icon
├── package.json
├── tsconfig.json
└── README.md

Resources

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Roadmap

  • Token-based 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

v0.6.0 (Current)

  • ✨ Added batch processing support for CREATE operations
  • ✨ Added batch processing support for DELETE operations
  • 🎨 Improved error handling with detailed API error messages
  • 🔧 Hybrid approach: supports both input data and node parameters

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

MIT

Support

For issues, questions, or contributions:

Author

Michel Daviller - michel.daviller@sunbirddcim.com

Repository

https://github.com/m3sh311/n8n-nodes-sunbird-dctrack

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

Discussion