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.
- Installation
- Authentication Setup
- Available Resources
- Quick Start Guide
- Workflow Examples
- API Reference
- Troubleshooting
- Contributing
npm install n8n-nodes-datto-rmm
- Download the package
- Place in your n8n custom nodes directory
- Restart n8n
- Add to your n8n environment variables:
N8N_CUSTOM_EXTENSIONS="n8n-nodes-datto-rmm"
- Restart n8n service
- 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
)
- 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
The credential test will validate your connection to the Datto RMM API.
Manage account-level information and settings.
Operations:
-
Get
- Retrieve account information -
Get Variables
- Get account variables
Comprehensive device management and monitoring.
Operations:
-
Get
- Get device by UID -
Get by ID
- Get device by numeric ID -
Get by MAC Address
- Find device by MAC address -
Get Open Alerts
- View active device alerts -
Get Resolved Alerts
- View resolved device alerts -
Move Device
- Transfer device between sites -
Create Quick Job
- Execute automation on device -
Set Warranty
- Update warranty information -
Set UDF Fields
- Configure user-defined fields
Complete site administration and monitoring.
Operations:
-
Get
- Get site by UID -
Get Many
- List all sites with filtering -
Create
- Create new site -
Update
- Modify existing site -
Get Devices
- List site devices with filters -
Get Open Alerts
- View site alerts -
Get Resolved Alerts
- View resolved site alerts -
Get Variables
- Retrieve site variables -
Get Settings
- Get site configuration -
Get Filters
- View site device filters
- 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)
-
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
- 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
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
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]
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 }}
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
Most list operations support pagination:
Page: 1 (1-based page number)
Max Results: 100 (maximum items per page)
Many operations support filtering:
Site Name: "Production" (partial match allowed)
Hostname: "web-server" (partial match allowed)
Device Type: "Workstation"
Operating System: "Windows"
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
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
All operations return data in consistent format:
{
"json": {
// Datto RMM API response data
},
"pairedItem": {
"item": 0
}
}
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)
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
Leverage Datto RMM variables in workflows:
-
Get Account Variables
Resource: Account Operation: Get Variables
-
Get 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
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
Error: Request failed with status code 429
Solutions:
- Reduce batch sizes
- Add delays between operations
- Use pagination for large datasets
- Check account API limits
Error: Device was not found
Solutions:
- Verify device UID/ID/MAC address
- Check device exists in Datto RMM
- Ensure proper permissions for device access
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
Enable debug logging for troubleshooting:
-
Environment Variable
N8N_LOG_LEVEL=debug
-
Check Logs
- Review n8n logs for detailed API calls
- Examine request/response data
- Identify specific error points
- Use Resource Mapper - Select only needed fields
- Implement Pagination - For large datasets
- Batch Processing - Group operations efficiently
- Cache Results - Store frequently accessed data
- 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
- Secure Credentials - Use n8n credential system
- Limit API Scope - Create dedicated API keys
- Regular Rotation - Update API keys periodically
- Monitor Usage - Track API consumption
We welcome contributions! Please see our contributing guidelines for:
- Bug reports
- Feature requests
- Code contributions
- Documentation improvements
This project is licensed under the MIT License - see the LICENSE file for details.
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