> ## Documentation Index
> Fetch the complete documentation index at: https://kb.mspprocess.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuring the MSP Process -> ServiceNow Integration

> IntroductionServiceNow is a very popular ITSM platform in both the Enterprise IT space and in the "very large" end of the MSP market. MSP Process has a full…

### Introduction

ServiceNow is a very popular ITSM platform in both the Enterprise IT space and in the "very large" end of the MSP market. MSP Process has a full integration module for ServiceNow Incidents that includes our End-user Verification, Secure Data Sharing, SMS Messaging WhatsApp Messaging and Tech Verification features. All of those capabilities are embedded right within the ServiceNow UI, making it easy to quickly access the functionality you need without having to open a separate UI.

This KB article will walk you through how to set everything up, in both MSP Process and ServiceNow. There are separate instructions for setting things up in the "Classic" Incident view and the "Service Operations Workspace" view; feel free to pick whichever path makes the most sense for you.

### Creating the PSA Integration in MSP Process

1. Login to MSP Process ([https://app.mspprocess.com](https://app.mspprocess.com)) as an Admin-level user

2. Navigate to the **Settings -> Integrations -> PSA Integrations** page

3. Click the *Add new PSA* button

4. ![](https://mintcdn.com/triggr/2kaOQdWPjLF3xX8p/images/msp-process-kb/28a433f4c1ef.webp?fit=max\&auto=format\&n=2kaOQdWPjLF3xX8p\&q=85\&s=52c70d7aca52acb601ca334bc90d84f4)

5. Click the *ServiceNow* button

6. ![](https://mintcdn.com/triggr/2kaOQdWPjLF3xX8p/images/msp-process-kb/0592a7003b35.webp?fit=max\&auto=format\&n=2kaOQdWPjLF3xX8p\&q=85\&s=ce4babc43272f9fdcf03e15607a29670)

7. Enter the URL to your ServiceNow instance, and enter your ServiceNow username and password

8. ![](https://mintcdn.com/triggr/o9r5jEtjdR2oUtiW/images/msp-process-kb/e6c9c05d5c60.webp?fit=max\&auto=format\&n=o9r5jEtjdR2oUtiW\&q=85\&s=3209697512fb7ee8f63bbaec946dfc29)

9. Click **Submit** to save the integaration

### Creating Ticket Properties

1. Once the ServiceNow integration has been saved, you'll be prompted to create a *Ticket Properties* bundle - these are the settings MSP Process will use when creating an Incident in ServiceNow. There are two use cases where MSP Process will create Incidents in ServiceNow:

2. When an end-user sends an SMS message to your "SMS to Ticket" phone number

3. When AI VoiceAssist takes a call from an end-user

4. For this KB article, let's create some AI VoiceAssist ticket properties:

5. ![](https://mintcdn.com/triggr/o9r5jEtjdR2oUtiW/images/msp-process-kb/ccf8e4cd15aa.webp?fit=max\&auto=format\&n=o9r5jEtjdR2oUtiW\&q=85\&s=75a1051c3ea5a87dcc92523e68b8e21c)

6. Once you've filled everything in, click the **Submit** button

### Obtaining the URL of your ServiceNow Integration in MSP Process

Now that you've saved your ServiceNow PSA integration, you'll need to grab a URL before you go into ServiceNow to integrate our Pod into your Incident layout.

1. Click on your *ServiceNow* integration

2. ![](https://mintcdn.com/triggr/2kaOQdWPjLF3xX8p/images/msp-process-kb/396628f04bb8.webp?fit=max\&auto=format\&n=2kaOQdWPjLF3xX8p\&q=85\&s=b72080e36d24bf5cf82a1c29c0b50d09)

3. In your web browser, look at the URL of the page - for example, *[https://app.mspprocess.com/#/integrations/1085](https://app.mspprocess.com/#/integrations/1085) -* grab the number at the end of that URL (i.e. 1085) *-* you'll need it in the next set of steps that we perform, in ServiceNow

### Embedding the MSP Process Pod in the "Classic" Incidents Layout

1. Login to your ServiceNow instance

2. Navigate to the **System UI -> Formatters** page

3. ![](https://mintcdn.com/triggr/o9r5jEtjdR2oUtiW/images/msp-process-kb/d5a332525ea5.webp?fit=max\&auto=format\&n=o9r5jEtjdR2oUtiW\&q=85\&s=1811ac5811be69f7ec263a0d7d02854d)

4. Click the **New** button to create a new UI Formatter

5. ![](https://mintcdn.com/triggr/-njaXAnAb5AWpJCy/images/msp-process-kb/50117a25701c.webp?fit=max\&auto=format\&n=-njaXAnAb5AWpJCy\&q=85\&s=e7ba98d109fa252ccd903ab2559b4a7f)

6. Fill in the fields as shown below:

7. **Name:** MSP Process Pod

8. **Table:** Incident

9. **Seismic Component:** iFrame

10. **Application:** Global

11. **Active:** Yes

12. **Type:** Formatter

13. ![](https://mintcdn.com/triggr/dXDzJtUmPBaHtkPV/images/msp-process-kb/eaade7f47f5a.webp?fit=max\&auto=format\&n=dXDzJtUmPBaHtkPV\&q=85\&s=f225904bd6979fdb3162b4f6f1ce17f2)

14. Navigate to **UI Macros** page

15. Create a new macro, and paste in the following code - just make sure, on line 32, to replace the "925" number with the number from your ServiceNow integration:

```
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="true" xmlns:j="jelly:core" xmlns:g="glide">
<iframe id="mycrm_pod_frame"
            	src="https://pod.mspprocess.com"
                width="100%" 
                height="600" 
                frameborder="2" 
                style="border: 1px solid #ccc;">
        </iframe>

	<script>
    (function() {
       var sysId = '';

// Try g_form first (available on standard form views)
if (typeof g_form !== 'undefined') {
    sysId = g_form.getUniqueValue();
}

// Fallback: extract sys_id from the URL
if (!sysId) {
    var match = window.location.href.match(/sys_id=([a-f0-9]{32})/i);
    if (match) {
        sysId = match[1];
    }
}

// Fallback: try the Jelly server-side value as a last resort
if (!sysId) {
    sysId = '${sys_id}';
}
        var frame = document.getElementById('mycrm_pod_frame');
        frame.src = 'https://pod.mspprocess.com/pod/servicenow/925?ticketId=' + sysId;
    })();
</script>
</j:jelly>
```

1. Go back to the **System -> UI Formatter** page, edit the UI Formatter you created earlier, and insert the name of the UI macro (with “.xml” extension) and click **Update**

2. ![](https://mintcdn.com/triggr/o9r5jEtjdR2oUtiW/images/msp-process-kb/d0feca7c6e1f.webp?fit=max\&auto=format\&n=o9r5jEtjdR2oUtiW\&q=85\&s=7688453e437e343a7ff0c44e1066470d)

3. Navigate to **Service Desk - Incidents**

4. ![](https://mintcdn.com/triggr/o9r5jEtjdR2oUtiW/images/msp-process-kb/d62abd7237c5.webp?fit=max\&auto=format\&n=o9r5jEtjdR2oUtiW\&q=85\&s=a1efb0ce882b17819c627de33278c9fd)

5. Open an existing Incident

6. At the top of the Incident, in the gray panel, right-click and choose to open the Form Builder (**Configure -> Form Builder**)

7. ![](https://mintcdn.com/triggr/2kaOQdWPjLF3xX8p/images/msp-process-kb/0d161c9f6b94.webp?fit=max\&auto=format\&n=2kaOQdWPjLF3xX8p\&q=85\&s=8428b285e75868ce461b4b665df4151e)

8. Add a new section to place the MSP Process pod where you want:

9. ![](https://mintcdn.com/triggr/-njaXAnAb5AWpJCy/images/msp-process-kb/6b1341d7a8d2.webp?fit=max\&auto=format\&n=-njaXAnAb5AWpJCy\&q=85\&s=ead8456836c9159285dffe446d8f9b81)

10. Click “**+**” icon inside of the Section and switch to the Formatters list:

11. ![](https://mintcdn.com/triggr/qgn0c5cLkGKqcauq/images/msp-process-kb/89a6f486d961.webp?fit=max\&auto=format\&n=qgn0c5cLkGKqcauq\&q=85\&s=88b346b9fe5b8473bd9cd9dc66835879)

12. Click on the *MSP Process Pod* Formatter, and then click the **Save** button for the Form:

13. ![](https://mintcdn.com/triggr/-njaXAnAb5AWpJCy/images/msp-process-kb/64cfd8d48774.webp?fit=max\&auto=format\&n=-njaXAnAb5AWpJCy\&q=85\&s=e52fb054410be73a07d44f42136a2991)

That's all there is to it! The MSP Process pod will now be embedded in your ServiceNow Incident

![](https://mintcdn.com/triggr/-njaXAnAb5AWpJCy/images/msp-process-kb/67a4175adb5e.webp?fit=max\&auto=format\&n=-njaXAnAb5AWpJCy\&q=85\&s=20d9b524301fcdda4071bf4f308b891f)

### Embedding the MSP Process Pod in the "Service Operations Workspace" Incidents Layout

1. In ServiceNow, navigate to the **Now Experience Framework -> UI Builder** page

2. ![](https://mintcdn.com/triggr/dXDzJtUmPBaHtkPV/images/msp-process-kb/f0f944846d6c.webp?fit=max\&auto=format\&n=dXDzJtUmPBaHtkPV\&q=85\&s=ee0f8d1551e0def657d9f1c89e6e49a7)

3. From the top menu click on the “Page Collections” menu item

4. ![](https://mintcdn.com/triggr/qgn0c5cLkGKqcauq/images/msp-process-kb/a958d50ba478.webp?fit=max\&auto=format\&n=qgn0c5cLkGKqcauq\&q=85\&s=4e5012f7d14568dfe205df1a3d523477)

5. Search for the page collection you want to edit. Your page collection names might be different, but a good starting point would be to search for *SOW - Records tab left*:

6. ![](https://mintcdn.com/triggr/2kaOQdWPjLF3xX8p/images/msp-process-kb/34c5ff514d2e.webp?fit=max\&auto=format\&n=2kaOQdWPjLF3xX8p\&q=85\&s=ad2f15bde9b01201ed7d6402dd9dd4e6)

7. Select the *incident-overview* page (your page name may be slightly different):

8. ![](https://mintcdn.com/triggr/qgn0c5cLkGKqcauq/images/msp-process-kb/938eade44c95.webp?fit=max\&auto=format\&n=qgn0c5cLkGKqcauq\&q=85\&s=1ea9eb58b94d54bf5a1d1350f3b2b0a1)

9. Click the "**+**" button, and add a new column where you want to insert the MSP Process pod

10. ![](https://mintcdn.com/triggr/2kaOQdWPjLF3xX8p/images/msp-process-kb/0a452742e901.webp?fit=max\&auto=format\&n=2kaOQdWPjLF3xX8p\&q=85\&s=a0dfc7f9a6ec4164aea33ad402c4b256)

11. Click the "**+**" button inside the column you just added, and add an iFrame:

12. ![](https://mintcdn.com/triggr/qgn0c5cLkGKqcauq/images/msp-process-kb/9557e0e2ca86.webp?fit=max\&auto=format\&n=qgn0c5cLkGKqcauq\&q=85\&s=fee7456b7b804e05b7aebf2259656ae8)

13. Specify the Height (650 pixels) and Width (600 pixels) for this iFrame, and - in the **Source** field - click the *bind data or use scripts* button:

14. ![](https://mintcdn.com/triggr/-njaXAnAb5AWpJCy/images/msp-process-kb/45652d704923.webp?fit=max\&auto=format\&n=-njaXAnAb5AWpJCy\&q=85\&s=b09f65fd88bb87cbd82793942d1dd631)

15. In the top right-hand corner of the pop-up window that appears, click the *Use script* button:

16. ![](https://mintcdn.com/triggr/-njaXAnAb5AWpJCy/images/msp-process-kb/5ef7db066827.webp?fit=max\&auto=format\&n=-njaXAnAb5AWpJCy\&q=85\&s=b732329b199e077bb24d7d9bb5fbd703)

17. Paste the code below, replace "925" with the number from your ServiceNow integration in MSP Process, and click **Apply** to save your changes:

```
/**
 * @param {params} params
 * @param {api} params.api
 * @param {TransformApiHelpers} params.helpers
 */
function evaluateProperty({
    api,
    helpers
}) {
    return 'https://pod.mspprocess.com/pod/serviceNow/925?ticketId='+ api.context.props.sysId;
}
```

1. Save the page
2. Open an Incident in the Service Operations Workspace, and you'll see the MSP Process pod:

![](https://mintcdn.com/triggr/qgn0c5cLkGKqcauq/images/msp-process-kb/8b37c5ec8cf9.webp?fit=max\&auto=format\&n=qgn0c5cLkGKqcauq\&q=85\&s=01fc645d5555caf8f63d371bf9fd7dad)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.