Package Information
Available Nodes
Documentation
Datto RMM Node for n8n
A comprehensive n8n node for integrating with Datto RMM (Remote Monitoring and Management) platform. This node enables automation of device management, site administration, alert monitoring, and more through n8n workflows.
📋 Table of Contents
- Installation
- Authentication Setup
- Available Resources
- Quick Start Guide
- Workflow Examples
- API Reference
- Troubleshooting
- Contributing
🚀 Installation
Method 1: npm Installation (Recommended)
npm install n8n-nodes-datto-rmm
Method 2: Manual Installation
- Download the package
- Place in your n8n custom nodes directory
- Restart n8n
Enable the Node
- Add to your n8n environment variables:
N8N_CUSTOM_EXTENSIONS="n8n-nodes-datto-rmm"
- Restart n8n service
🔐 Authentication Setup
Step 1: Get Datto RMM API Credentials
- Log into your Datto RMM portal
- Navigate to Administration → API Management
- Create new API keys:
- API Key (Access Key)
- Secret Key
- API URL (your instance URL, e.g.,
https://your-instance.centrastage.net)
Step 2: Configure n8n Credentials
- In n8n, go to Settings → Credentials
- Click Create Credential
- Search for "Datto RMM API"
- Fill in the required fields:
API URL: https://your-instance.centrastage.net API Key: your-access-key Secret Key: your-secret-key - Click Save and Test
Step 3: Verify Connection
The credential test will validate your connection to the Datto RMM API.
📊 Available Resources
✅ Fully Implemented Resources
1. Account Resource
Manage account-level information and settings.
Operations:
Get- Retrieve account informationGet Variables- Get account variables
2. Device Resource
Comprehensive device management and monitoring.
Operations:
Get- Get device by UIDGet by ID- Get device by numeric IDGet by MAC Address- Find device by MAC addressGet Open Alerts- View active device alertsGet Resolved Alerts- View resolved device alertsMove Device- Transfer device between sitesCreate Quick Job- Execute automation on deviceSet Warranty- Update warranty informationSet UDF Fields- Configure user-defined fields
3. Site Resource
Complete site administration and monitoring.
Operations:
Get- Get site by UIDGet Many- List all sites with filteringCreate- Create new siteUpdate- Modify existing siteGet Devices- List site devices with filtersGet Open Alerts- View site alertsGet Resolved Alerts- View resolved site alertsGet Variables- Retrieve site variablesGet Settings- Get site configurationGet Filters- View site device filters
⏳ Planned Resources
- Alert Resource (resolve alerts, advanced filtering)
- Job Resource (job results, automation monitoring)
- Audit Resource (compliance, software inventory)
- System Resource (API health, rate limits)
- Filter Resource (advanced device queries)
🎯 Quick Start Guide
Basic Workflow: Get Account Information
Add Datto RMM Node
- Drag "Datto RMM" node into workflow
- Connect to trigger (Manual, Schedule, etc.)
Configure Node
Resource: Account Operation: Get Credential: [Select your Datto RMM credential]Execute Workflow
- Click Execute to test
- View account data in output
Basic Workflow: List All Sites
- Add Datto RMM Node
- Configure Node
Resource: Site Operation: Get Many Page: 1 Max Results: 100 - Execute and Review
- Returns paginated list of all sites
- Each site includes device counts and status
📖 Workflow Examples
Example 1: Device Health Dashboard
Goal: Monitor all devices with open alerts across all sites
Workflow Steps:
- Manual Trigger → Start workflow
- Datto RMM (Get Sites) → List all sites
Resource: Site Operation: Get Many Max Results: 100 - Split In Batches → Process sites individually
- Datto RMM (Get Site Alerts) → Get alerts per site
Resource: Site Operation: Get Open Alerts Site UID: {{ $json.uid }} - Filter (Has Alerts) → Only sites with alerts
- Slack/Email → Send notifications
Example 2: Automated Device Onboarding
Goal: Automatically organize new devices into appropriate sites
Workflow Steps:
- Webhook Trigger → Receive device MAC address
- Datto RMM (Find Device) → Locate device
Resource: Device Operation: Get by MAC Address MAC Address: {{ $json.macAddress }} - Datto RMM (Move Device) → Assign to correct site
Resource: Device Operation: Move Device Device UID: {{ $json.uid }} Target Site UID: {{ $json.targetSiteUid }} - Datto RMM (Set UDF Fields) → Apply custom fields
Resource: Device Operation: Set UDF Fields Device UID: {{ $json.uid }} UDF Fields: [Configure as needed]
Example 3: Bulk Device Management
Goal: Run maintenance tasks across multiple devices
Workflow Steps:
- Schedule Trigger → Daily at 2 AM
- Datto RMM (Get Site Devices) → Get target devices
Resource: Site Operation: Get Devices Site UID: {{ $json.maintenanceSiteUid }} Operating System: Windows - Filter (Online Devices) → Only available devices
- Split In Batches → Process devices in groups
- Datto RMM (Create Quick Job) → Run maintenance
Resource: Device Operation: Create Quick Job Device UID: {{ $json.uid }} Job Name: "Nightly Maintenance" Component UID: {{ $json.maintenanceComponentUid }}
Example 4: Alert Escalation Workflow
Goal: Automatically escalate high-priority alerts
Workflow Steps:
- Schedule Trigger → Every 15 minutes
- Datto RMM (Get Account Alerts) → Get all open alerts
Resource: Account Operation: Get Open Alerts Max Results: 50 - Filter (High Priority) → Critical alerts only
- Datto RMM (Get Device Details) → Get device info
Resource: Device Operation: Get Device UID: {{ $json.deviceUid }} - ServiceNow/Jira → Create tickets
- Slack → Notify team
🔧 API Reference
Common Parameters
Pagination Parameters
Most list operations support pagination:
Page: 1 (1-based page number)
Max Results: 100 (maximum items per page)
Filter Parameters
Many operations support filtering:
Site Name: "Production" (partial match allowed)
Hostname: "web-server" (partial match allowed)
Device Type: "Workstation"
Operating System: "Windows"
Resource Mapper
All operations support dynamic field selection:
- Use "Fields to Return" to choose specific data
- Improves performance by limiting response size
- Customize output for specific workflow needs
Error Handling
The node includes comprehensive error handling:
- Individual Item Errors: When "Continue on Fail" is enabled
- Authentication Errors: Clear OAuth2 error messages
- Rate Limiting: Automatic handling of API limits
- Network Issues: Retry logic for transient failures
Response Format
All operations return data in consistent format:
{
"json": {
// Datto RMM API response data
},
"pairedItem": {
"item": 0
}
}
🔍 Advanced Usage
Using Resource Mapper
The Resource Mapper allows dynamic field selection:
Enable Resource Mapper
- Available on all operations
- Located in "Fields to Return" section
Configure Fields
- Select specific fields to include
- Improves performance
- Reduces data transfer
Example Configuration
Fields to Return: ✓ ID ✓ Name ✓ Status ✗ Description (unchecked to exclude)
Batch Processing
For large datasets, use batch processing:
Split In Batches Node
- Process 10-50 items at a time
- Prevents API rate limiting
- Improves reliability
Configuration Example
Batch Size: 25 Options: Keep Input Data
Custom Variables
Leverage Datto RMM variables in workflows:
Get Account Variables
Resource: Account Operation: Get VariablesGet Site Variables
Resource: Site Operation: Get Variables Site UID: {{ $json.siteUid }}Use in Automation
- Reference variables in job parameters
- Dynamic configuration based on site/account settings
🚨 Troubleshooting
Common Issues
Authentication Errors (401)
Error: Request failed with status code 401
Solutions:
- Verify API credentials in n8n
- Check API URL format (include https://)
- Ensure API keys have proper permissions
- Test credentials using "Test" button
Rate Limiting (429)
Error: Request failed with status code 429
Solutions:
- Reduce batch sizes
- Add delays between operations
- Use pagination for large datasets
- Check account API limits
Device Not Found (404)
Error: Device was not found
Solutions:
- Verify device UID/ID/MAC address
- Check device exists in Datto RMM
- Ensure proper permissions for device access
Site Access Issues (403)
Error: Authenticated user doesn't have access to this resource
Solutions:
- Verify site UID is correct
- Check user permissions in Datto RMM
- Ensure API credentials have site access
Debug Mode
Enable debug logging for troubleshooting:
Environment Variable
N8N_LOG_LEVEL=debugCheck Logs
- Review n8n logs for detailed API calls
- Examine request/response data
- Identify specific error points
Best Practices
Performance Optimization
- Use Resource Mapper - Select only needed fields
- Implement Pagination - For large datasets
- Batch Processing - Group operations efficiently
- Cache Results - Store frequently accessed data
Error Handling
- Enable Continue on Fail - For bulk operations
- Add Error Workflows - Handle failures gracefully
- Implement Retries - For transient network issues
- Log Errors - Track failures for debugging
Security
- Secure Credentials - Use n8n credential system
- Limit API Scope - Create dedicated API keys
- Regular Rotation - Update API keys periodically
- Monitor Usage - Track API consumption
🤝 Contributing
We welcome contributions! Please see our contributing guidelines for:
- Bug reports
- Feature requests
- Code contributions
- Documentation improvements
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🆘 Support
For support and questions:
- GitHub Issues: [Report bugs or request features]
- Documentation: [This README and API docs]
- Community: [n8n Community Forum]
Version: 0.4.3+
Compatibility: n8n v0.190.0+
API Version: Datto RMM API v2