SupportCenter Plus

    ServiceDesk Plus Cloud Integration

    ManageEngine SupportCenter Plus integrates with ManageEngine ServiceDesk Plus Cloud, an ITIL-ready help desk software. This integration allows Support Reps to automatically log trouble tickets from SupportCenter Plus.

     

    Follow the steps given below to configure the ServiceDesk Plus Cloud integration. 

    Step 1: Copy configuration files

    • Copy the 'sdpodimpl.jar' file from "[SCP_Home]/actionplugins/sdpod/lib" directory to "[SCP_Home]/server/default/lib" directory.
    • Copy the SDPOD.xml present in the "[SCP_Home]/actionplugins/sdpod/conf" directory to "[SCP_Home]/server/default/conf" directory.

      

    Step 2: Creating a new action menu

    • Go to Admin -> Menu Invocation (under Helpdesk Settings)
    • Menu Name -> Should be same as menu name configured in SDPOD.xml (<menu name="SDPODIntegration">)
    • Display Text -> Name it as per your choice, Ex. "Raise SDP Cloud Request"
    • Select type as "Execute Class" and provider Executor class as "com.scp.sdpod.SDPOnDemandActionImplementation" and save.

    Now you will find a new menu under action as shown,

     

     

    NOTE: The original implementation class file (SDPOnDemandActionImplementation.java) is available under the [SCP_Home]\actionplugins\sdp\src\com\scp\sdpod directory. You can modify the file as per your requirement, compile it using JDK 1.7 and update the sdpodimpl.jar file (update the jar file in [SCP_Home]\server\default\lib directory). Finally, restart the server.

     

    Step 3: Configuring SDPOD.xml file

    • Open the SDPOD.xml file copied under "[SCP_Home]/server/default/conf" directory

    • Specify the URL, request parameter values and authentication details of the ServiceDesk Plus Cloud instance on which you would like to create the ticket under the <request> tag.

      • <url>https://[SDPOD_server].sdpondemand.manageengine.com/api/v3/requests/</url>

    Example, <url>https://scp-tech.sdpondemand.manageengine.com/api/v3/requests/</url>

      • Using authToken<auth_token>[SDPOD_authtoken]</auth_token>

    Example, <auth_token>409e5455***************c4eb2eeb</auth_token>

     

    Using oAuthToken mention the below entries if you do not have an authtoken.

    • <refresh_token>[SDPOD_refreshtoken]</refresh_token>

    • Example, <refresh_token>1000.81a912f**************fe54fa.94dfb**********78e3b960d71f44c05</refresh_token>

    • <client_id>[SDPOD_clientid]</client_id>

    • Example, <client_id>1000.KA4B***********RHYQNY</client_id>

    • <client_secret>[SDPOD_clientsecret]</client_secret>

    • Example, <client_secret>15e8b5425*************64bd71cd6</client_secret>

     

    Configuring <param> tags

    • Map the SupportCenter Plus fields with ServiceDesk Plus Cloud fields. The ServiceDesk Plus Cloud field should be mentioned as <name></name> parameter. The SupportCenter Plus field should be mentioned as <value></value> parameter prefixed with $ symbol.

      Example,

    •  <param>

    <name>subject</name>    #SDP Cloud field

    <value>$subject</value>   #SCP field

    </param>

     

    •  <param>

    <name>requester</name>

    <value>supportcenter@abc.com</value>

    </param>

     

    Parameter details  

    Param name (SDPCloud)

    Value (SCP)

    Notes

    requester

    Dynamic variable : $contact

    Staitc Variable :

    Either name or email of one user

    If a name is used, then 'add requester' role is needed in ServiceDesk Plus Cloud for the user whose auth_token is used

    subject

    $subject

     

    description

    $description

     

    priority

    $priority

    Notes:

    1. Both the SupportCenter Plus and ServiceDesk Plus Cloud must have same value for these fields.

    2. These fields must be made visible in the request template for the requester.

    category

    $category

    subcategory

    $subcategory

    item

    $item

    mode

    $mode

    level

    $level

    status

    $status

    udf_long1

    $requestID

    Note: Error will be thrown if the additional fields are not present in the request template.

    This will store the SupportCenter Plus request ID in ServiceDesk Plus Cloud additional field udf_long1

    udf_char2

    http://[scp_URL]/WorkOrder.do?woMode=viewWO&amp;woID=$requestID

    This will store the SupportCenter Plus request link in ServiceDesk Plus Cloud additional field udf_char2

     

    • Configuring custom message tags, these will be shown according to the success or failure of the menu action.
    • <success>Ticket is created in ServiceDesk Plus Cloud with Id: $display_id</success>
    • <failure>Failed to Integrate to ServiceDesk Plus Cloud</failure>
    • Handling a response from ServiceDesk Plus Cloud with response tag, returns the response in JSON format. Response tag contains param and notes tags.

      • Configuring <param> tag

        • SupportCenter Plus fields mentioned in this tag in the response section will be updated with a value from the ServiceDesk Plus Cloud response fields

        • Example,  

          • <param>

    <name>SDPOD_ID</name>  #SCP Field

    <value>$display_id</value>  #SDP OnDemand field

    </param>

          • <param>

    <name>status</name>

    <value>$status</value>

    </param>

    Note: SDPOD_ID is the additional field in SupportCenter Plus which will store the ServiceDesk Plus Cloud request ID on successful creation of the request in the ServiceDesk Plus Cloud. Similarly, other SupportCenter Plus fields can also be updated from ServiceDesk Plus Cloud.


      • Configuring <notes> tag

        • On successful creation of request, below notes will be added to the SupportCenter Plus request if it is configured.

        • Example,

    <notes>

    <note>Ticket is created in ServiceDesk Plus Cloud with Id: $display_id</note>

    </notes>

     

    Updating SupportCenter Plus ticket from ServiceDesk Plus Cloud

    • Manually updating individual tickets

    • Automatically updating all the tickets through custom schedules.

     

    Manual update

    • Create a new action menu with menu name as UpdateSDPODTicket and executor class as com.scp.sdpod.SDPOnDemandActionImplementation

    • Configure the SDPOD.xml file with URL, tokens and custom messages for the menu UpdateSDPODTicket.

    • Updating the SupportCenter Plus ticket need not require param fields in request tag. The param fields mentioned inside response tag will be updated in the SupportCenter Plus request with the fetched Cloud field values.

      "status", "group", "category", "sub category", "item", "priority", "level", "item" and "additional fields" are the supported fields while updating the request.

    • Invoke the menu action from the request page to update the SupportCenter Plus request with ServiceDesk Plus Cloud request.

     

    Automated update through custom schedules

    • Request updates can be automated through custom schedules. To configure a schedule, go to Admin -> Integration & Add-ons -> Custom Schedules 

      • Click New Schedule

      • Provide Schedule name (Custom)

      • Select Executor type as "Class" and provide com.scp.sdpod.SDPOnDemandUpdateSchedule class

      • Configure schedule frequency

    1. Configure a custom view to update only the necessary requests.

      • Click on Add Custom View to add a new view

      • Provide view name lets say (Update) and specify the below criteria.

     

    Column Condition Value
    Request Status is not "Closed", "Resolved"

    SDPOD_ID

    (Additional field created to store OnDemand request ID)

    greater than 0


    This will update only requests which were not closed or resolved and having a valid Cloud request ID

    • Configure the SDPOD.xml file
    • Menu name used "UpdateSDPODTicket". Under this menu provide URL and token details.
    • Provide the custom view name created above in the xml following authentication details as,      
      <view_name>Update</view_name><bu_name>[SCP_BU]</bu_name>
    • Configure fields to be updated in the response param tags

    • All the requests matching the criteria will be updated by the configured schedule.

    Note: Requests cannot be "Closed" through this system update, but resolved.

     

     

    Authorization

    There are two authorization methods to create a ServiceDesk Plus Cloud request.

    • Authtoken  
    • Oauthtoken

     

    Creating authtoken

     

    Creating Oauthtoken

    To generate a client_id and client_secret.

    • Click on Add Client ID to create a new Client ID and Client Secret. 
    • Provide the Client Name, Client Domain and Authorized redirect URLs and type as WEB based. (The redirect URL is the callback entry point of the app and is different from the entry point of the app.)
    • You will get OAuth details with the Client ID and Client Secret shared between Zoho and the application.

      

    Getting authorization

    Here, we will invoke the authorization URL https://accounts.zoho.com/oauth/v2/auth with the following parameters as a query string.

    Format, 

    https://accounts.zoho.com/oauth/v2/auth?scope={scope}&client_id={client_id}&response_type=code&access_type=offline&redirect_uri={redirect_uri}  


    Parameter Type Description
    *client_id Unique Identifier The ID that was assigned to your app when you registered it.
    *response_type string "code" as value
    *redirect_uri URI Configured as in step 1
    *access_type string "offline" (this will give the application an access_token as well as a refresh_token)
    *scope string

    Specifies the scope allowed for your app. Has to be separated by commas. Ex,

    SDPOnDemand.requests.CREATE,SDPOnDemand.requests.READ

    This allows the token to only create and read requests.


    • In the browser, invoke the above formed Authorization URL. Now the user is shown a 'User consent page'. If the user clicks Accept, Zoho redirects the user back to your site with an 'Authorization code' found as the parameter in the address link. Copy this code to be used in the next step.

     

    Generating refresh_token

    • Once the authorization code is obtained from the above step, you could use that to generate access_token (expires in an hour) and refresh_token (used to generate access_token once it is expired)

    • Format,

     https://accounts.zoho.com/oauth/v2/token?code={code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={redirect_uri}&grant_type=authorization_code

     

    Parameter Type Description
    *client_id Unique Identifier Obtained in Step 1
    *client_secret string Obtained in Step 1
    *code string Authorization code obtained in Step 2
    *redirect_uri URI Configured as in step 1
    *grant_type string authorization_code" as value


    To invoke the above URL, use postman or other tools to send a post request.

    Example

    POST oauth/v2/token
    HOST:: https://accounts.zoho.com
     
     

    Query string

    https://accounts.zoho.com/oauth/v2/token
    ?code=1000.****************************f160
    &grant_type=authorization_code
    &client_id=1000.R2Z0W*********************Q5EN
    &client_secret=39c**********************************921b
    &redirect_uri=redirect_uri 

    • Once the URL is sent with authorization code, you will receive the response with access_token and refresh_token.

    Provide client_id, client_secret and refresh_token in the SDPOD.xml. Thus integration between SupportCenter Plus and ServiceDesk Plus Cloud can be done.

     
      
     

    Copyright © 2017, ZOHO Corp. All Rights Reserved.