ManageEngine ServiceDesk Plus
Create and update IT helpdesk requests (tickets) and browse assets in ManageEngine ServiceDesk Plus Cloud via the SDP REST API v3.
Operations
| operation | Description | Required extra inputs |
|---|---|---|
list_requests |
List open requests in the portal | — |
get_request |
Fetch a single request by id | requestId |
create_request |
Open a new IT helpdesk request | subject (+ optional description, requesterEmail, priority) |
update_request |
Edit an existing request | requestId + at least one of subject, description, priority, status |
list_assets |
List assets registered in the portal | — |
get_asset |
Fetch a single asset by id | assetId |
Authentication — Zoho OAuth 2.0
ServiceDesk Plus Cloud authenticates via Zoho OAuth 2.0. The apiKey
input must be a Zoho access token (not an API key string).
How to get one:
- Go to https://api-console.zoho.com/ and create a Self Client application.
- Generate a token with scope
SDPOnDemand.requests.ALL,SDPOnDemand.assets.READ. - Copy the access token. It expires in 1 hour by default — use a refresh flow or a long-lived token for automation.
Required inputs for every call
| Input | Example | Notes |
|---|---|---|
apiKey |
1000.abc123... |
Zoho OAuth access token |
operation |
create_request |
See table above |
domain |
sdpondemand.manageengine.com |
Your SDP service domain |
portal |
mycompany |
Portal name (visible in the SDP URL: /app/{portal}/) |
Examples
List open requests
{
"apiKey": "1000.abc...",
"operation": "list_requests",
"domain": "sdpondemand.manageengine.com",
"portal": "mycompany"
}
Create a request
{
"apiKey": "1000.abc...",
"operation": "create_request",
"domain": "sdpondemand.manageengine.com",
"portal": "mycompany",
"subject": "Laptop keyboard not working",
"description": "The spacebar is stuck on my ThinkPad.",
"requesterEmail": "[email protected]",
"priority": "High"
}
Update a request
{
"apiKey": "1000.abc...",
"operation": "update_request",
"domain": "sdpondemand.manageengine.com",
"portal": "mycompany",
"requestId": "1234",
"status": "Resolved",
"description": "Replaced keyboard. Issue fixed."
}
Get an asset
{
"apiKey": "1000.abc...",
"operation": "get_asset",
"domain": "sdpondemand.manageengine.com",
"portal": "mycompany",
"assetId": "5001"
}
Outputs
| Output | Description |
|---|---|
result |
Response body from the SDP API (JSON string) |
status |
HTTP status code (e.g. 200, 201, 400) |
Publishes
The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.
errorresultstatus
Input Properties
Every property this tool accepts, from its own tool.iml.
| Property | Type | Required | Default | Description |
|---|---|---|---|---|
apiKey |
string | yes | — | Zoho OAuth 2.0 access token. Passed as 'Authorization: Zoho-oauthtoken {apiKey}'. Generate via the Zoho Developer Console for your ServiceDesk Plus scope. |
operation |
string | yes | — | One of: list_requests, get_request, create_request, update_request, list_assets, get_asset |
domain |
string | no | — | ServiceDesk Plus service domain (e.g. sdpondemand.manageengine.com or your custom domain). Required. |
portal |
string | no | — | SDP portal name (appears in the URL as /app/{portal}/). Required. |
requestId |
string | no | — | Request id for get_request or update_request. |
subject |
string | no | — | Subject / title for create_request (required) or update_request. |
description |
string | no | — | Description text for create_request or update_request. |
requesterEmail |
string | no | — | Requester e-mail address for create_request. |
priority |
string | no | — | Priority name for create_request or update_request (e.g. High, Medium, Low). |
status |
string | no | — | Status name for update_request (e.g. Open, Closed, Resolved). |
assetId |
string | no | — | Asset id for get_asset. |