ManageEngine ServiceDesk Plus is a web-based, IT help desk software with integrated asset and project management built on an ITIL framework.

OpsRamp supports a one-way (outbound) integration.

OpsRamp configuration

Step 1: Install the integration

  1. From All Clients, select a client.
  2. Go to Setup > Integrations > Integrations.
  3. From Available Integrations, select Collaboration > ManageEngine ServiceDesk Plus.
  4. Click Install.

Step 2: Configure the integration

Configure the following: - Inbound - Because this is a one-way integration, only outbound is required. - Outbound - Monitoring of Integration - Audit Logs

Outbound (From OpsRamp to ManageEngine ServiceDesk Plus)

  1. In Integration Basic Configuration, (optional) configure notification details to trigger notification events and click Save.

  2. In Map Attributes, the mapping of attributes is not required because this is a one-way integration.

  3. In Integration Events, specify the event. An action performed on an entity is defined as an event. When an event is triggered, notifications are sent to the respective users.

    1. Click Add.

    2. Enter a name for the integration event.

    3. Default entities are Service Desk and Incident. Select the action type from the drop-down. The action type for create Incident is Create and for update or add response to Incident is Update.

    4. Enter endpoint URL, select the web method, and enter headers, payload.

      • To add more tokens to the payload, click the token in the Place Holders list and enter the value.
      • A custom field that is already configured as a response payload attribute for a given integration is not available for configuration in any other integrations. You need to remove the existing mapping from the integration to make the custom field available to map on the response payload of any other integration.
      • To parse the properties returned in response for the configured API payload, select the property from the drop-down menu and enter the value.
        Integration response mapping configuration:
        Response mapping configuration is mainly based on the response payload that is received in third party payload; below are a few examples for response mapping configuration -
      1. sample response payload to mapping the id in response mapping:
      {
      "id":"INC0001",
      "type":"incident",
      "tool":"servicedesk"
      }
      

      external ticket id = $id
      We need to append $ to the value

      1. sample response payload to mapping the id in response mapping:
      {
      "result":{
      "id":"INC0001",
      "type":"incident",
      "tool":"servicedesk"
          }
      }
      

      external ticket id = $result.id

      1. Sample response payload to mapping the id in response mapping
      {
             "result":[
                {
                   "ticketDetails":{
                  "id":"INC0001",
                  "type":"incident",
                  "tool":"servicedesk"
            },
               "Description":{
                  "display_value":"testing description",
                  "value":"validating"
               }
            }
         ]
      }
      

      external ticket id = $result[0].ticketDetails.id

      1. sample response payload to mapping the Incident Number in response mapping
      {
        "result": {
          "Incident Number": "INC0001",
          "type": "Incident"
            }
      }
      

      external ticket id = $result[‘Incident Number’]

Verify integration

To validate if the integration is successful, do the following:

  1. Select the event from the drop-down menu and select payload type.
  2. Enter the payload and click Verify. A 200-OK success response is generated if the integration is successful.

Integration failures

In case of a failure in integration, a message is sent to the respective user. Select notification type Email, enter the email address, and click Save.

Integration event payloads

FieldValue
Endpoint URLhttp://<servername>:<port number>/sdpapi/request/
Notification TypeREST API
AuthenticationNONE
Web MethodPOST
Headers
  • Accept: application/xml
  • Content-Type: application/x-www-form-urlencoded
 

Click the Add icon to add multiple values.

Payload
KeyValue
OPERATION_NAMEADD_REQUEST
TECHNICIAN_KEYManageEngine Authentication Key Click here to view instructions to fetch authentication key.
INPUT_DATASee request payload.

Request payload

    <Operation>
    <Details>
    <parameter>
    <name>requester</name>
    <value>$incident.requester.name</value>
    </parameter>
    <parameter>
    <name>subject</name>
    <value>$incident.subject</value>
    </parameter>
    <parameter>
    <name>description</name>
    <value>$incident.impact</value>
    </parameter>
    <parameter>
    <name>priority</name>
    <value>$incident.priority.name</value>
    </parameter>
    <parameter>
    <name>status</name>
    <value>$incident.status.name</value>
    </parameter>
    </Details>
    </Operation>

