You will need to create Integrations for each Ivanti Service Manager table whose data you want to sync with other applications. Integrations can be created by accessing the Settings panel and navigating to Integration ToolsWeb Service ConnectionsNew Integration. Each integration you set up will need to contain an integration script that specifies an HTTP POST request with the Perspectium Integration Mesh.


Prerequisites


(warning) Before you start, you will need the instance name for the app you will bond with Ivanti as well as your Perspectium Integration Mesh URL, username, and password on hand. If you don't know your Integration Mesh URL, username, and password, contact Perspectium Support.

Procedure

To create integrations to share data out of Ivanti, follow these steps:


Navigate to integrations

Log into Ivanti Service Manager and click the in the upper right-hand corner of the screen to access your settings. Then, on the left-hand side Settings panel, navigate to Integration Tools (under Extend) > Web Service Connections and click to create a new integration.

Add an integration script

Type Perspectium Create Incident for your Integration Name. In the bottom right-hand corner of the resulting screen, enter the script shown below in the Script window, filling in the INSTANCE_NAME value with the instance name for the app that you will bond with Ivanti (e.g., dev12345 for ServiceNow) and the PERSPECTIUM_MESH_URL, PERSPECTIUM_MESH_USERNAME, and PERSPECTIUM_MESH_PASSWORD values with the URL, username, and password for the Perspectium Integration Mesh that you connect to, provided by Perspectium Support. Then, click Next.

(info) NOTE: This setup assumes you will sync data from your Ivanti incident table. To sync other data from Ivanti, contact Perspectium Support for a guided setup.

var request = '{"topic": "siam", "type": "ivanti_incident", "key": "INSTANCE_NAME", "name": "ivanti.insert", "value": "' + '$(RecId)' + '"}';
var getJsonRequestSettings = function ()
{ 
 return {
  Headers: { 
   'Content-Type': 'application/json', 
   'psp_quser': 'PERSPECTIUM_MESH_USERNAME',
   'psp_qpassword': 'PERSPECTIUM_MESH_PASSWORD',
   'psp_input_queue': 'psp.in.meshlet.ivanti',
   'psp_instance': 'INSTANCE_HERE'
  },
  Cookies: null,
  SkipServerCertificateValidation: false,
  UserName: "null",
  Password: "null",
  AllowAutoRedirect: false
 };
};
ExecuteWebRequest("POST", "PERSPECTIUM_MESH_URL/multiinput", request, getJsonRequestSettings());

Save your integration

On the Schedule Manager page, click Next. Then, when a popup appears asking if you want to proceed without scheduling, click Yes. Finally, on the Review and Publish page, click to save your integration.

Create additional integrations

To sync your Ivanti data when updates are made and comments/attachments are added to your incident table, use Steps #1-3 as a guide to create integrations with the scripts shown below.


Perspectium Update Incident script:

var request = '{"topic": "siam", "type": "ivanti_incident", "key": "INSTANCE_NAME", "name": "ivanti.update", "value": "' + '$(RecId)' + '"}';
var getJsonRequestSettings = function ()
{ 
 return {
  Headers: { 
   'Content-Type': 'application/json', 
   'psp_quser': 'PERSPECTIUM_MESH_USERNAME',
   'psp_qpassword': 'PERSPECTIUM_MESH_PASSWORD',
   'psp_input_queue': 'psp.in.meshlet.ivanti',
   'psp_instance': 'INSTANCE_NAME'
  },
  Cookies: null,
  SkipServerCertificateValidation: false,
  UserName: "null",
  Password: "null",
  AllowAutoRedirect: false
 };
};
ExecuteWebRequest("POST", "PERSPECTIUM_MESH_URL/multiinput", request, getJsonRequestSettings());


Perspectium Create Attachment script:

var request = '{"topic": "siam", "type": "ivanti_incident", "key": "INSTANCE_NAME", "name": "ivanti.attach", "value": "' + '$(RecId)' + '"}';
var getJsonRequestSettings = function ()
{ 
 return {
  Headers: { 
   'Content-Type': 'application/json', 
   'psp_quser': 'PERSPECTIUM_MESH_USERNAME',
   'psp_qpassword': 'PERSPECTIUM_MESH_PASSWORD',
   'psp_input_queue': 'psp.in.meshlet.ivanti',
   'psp_instance': 'INSTANCE_NAME'
  },
  Cookies: null,
  SkipServerCertificateValidation: false,
  UserName: "null",
  Password: "null",
  AllowAutoRedirect: false
 };
};
ExecuteWebRequest("POST", "PERSPECTIUM_MESH_URL/multiinput", request, getJsonRequestSettings());


Perspectium Create Comment script:

var request = '{"topic": "siam", "type": "ivanti_incident", "key": "INSTANCE_NAME", "name": "ivanti.comment", "value": "' + '$(RecId)' + '"}';
var getJsonRequestSettings = function ()
{ 
 return {
  Headers: { 
   'Content-Type': 'application/json', 
   'psp_quser': 'PERSPECTIUM_MESH_USERNAME',
   'psp_qpassword': 'PERSPECTIUM_MESH_PASSWORD',
   'psp_input_queue': 'psp.in.meshlet.ivanti',
   'psp_instance': 'INSTANCE_NAME'
  },
  Cookies: null,
  SkipServerCertificateValidation: false,
  UserName: "null",
  Password: "null",
  AllowAutoRedirect: false
 };
};
ExecuteWebRequest("POST", "PERSPECTIUM_MESH_URL/multiinput", request, getJsonRequestSettings());


Next steps


Create Ivanti web service script actions