Package Information
Downloads: 60 weeklyĀ /Ā 75 monthly
Latest Version: 1.1.0
Author: Widji Santoso
Available Nodes
Documentation
n8n ServiceDesk Plus Node - Enhanced Integration
A comprehensive n8n node for ManageEngine ServiceDesk Plus integration with advanced conversation management, reply functionality, and AI automation capabilities.
š Features
Core Operations
- ā Create Ticket - Create new service desk tickets
- ā Update Ticket - Modify existing ticket properties
- ā Get Ticket - Retrieve detailed ticket information
- ā List Tickets - Browse tickets with filtering capabilities
- ā Add Reply - Reply to ticket conversations with advanced targeting
- ā Get Conversations - Retrieve complete conversation history
š Attachment Management (NEW!)
- ā Upload Attachment - Upload files to tickets with descriptions
- ā Download Attachment - Download attachments with configurable paths
- ā List Attachments - Retrieve all attachments for a ticket
- ā Delete Attachment - Remove attachments from tickets
- š Secure File Handling - Proper error handling and validation
Advanced Reply Features
- šÆ Reply to First Message - Target initial web-created messages
- šÆ Reply to Latest Message - Respond to most recent conversation
- šÆ Reply to Specific Message - Target any message by ID
- š Public/Private Replies - Control reply visibility
AI Integration
- š¤ 10 AI-Accessible Tools for intelligent automation
- š¤ Smart Ticket Triage - AI can categorize and assign tickets
- š¤ Automated Status Updates - AI-driven progress monitoring
- š¤ Intelligent Reply Generation - Context-aware responses
- š¤ Attachment Intelligence - AI-powered file management
š¦ Installation
Prerequisites
- n8n instance (self-hosted or cloud)
- ManageEngine ServiceDesk Plus with API access
- Valid API credentials (Base URL + Auth Token)
Install via npm
npm install n8n-nodes-service-desk-plus
Manual Installation
- Clone this repository
- Install dependencies:
npm install - Build the node:
npm run build - Link to your n8n installation
āļø Configuration
1. Create ServiceDesk Plus API Credentials
- Navigate to n8n ā Credentials
- Create new "ServiceDesk Plus API" credential
- Configure the following:
{
"baseUrl": "https://your-domain.servicedeskplus.com/api/v3",
"authToken": "your-api-token-here"
}
2. Add Node to Workflow
- Search for "ServiceDesk Plus" in the node palette
- Drag and drop into your workflow
- Select your configured credentials
- Choose your desired operation
šÆ Usage Examples
Create a New Ticket
{
"operation": "create",
"subject": "Laptop not starting",
"description": "User reports laptop won't boot after Windows update",
"email_id": "user@company.com",
"service_category": "01. PC/Laptop"
}
Reply to First Message (Web-Created Ticket)
{
"operation": "addReply",
"ticketId": "12345",
"replyContent": "Thank you for reporting this issue. We are investigating and will provide an update within 2 hours.",
"replyToMessage": "first",
"isPublic": true
}
Get Ticket Conversations
{
"operation": "getConversations",
"ticketId": "12345"
}
List Open Tickets
{
"operation": "listTickets",
"limit": 20,
"statusFilter": "Open"
}
š¤ AI Automation Examples
Intelligent Ticket Triage
// AI automatically categorizes and responds to new tickets
const ticket = await createServiceDeskTicket({
subject: "Email not working",
description: "Cannot send or receive emails since this morning",
email_id: "user@company.com",
service_category: "16. IT System and Mail" // AI determines category
});
// AI provides immediate acknowledgment
const reply = await addReplyToTicket({
ticketId: ticket.ticketId,
replyContent: "Thank you for reporting the email issue. Our team is investigating and will provide an update within 2 hours.",
replyToMessage: "first",
isPublic: true
});
Automated Status Monitoring
// AI monitors and updates ticket progress
const tickets = await listServiceDeskTickets({
statusFilter: "In Progress",
limit: 50
});
for (const ticket of tickets.tickets) {
const conversations = await getTicketConversations({
ticketId: ticket.id
});
// AI determines if update is needed
if (shouldProvideUpdate(conversations)) {
await addReplyToTicket({
ticketId: ticket.id,
replyContent: "Status update: We are still working on your request and expect resolution by end of day.",
replyToMessage: "latest",
isPublic: true
});
}
}
š Supported Service Categories
The node supports 21 predefined service categories:
- PC/Laptop
- Office Application
- Printer&Scanner
- IT Peripheral
- LED Monitor
- Television
- Merdeka System Apps
- File Server
- Network
- Radio HT
- Deskphone
- Access Card
- CCTV
- IT Service Request Form
- Other
- IT System and Mail
- IT Project Related to System
- IT Project Related to Network
- Preventive Maintenance Support
- Preventive Maintenance Network
- Document Control
š§ API Operations
| Operation | Method | Endpoint | Purpose |
|---|---|---|---|
| Create Ticket | POST | /requests |
Create new ticket |
| Update Ticket | PUT | /requests/{id} |
Update ticket properties |
| Get Ticket | GET | /requests/{id} |
Retrieve ticket details |
| List Tickets | GET | /requests |
List tickets with filters |
| Add Reply | POST | /requests/{id}/conversations |
Add conversation reply |
| Get Conversations | GET | /requests/{id}/conversations |
Get ticket conversations |
| Add Resolution | POST | /requests/{id}/resolutions |
Add ticket resolution |
š ļø Development
Prerequisites
- Node.js 16+
- TypeScript
- n8n development environment
Setup
# Clone the repository
git clone https://github.com/your-username/n8n-nodes-service-desk-plus.git
cd n8n-nodes-service-desk-plus
# Install dependencies
npm install
# Build the node
npm run build
# Run type checking
npm run type-check
Project Structure
n8n-nodes-service-desk-plus/
āāā src/
ā āāā ServiceDeskPlus.node.ts # Main node implementation
ā āāā ServiceDeskPlus.node.json # Node metadata
ā āāā credentials/
ā ā āāā ServiceDeskPlusApi.credentials.ts # Credential definition
ā āāā typings/
ā ā āāā n8n-extensions.d.ts # Type definitions
ā āāā serviceDeskPlus.svg # Node icon
āāā docs/
ā āāā journal.md # Development journal
āāā package.json
āāā tsconfig.json
āāā README.md
š Troubleshooting
Common Issues
Connection Problems
- ā
Verify base URL format:
https://your-domain.servicedeskplus.com/api/v3 - ā Check API token validity and permissions
- ā Ensure network connectivity to ServiceDesk Plus instance
Reply Issues
- ā Verify ticket exists and is accessible
- ā Check conversation history before replying
- ā Use "first" or "latest" for automatic message targeting
Service Category Errors
- ā Use exact category names from the predefined list
- ā Check for typos or extra spaces
- ā Refer to the supported categories section above
Error Response Format
All operations return consistent error responses:
{
"success": false,
"error": "Detailed error message",
"operation": "operationName"
}
š Documentation
- Development Journal - Detailed development progress and technical notes
- ManageEngine ServiceDesk Plus API Documentation
- n8n Node Development Guide
š¤ Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
Development Guidelines
- Follow TypeScript best practices
- Maintain backward compatibility
- Add comprehensive error handling
- Update documentation for new features
- Run
npm run type-checkbefore submitting
š License
This project is licensed under the MIT License - see the LICENSE file for details.
š Acknowledgments
- n8n - Workflow automation platform
- ManageEngine ServiceDesk Plus - IT service management solution
- Community contributors and testers
š Support
- š Bug Reports: GitHub Issues
- š¬ Discussions: GitHub Discussions
- š§ Email: support@yourcompany.com
Made with ā¤ļø for the n8n community
Last Updated: August 8, 2025 | Version: 2.0.0 (Enhanced)