InTouch Hub · Blue Isle Software

ManageEngine ServiceDesk Plus

Create and update IT helpdesk requests and assets in ManageEngine ServiceDesk Plus via the SDP Cloud REST API v3.

Provided free and as is, without warranty of any kind — including merchantability, fitness for a particular purpose, and the accuracy or completeness of any result. See the licence. You are responsible for checking what this produces before relying on it.

helpdeskitsmmanageengineservicedeskstatussupport-helpdesk

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:

  1. Go to https://api-console.zoho.com/ and create a Self Client application.
  2. Generate a token with scope SDPOnDemand.requests.ALL,SDPOnDemand.assets.READ.
  3. 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.

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.