To map ManageEngine ServiceDesk Plus ticket ID with OpsRamp, select EXT_ENTITY_ID from Response drop-down and enter the $response.operation.Details.parameter.value value.

Response:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <API version="1.0">
    <response>
    <operation name="ADD_REQUEST">
    <result>
    <statuscode>200</statuscode>
    <status>Success</status>
    <message>Request added successfully</message>
    </result>
    <Details>
    <workorderid>28</workorderid>
    </Details>
    <Details>
    <parameter>
    <name>workorderid</name>
    <value>28</value>
    </parameter>
    </Details>
    </operation>
    </response>
    </API>

Update incident

FieldValue
Endpoint URLhttp://<servername>:<port number>/sdpapi/request/$utils.extEntityId($incident.id,$installedAppId,$entity)
Notification TypeREST API
AuthenticationNONE
Web MethodPOST
Headers
  • Accept: application/xml
  • Content-Type: application/x-www-form-urlencoded
Payload
KeyValue
OPERATION_NAMEEDIT_REQUEST
TECHNICIAN_KEYManageEngine Authentication Key Click here to view instructions to fetch authentication key.
INPUT_DATASee request payload

To map ManageEngine ServiceDesk Plus status property with OpsRamp, select STATUS_MSG from Response drop-down and enter the $response.operation.result.message value.

Request payload

    <Operation>
    <Details>
    <parameter>
    <name>priority</name>
    <value>$incident.priority.name</value>
    </parameter>
    <parameter>
    <name>status</name>
    <value>$incident.status.name</value>
    </parameter>
    </Details>
    </Operation>

To map the ManageEngine ServiceDesk Plus status property with OpsRamp, select STATUS_MSG from the Response drop-down and enter the $response.operation.result.message value.

Response:

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <API version="1.0">
    <response>
    <operation name="EDIT_REQUEST">
    <result>
    <statuscode>200</statuscode>
    <status>Success</status>
    <message>Request 26 successfully edited</message>
    </result>
    </operation>
    </response>
    </API>

Add response to incident

FieldValue
Endpoint URLhttp://<servername>:<port number>/sdpapi/request/$utils.extEntityId($incident.id,$installedAppId,$entity)/notes
Notification TypeREST API
AuthenticationNONE
Web MethodPOST
Headers
  • Accept: application/xml
  • Content-Type: application/x-www-form-urlencoded
Payload
KeyValue
OPERATION_NAMEADD_NOTE
TECHNICIAN_KEYManageEngine Authentication Key
INPUT_DATASee request payload.

Request payload

    <Operation>
    <Details>
    <Notes>
    <Note>
    <parameter>
    <name>isPublic</name>
    <value>false</value>
    </parameter>
    <parameter>
    <name>notesText</name>
    <value>$incident.latestResponse.description</value>
    </parameter>
    </Note>
    </Notes>
    </Details>
    </Operation>

To manage ManageEngine ServiceDesk Plus status property with OpsRamp, select STATUS_MSG from Response drop-down and enter the $response.operation.result.message value.

Response:

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <API version="1.0">
    <response>
    <operation name="ADD_NOTE">
    <result>
    <statuscode>200</statuscode>
    <status>Success</status>
    <message>Note added successfully for request 26</message>
    </result>
    </operation>
    </response>
    </API>

ManageEngine ServiceDesk Plus configuration

Configuration involves generating an authentication key. The authentication key (technician key) is required to post OpsRamp events as ServiceDesk Plus Incidents using ServiceDesk Plus APIs.

To generate an authentication key in ServiceDesk Plus:

  1. Log into ServiceDesk Plus with administrator privileges.
  2. Click Admin, go to Users > Technician.
    Create New Technician
  3. Click Add New to add a new technician and configure the following:
    1. Enter name.
    2. Enter a description and specify the privileges for the technician.
    3. Select Enable login for this technician and enter information for the technician.
  4. Select Enable Administrator Privileges (SDAdmin).
  5. In API key details, click Generate/Regenerate and select Never Expires to generate the authentication key.
  6. Copy the authentication key. The key is used while configuring an integration event in OpsRamp.

Or, you can generate an authentication token for an existing user by editing the technician details using API key details > Generate.

Generate Authentication Key