ManageEngine ServiceDesk Plus On-Premises Documentation — Custom Tooling Reference
Target Build: 14.7 Build 14700 (On-Premises)
This guide consolidates every known official and unofficial documentation location relevant to building custom tools, automations, and integrations for ServiceDesk Plus On-Premises.
1. In-App API Documentation (Your Instance)
The single most important starting point lives inside your own SDP instance. Your on-premises installation ships with a built-in API documentation browser.[^1]
Location: Admin Tab → General Settings → API → Documentation
This in-app documentation:
- Reflects your exact build version's supported API endpoints
- Shows all available modules (Requests, Changes, Problems, Assets, CMDB, etc.)
- Provides input/output format examples for each operation
- Is version-accurate (unlike external docs that may reference newer or older builds)
Pro tip: Bookmark
http://<your-server>:<port>/api/v3/<module>as your base URL pattern for all REST calls.[^2]
2. Official REST API Documentation
V3 REST API (Primary — Current Standard)
Build 14700 uses the V3 API for on-premises. V1 APIs have been deprecated in recent versions, and V3 is now the standard for all modules.[^3]
| Resource | URL |
|---|---|
| REST API Guide (On-Prem) | https://help.servicedeskplus.com/api/rest-api.html |
| API V1 vs V3 Comparison | https://help.servicedeskplus.com/apiv1-v3 |
| V3 Solutions API Changes | https://help.servicedeskplus.com/v3-solutions-api-changes |
| CMDB API Introduction | https://help.servicedeskplus.com/api/cmdb/cmdb_api_intro.html |
| CMDB API V1 vs V3 Comparison | https://help.servicedeskplus.com/cmdb-api-v1-and-v3-comparison |
Key API Details for Build 14700
- Authentication: API key (TECHNICIAN_KEY or AUTHTOKEN) generated per technician with login permissions[^2]
- URL Format:
http://<servername>:<port>/api/v3/<module>[^2] - Supported Operations: Requests (CRUD, notes, worklogs, conversations, attachments, resolutions, assign/pick up, reply, notifications), Technicians, Requesters, Admin entities (Categories, Subcategories, Items, Status, Levels, Modes, Urgency, Priority, Templates, Support Groups)[^2]
- Data Format: V3 uses strict lowercase JSON keys,
nullfor empty values, long values for dates, and native boolean types (not strings)[^4]
V3 Cloud API Reference (Structural Reference)
While this is technically the cloud docs, the V3 API structure is largely shared with on-premises. Use it as a supplementary structural reference for endpoint patterns:
| Resource | URL |
|---|---|
| SDP Cloud V3 API Docs | https://www.manageengine.com/products/service-desk/sdpod-v3-api/SDPOD-V3-API.html |
| Request Module API | https://www.manageengine.com/products/service-desk/sdpod-v3-api/requests/request.html |
Important: Cloud and on-premises APIs diverge in authentication (OAuth vs API key) and some module availability. Always validate against your in-app docs.[^5][^6]
3. Deluge Scripting (Built-In Scripting Language)
Starting with recent builds, ServiceDesk Plus On-Premises now supports Deluge — Zoho's proprietary scripting language — as a built-in alternative to external Python/PowerShell scripts. This is a major shift for custom tooling.[^7][^8]
Official Deluge Documentation
| Resource | URL |
|---|---|
| Using Deluge in SDP (On-Prem Hub) | https://help.servicedeskplus.com/using-deluge |
| Deluge Introduction (MSP variant, applies conceptually) | https://www.manageengine.com/products/service-desk-msp/help/adminguide/deluge/deluge-introduction.html |
| Request Custom Functions | https://www.manageengine.com/products/service-desk-msp/help/adminguide/deluge/request-custom-functions.html |
Where Deluge Custom Functions Are Used
Deluge custom functions can be attached to:[^8][^9]
- Business Rules — Execute on request create/edit/delete based on conditions
- Request Triggers (Custom Triggers) — Post-creation actions on requests
- Change Triggers — Post-creation actions on changes
- Request Life Cycle / Workflows — Actions at specific lifecycle transitions
- Scheduled Functions — Time-based automated execution
- Custom Menu — On-demand execution from request context menu
Key Deluge Concepts
- The main input argument is
requestObj(orchangeObjfor changes), containing the ticket data[^9] - Custom functions return a Map:
{"message":"Executed successfully","status":"success/failure"}[^9] - Deluge supports
invokeUrlfor making external HTTP calls in a single line of code[^10] - Functions can update request fields, add notes, and add conditional approvals[^9]
- The script editor is accessible in-app at:
Admin → Incident Management → Request Custom Function[^9]
Deluge Script Editor Location (In-App)
Navigate to: Admin → Incident Management → Request Custom Function → New
The Deluge Script Editor provides a drag-and-drop interface with code templates and a Save & Test button that lets you execute scripts against sample requests without going to production.[^10]
4. External Custom Scripts (Python / PowerShell)
For on-premises, the traditional approach to custom tooling uses external scripts placed on the server filesystem.[^11][^7]
Official Custom Script Documentation
| Resource | URL |
|---|---|
| Writing a Custom Script (V1 API Guide) | https://www.manageengine.com/products/service-desk-msp/help/adminguide/configurations/helpdesk/writingacustomscript.html |
| Executing Custom Function in Business Rule | https://www.manageengine.com/products/service-desk-msp/help/adminguide/configurations/helpdesk/executing-custom-function-in-busi... |
Script File Location on Server
Custom scripts are placed at:[^12]
C:\Program Files\ManageEngine\ServiceDesk\integration\custom_scripts\
(Or equivalent Linux path if running on Ubuntu)
Script Structure (Python)[^11]
- Import packages —
sys,json,requests,datetime - Get input arguments —
sys.argv[index](index starts from 1) - Read request data — When
$COMPLETE_JSON_FILEis passed, read the JSON file path fromsys.argv[^1] - Implement logic — Make API calls using
requests.Session() - Return JSON — Print a JSON object/array as output
Custom Triggers Configuration
Custom triggers execute scripts when requests are created or edited. Configure at:[^13][^14]
Admin → Incident Management → Custom Triggers → Actions
Custom triggers support both incident and service requests and can execute Python, VBScript, PowerShell, or other scripts available on the server.
5. Field & Form Rules (Client-Side Scripting)
Field and Form Rules (FAFR) use JavaScript to manipulate the request form on the client side. These are powerful for dynamic form behavior.[^15]
Use Cases from PitStop Knowledge Base
- Dynamic field population from CSV files
- Field dependency chains
- Populating requester details into additional fields
- Restricting date fields to valid ranges
- Auto-populating editable tables
Configuration Location
Navigate to the request template → Field and Form Rules → select trigger (On Form Load, On Field Change, etc.)
6. PitStop Community Knowledge Base (Unofficial Gold Mine)
The PitStop community portal is the most valuable unofficial documentation source. ManageEngine engineers actively post sample scripts and solutions here.[^15]
Key PitStop Sections
| Section | URL |
|---|---|
| Custom Scripts KB | https://pitstop.manageengine.com/portal/en/kb/servicedesk-plus/customisations-automations/requests/custom-scripts |
| Community Forums | https://pitstop.manageengine.com/portal/en/community/topic/ |
| General SDP Knowledge Base | https://pitstop.manageengine.com/portal/en/kb/servicedesk-plus |
Notable PitStop Custom Script Articles[^15]
- Auto-create child requests from parent (Python + Deluge variants)
- Bulk request edit/delete via Python
- Auto-close requests after approval reminders
- Populate requester details in additional fields via Business Rules
- Create service requests through email using Business Rules
- Dynamic CSV-based field population
- Close linked requests when parent closes
- Auto-create requests for contract expiry (Custom Schedules)
- Send reminder emails to unresponsive requesters
- Duplicate request via Custom Menu
- Set SLA automatically based on requester site
- Restrict technician assignment based on open ticket count
7. Official Admin Guide & Help Documentation
Core Help Portal
| Resource | URL |
|---|---|
| Main Help Portal (On-Prem) | https://help.servicedeskplus.com/ |
| Installation & Getting Started | https://help.servicedeskplus.com/introduction/installation-and-getting-started.html |
| On-Premises vs Cloud Comparison | https://help.servicedeskplus.com/compare-servicedesk-plus-on-premises-vs-cloud |
| Solutions / Knowledge Base Module | https://help.servicedeskplus.com/solutions/service-desk-solutions.html |
| Release Notes (All Versions) | https://www.manageengine.com/products/service-desk/on-premises/readme-new.html |
| REST API FAQ | https://www.manageengine.com/products/service-desk/on-premises/faq/api-management.html |
Integration-Specific Docs
| Integration | URL |
|---|---|
| Microsoft Teams Integration | https://help.servicedeskplus.com/integration-with-microsoft-teams |
| Zapier Integration | https://help.servicedeskplus.com/zapier-integration |
| Applications Manager Integration | https://www.manageengine.com/products/applications_manager/help/integrating-servicedesk-plus-on-premise.html |
8. GitHub & Third-Party Community Projects
Several community-built projects provide practical reference implementations:[^16][^12]
| Project | Language | Description | URL |
|---|---|---|---|
| pd-sdp-v2 | Python | PagerDuty integration via Custom Triggers | https://github.com/liverm/pd-sdp-v2 |
| SDP-Module | PowerShell | PowerShell module for SDP API interactions | https://github.com/DamagedDingo/SDP-Module |
| servicedeskplus-api | PHP (Laravel) | Laravel wrapper for SDP API | https://github.com/onbalt/servicedeskplus-api |
| AzAD-SDP-Sync | PowerShell | Azure AD to SDP user sync | https://github.com/AntonMPetrov/AzAD-SDP-Sync |
| SDP-MCP | TypeScript | MCP server for AI assistant integration (Cloud) | https://github.com/PTTG-IT/SDP-MCP |
| ManageEngine Topic | Various | All ME-tagged repos on GitHub | https://github.com/topics/manageengine |
9. Video Training Resources
| Resource | Description | URL |
|---|---|---|
| Masterclass: Deluge Scripting | 56-min deep dive on Deluge custom functions[^10] | https://www.youtube.com/watch?v=l5r8U5xLVYs |
| Custom Actions with Deluge (Cloud) | Building help desk functions and integrations | https://www.youtube.com/watch?v=lZsVhKCLjcU |
| REST API Integration Demo | Basic REST operations walkthrough | https://www.youtube.com/watch?v=D-88zk5eMIo |
10. Reddit / Community Discussion Threads
These threads contain practical, battle-tested advice from admins running SDP on-premises:[^17][^18][^19]
| Thread | Platform | URL |
|---|---|---|
| ManageEngine REST API troubleshooting | r/sysadmin | https://www.reddit.com/r/sysadmin/comments/57mo6q/ |
| PowerShell + SDP REST API | r/PowerShell | https://www.reddit.com/r/PowerShell/comments/9aqom8/ |
| SDP experience + API capabilities | r/sysadmin | https://www.reddit.com/r/sysadmin/comments/p8y7z7/ |
| PowerShell SDP API wrapper function | r/PowerShell | https://www.reddit.com/r/PowerShell/comments/1ihkmul/ |
| Onboarding scripts with SDP API | r/sysadmin | https://www.reddit.com/r/sysadmin/comments/9ojefx/ |
11. Recommended Approach for Build 14700
Given your build version and your goals of building custom tools for your team, here's the recommended documentation priority:
- Start with in-app API docs —
Admin → General Settings → API → Documentation— this is your ground truth for what your build supports[^1] - Use the V3 REST API exclusively — V1 is deprecated; V3 is the current standard for build 14700[^3][^4]
- Leverage Deluge for in-app automation — No external scripts to manage, testable in the UI, and available for Business Rules, Triggers, and Workflows[^7][^8]
- Fall back to Python/PowerShell for external integrations — Place scripts in
...\ServiceDesk\integration\custom_scripts\and trigger via Custom Triggers[^12][^11] - Mine PitStop KB for ready-made scripts — Most common automation patterns already have sample code posted by ManageEngine engineers[^15]
- Check release notes before upgrading — The release notes page tracks API changes, new modules, and behavior changes between builds[^20]
Important Build Note
Build 14700 sits between the 14500 and 15000 series. The latest builds (15100+) have introduced CMDB V3 API, Request Workflows (replacing Request Life Cycle), and custom module revamps. Keep this in mind when reading newer documentation — some features documented online may not be available in 14700.[^21][^20]
Quick Reference: File Paths on Server
| Item | Path |
|---|---|
| Custom Scripts Directory | C:\ManageEngine\ServiceDesk\integration\custom_scripts\ |
| Custom Resources (HTML, etc.) | C:\ManageEngine\ServiceDesk\integration\resources\ |
| Custom JS (limited support) | C:\ManageEngine\ServiceDesk\custom\scripts\customscripts.js |
| Application Logs | C:\ManageEngine\ServiceDesk\logs\ |
Note on customscripts.js: Community reports indicate this file is not reliably loaded in all builds. Test before relying on it.[^22]
References
-
Swagger documentation for ServiceDesk Plus needed - You can find the ServiceDesk Plus API documents at [ Admin tab -> general settings -> API -> Documen...
-
Rest API - SDP help desk guide - Admin Guide - Application Programming Interface (API) is used to integrate various third party (external)applicati...
-
ServiceDesk Plus API question - PitStop ManageEngine - With the recent versions, support for v1 APIs have been discontinued and v3 APIs have been introduce...
-
API V1& V3 : A Comparison - SDP help desk guide - This document captures the general differences between the v1 and v3 API as well as the changes in r...
-
ManageEngine ServiceDesk Plus Cloud API v3 documentation - REST API acts as a bridge between ServiceDesk Plus Cloud and other applications. This API follows HT...
-
ServiceDesk Plus REST API documentation - The authentication between ServiceDesk Plus and integrated application is through an API key. A uniq...
-
Extend the Capabilities of ServiceDesk Plus With Deluge Scripting - Now both variants of ServiceDesk Plus provides an in-built scripting capability in the shape of Delu...
-
Using Deluge in ServiceDesk Plus - SDP help desk guide - Using Deluge scripting, you can build Custom Functions that allow you to manipulate data within Serv...
-
Request Custom Functions - Deluge for ServiceDesk Plus MSP - Custom actions can be used in Business Rule, Custom Trigger, and Request Life cycle to perform actio...
-
Learn to build last-mile customizations in ServiceDesk Plus using ... - ... programming and developing scripts using Deluge's intuitive and easy-to-use interface. Watch the...
-
Writing a custom script - V1 API - ManageEngine - A custom action script file is generally structured as follows: Import required packages; Get input ...
-
liverm/pd-sdp-v2: Python scripts to integrate ... - GitHub - This repository contains a Python script (triggerPagerDuty.py) that can be used with the on-premise ...
-
Custom Triggers with service requests - PitStop ManageEngine - Custom triggers can be used for both incident as well as service requests. Custom Triggers are custo...
-
Service Catalog Custom Trigger - PitStop ManageEngine - Custom triggers can be used for both incident as well as service requests. Custom Triggers are custo...
-
ServiceDesk Plus | Custom Scripts Knowledge Base - Establishing Field Dependency in ServiceDesk Plus, Using CSV Data and Field/Form Rules, Adding Attac...
-
manageengine · GitHub Topics - Pull requests. Python scripts to integrate ManageEngine ServiceDesk Plus with PagerDuty. pagerduty m...
-
ManageEngine Rest API? : r/sysadmin - Reddit - A long shot, but does anyone have experience using the Service Desk Plus rest API to submit tickets?...
-
Has anyone messed with ManageEngine ServiceDesk Plus REST ... - Has anyone messed with ManageEngine ServiceDesk Plus REST API? I'm looking to fetch information from...
-
Anyone who have experience with ManageEngine ServiceDesk ... - You can segregate ticket queues easily, set up automation and ticket flows, easily set up approval s...
-
ServiceDesk Plus On-Premises release notes: ReadMe & updates - SD-133745 : API documentation for the CMDB module is now available under Admin >API. SDF-114756, SD-...
-
CMDB API V1 and V3 Comparison - SDP help desk guide - This document outlines the differences between the deprecated V1 API and the new V3 API for CMDB in ...
-
Adding custom scripts? - PitStop ManageEngine - We've tried to add custom javascript to [ME]/servicedesk/custom/scripts/customscripts.js but this fi...