The information in this article is the intellectual property of xMatters and is intended only for use with xMatters products by xMatters customers and their employees. Further, this intellectual property is proprietary and must not be reused or resold.
xMatters for ServiceNow is a direct, cloud-to-cloud integration, leveraging an xMatters workflow to become the voice and interface of an automation engine. When ServiceNow detects something that requires attention, xMatters places phone calls, send emails or notifies your mobile app.
Flow Designer - our drag-and-drop, visual workflow builder - includes steps to easily add ServiceNow to your incident management workflow. You don't need to do any of the setup below if you simply want to use these in your flows; all you need to get started is an endpoint that targets your ServiceNow instance.
The integration consists of a pre-configured workflow and the xMatters application within ServiceNow, which includes the following components:
- Incident notification: Handles automatic notification about incidents and the sharing of incident information between ServiceNow to xMatters.
- Engage with xMatters: enables ad hoc communications, including conference bridges, using xMatters.
- Synchronization: synchronizes ServiceNow users, groups, and group members to xMatters.
Each component use different sets of business rules, script includes, and web services to accomplish their tasks. If you want a behind-the-scenes look at how the integration works and how the pieces fit together, see our detailed how it works section.
See The Resolve response and the "Incident Management Best Practice" plug-in for important information on using the Resolve response with new data policies in the plug-in.
Our integration boffins have been hard at work experimenting with ways to extend the functionality and features offered in this integration. For more information, see the Extended functionality section.
When an incident occurs in ServiceNow that matches the criteria you define when you configure the integration, it sends a request to xMatters with information on the incident. If the incident is assigned to a user or group that exists in xMatters, xMatters notifies the user or on-call members of the group on their preferred devices. The recipient can take ownership of the incident, resolve it, or immediately escalate it to the next on-call member in a group (if assigned to a group).
In turn, xMatters updates the incident record in ServiceNow with information about the event status, who responded and how, and any comments that were added.
This integration includes the Engage with xMatters feature, which allows users with a particular role to leverage xMatters to call in additional members from other teams to assist with an existing incident.
ServiceNow users can also use the Engage with xMatters feature to get help from or notify users of xMatters that don't exist in ServiceNow. If the group or person you're looking for doesn't exist in ServiceNow, you can still find them using the Engage with xMatters feature so you can get them up to speed directly.
For example, imagine a support team member takes ownership of a ticket, but needs help from the database team to resolve part of the problem. Instead of assigning the ticket to someone else and losing the benefits of incident ownership, the support team member can use the Engage with xMatters feature to contact the on-call person in the database group. When the on-call person in the database group gets the alert from xMatters, they can see who sent them the request. In the meantime, xMatters continues to update the work notes of the ServiceNow incident so the support team member still receives real-time updates on whether someone else has started work on the incident and who that person is.
Alternately, the support team member could use the Engage with xMatters conference bridges to bring multiple groups together to work on a solution. You can even add people to an on-going conference bridge for a ServiceNow incident.
User and group data load
The Batch Load features let you seed xMatters with your ServiceNow users, groups, and configuration items.
Once you've seeded xMatters with your users and groups, you can use dynamic data sync to keep xMatters in tune with ServiceNow. See Sync users, groups and incident properties for more information on the data sync component.
Along with all of the fixes and updates from previous versions, this release (5.4) includes the following enhancements:
- Version 5.4.1 certified for the New York release of ServiceNow.
- Data sync now properly removes synced groups from xMatters when the group is removed in ServiceNow.
- Updated the Engage with xMatters behavior to make sure corresponding events in xMatters are terminated when closing an Engage with xMatters record, and to address an issue that was causing some requests involving Mid-Server to run for a long time.
To upgrade from a previous version of the integration, use our instructions to guide you through the process.
For a list of previous updates, see what we added in previous versions.
The Kingston release of ServiceNow introduced a new data policy, installed with the "Incident Management Best Practice" plug-in, that requires both the Resolution code and Resolution notes fields to be completed before the incident can be resolved or closed.
Currently, xMatters does not support completing both these fields when you select the Resolve response option. We're working on addressing this issue, but in the meantime, you can use one of the following workarounds:
- Remove the "Resolve" response from the Incident Notifications tab in the xMatters Configuration screen in Service Now,
- Deactivate the "Make close info mandatory when resolved or closed" data policy installed with the plug-in in ServiceNow (see the ServiceNow documentation for instructions).
To begin, you need to install the free xMatters app in ServiceNow (if you're upgrading, check out our instructions). The application includes all of the batch loading utilities, configuration pages, business rules, scripts, web services, and other components required for ServiceNow to communicate with xMatters.
To install the xMatters application:
- Go to the ServiceNow store at store.servicenow.com, and search for "xMatters".
- When you find the app, click Get. You'll be prompted to enter your system credentials to add the app to ServiceNow.
- Log into ServiceNow as a system administrator, and navigate to System Applications > Applications.
- Click Downloads.
- Search for "xMatters", and then click Install.
This integration installs roles into ServiceNow to control interactions between users and integration components.
- x_xma_xmatters.xmatters_admin: Only users with this role can modify xMatters components within the ServiceNow interface.
- x_xma_xmatters.xmatters_rest: This role must be assigned to a ServiceNow API user to successfully access the REST endpoint and execute the required integration requests. See ServiceNow API User.
- x_xma_xmatters.xmatters_engage: Users with this role can use the Engage with xMatters feature. (You should also assign this role to the ServiceNow API user so they can update the Engage with xMatters records.)
- x_xma_xmatters.xmatters: Assign this role to any users or groups you want synchronized into xMatters.
Assigning a role to a group automatically assigns it to all users within a group, or you can add the role to an existing role to automatically assign it to any users with that role.
To configure the ServiceNow endpoint in xMatters, you need the username and password for a ServiceNow API user to handle REST requests from xMatters to ServiceNow. To successfully access the REST endpoint and execute the required integration requests, this user must have the x_xma_xmatters.xmatters_rest role (added with the xMatters application). For additional security, select the Web service access only check box on the user's details page.
You should also assign the x_xma_xmatters.xmatters_engage role to this user so they can update the Engage with xMatters records.
For information about adding users and assigning roles in ServiceNow, refer to the ServiceNow documentation.
Now that you've completed the first part of the configuration in ServiceNow, you can configure xMatters. After you import the workflow into xMatters and copy some specific IDs and URLs, you'll return to ServiceNow to finish the setup.
The workflow (.zip file) attached to this article contains pre-configured integrations, forms, properties, and messages specifically designed for ServiceNow. Download the attached .zip file to a location on your local machine, but don't unzip it.
This integration requires a user who can authenticate REST requests from ServiceNow when working with events – these permissions are provided by the "REST Web Service User" role in xMatters. See Create an integration user for more information on creating an integration user.
Note: Keep the user ID and password of this user handy. You'll need them when configuring other parts of this integration.
Next, import the ServiceNow workflow you downloaded into xMatters.
- In xMatters, click the Workflows tab, and then click Import.
- Browse to the .zip file or drag it onto the Import Workflow dialog, and then click Import Workflow.
- Once the import finishes, the workflow should be automatically enabled. If it isn't, click the Disabled toggle to enable it.
- Click the workflow name to open the Forms tab.
- Make sure the dropdown beside the form says Web Service as one of the options. If not, click it and select Enable for Web Service.
- For the Incident Alerts form, click the dropdown and select Sender Permissions.
- Add the integration user, and then click Save Changes.
- Repeat steps 6-7 for the Engage with xMatters and Conference Bridge forms.
The workflow uses an endpoint with the ServiceNow authentication type. After you import the workflow, you need to set the endpoint's URL and authentication credentials (the username and password for your ServiceNow API user).
To configure the endpoint:
- In the Integration Builder, click Edit Endpoints.
- Click the ServiceNow endpoint to open its details.
- Update the Base URL to that of your ServiceNow system.
- Enter the credentials for the ServiceNow API user.
- Click Test Authentication to send a request using the username and password to the ServiceNow instance you entered in the Base URL field.
- If the page displays a message that the authentication failed, check the credentials and permissions of the ServiceNow API user in ServiceNow and the Base URL you entered.
- Click Save Changes, and then close the Endpoints dialog box.
Changing the authentication type
ServiceNow steps in Flow Designer require the ServiceNow authentication type so we recommend leaving the authentication type as is if you want to use ServiceNow steps in your flows. If you want to change the authentication type, you need to create a new endpoint to replace the existing one. The easiest way to do this is to delete the existing endpoint and create a new endpoint using the same name before any steps in Flow Designer are configured to use the endpoint.
The next step is to update each of the inbound integrations to use basic authentication, and retrieve the URLs, which you can then copy and paste into the appropriate location in ServiceNow.
To configure an inbound integration and retrieve its URL:
- Navigate to the Integration Builder tab and expand the list of inbound integrations.
- Click the name of an integration to view its details.
- In the Select authentication method step, select Basic from the list and click Save.
- Scroll down to the bottom of the page, and click Copy beside the field:
Some configuration fields in ServiceNow require a UUID (Universal Unique Identifier) for a specific component or property in the workflow. To retrieve the identifier for an element, look for the API icon in the xMatters user interface:
Clicking this button displays the identifier for the component in a dialog box. You can then copy and paste the string to the appropriate location in ServiceNow (you can see which fields need UUIDs in Complete the xMatters Configuration pages.
As an example, the following instructions describe how to retrieve the UUID for a specific response choice; the process is similar for any identifier you want to determine.
To retrieve the identifier for a response choice:
- In xMatters, open the ServiceNow workflow.
- On the Incident Alerts form, click Edit > Responses.
- Beside the Accept response, click the API icon:
To configure ServiceNow to integrate with xMatters, you need to specify the assignment, synchronization, web services, and other settings on the configuration forms that are installed with the xMatters application. You can also seed your users and groups into xMatters using the data sync feature.
The xMatters application installs four configuration pages into ServiceNow:
- Common Configuration: Configures the connection, credentials, and logging level for the communication between xMatters and ServiceNow.
- Incident Notifications: Enables or disables the incident notification features, and configures when and how ServiceNow sends an incident to xMatters for notification.
- Engage with xMatters: Enables or disables the Engage with xMatters action in the ServiceNow user interface, sets the connection parameters for the feature, and sets the maximum number of results to return when searching for people or groups to target.
- Data Sync: Configures the user and group seeding, and the data synchronization between xMatters and ServiceNow.
You need to update most of the settings on these pages with information specific to your xMatters deployment. See the following sections for more information on the settings.
To access the configuration pages in ServiceNow:
- Log into ServiceNow as a user with the "admin" role, and open the Navigator.
- Only users with the ServiceNow x_xma_xmatters.xmatters_admin role (added by the xMatters application) can modify xMatters components within the ServiceNow interface.
- Locate and expand the Integration – xMatters entry in the All Applications list, and then click xMatters Configuration.
- Click the tabs at the top of the window to switch between pages.
Each setting on the pages includes a description of the required content for that setting; move your mouse pointer over the blue help icon beside a field to see more information.
- Hostname: The hostname of your xMatters deployment (for example, https://your-company.na1.xmatters.com) without any trailing '/'.
- xMatters REST API User: The username of the integration user, used to authenticate requests to xMatters.
- xMatters REST API Password: The password fo the integration user.
- ServiceNow API User: The ServiceNow API user you created to authenticate requests from xMatters.
- ServiceNow API Password: The password of the ServiceNow API user.
- Enable MID Server & MID Server: Sets whether the integration should use a MID server when making requests to xMatters and the name of the MID server to use. See the ServiceNow documentation for information on using MID servers.
- Enable Debugging: Sets whether DEBUG messages should be included in the xMatters log in ServiceNow. See the ServiceNow documentation for more information on ServiceNow logs.
Note: After you save your settings, the password fields turn into buttons, indicating there is a password entered for the user. Click the password button to update the saved password (for example, if you changed the integration user's password in xMatters).
- Enable Incident Notifications: Click the check box to enable incident notifications.
- Incident Alerts Integration URL: The integration URL for the workflow's Incident Alerts integration.
- Response Options for Users: The UUIDs of the response options you want to be available on notifications to individual users. For the default integration, add the UUIDs for Accept and Resolve.
- Response Options for Groups: The UUIDs of the response options you want to be available on notifications to groups: for the default integration, add Assign to Me, Resolve, and Escalate.
- Priority: The priority of incidents that you want to send to xMatters.
- Language Suffix: The language of incident properties sent to xMatters. This value is appended to property names when the integration performs certain actions.
Engage with xMatters
- Enable Engage with xMatters: Click this check box to enable Engage with xMatters (users need to be assigned the x_xma_xmatters.xmatters_engage role to be able to use the feature).
- Maximum number of suggestions in recipients list: The maximum number of suggestions the Engage with xMatters dialog box should display when searching for recipients.
- Engage with xMatters integration URL: The integration URL for the workflow's Engage with xMatters integration.
- Conference Bridge Integration URL: The integration URL for the workflow's Conference Bridge integration.
- External Conference Bridges: The names of external conference bridges available in the Engage with xMatters dialog box; leave blank to use xMatters-hosted conference bridges. See the xMatters online help for more information on conference bridges.
Before configuring the data sync settings, we recommend you review the information on syncing users, groups, and properties from ServiceNow to xMatters.
See Change the default shift name for information on how to change the shift name used when syncing groups to avoid duplicate shifts in xMatters.
- Enable Dynamic Sync: Turns on dynamic syncing of users, groups, and properties from ServiceNow to xMatters.
- Site: The xMatters site you want users and groups added via the data sync to be assigned to.
- Supervisor: The user ID of the supervisor in xMatters you want users added via the data sync to be assigned to. If this is left blank, the user will not have a supervisor in xMatters until you manually add one.
- Always Sync Group Managers: Sync group managers even if they aren't assigned the x_xma_xmatters.xmatters role. See How ServiceNow Supervisors and Group Managers are synced for more information.
- Time Zone: The time zone you want to set for users and groups when they're added to xMatters.
- Externally Own Data: When set, synchronized data can only be removed from xMatters by removing it from ServiceNow
- Web Login Type: Whether the user logs into xMatters using their web login (native) or LDAP.
- Language: The language to set for users when they're added to xMatters.
- LDAP Domain: The LDAP domain to use if Web Login Type is set to LDAP.
- Role: The xMatters role to assign to people added to xMatters via the data sync process. You can give the user additional roles in xMatters.
- Phone Device: The xMatters device name to assign to users' voice device.
- SMS Phone Device: The xMatters device name to assign to users' SMS device.
- Email Device: The xMatters device name to assign to users' email device.
- Phone Extension Identifier: The component of a phone number in ServiceNow that denotes an extension (for example, 'x' or 'ext'); this lets xMatters recognize phone extensions.
- Allow Duplicates: Enables the Allow Duplicates setting for a group added via the data sync; this setting determines whether a member can be added to the escalation timeline more than once.
- Group - Use Default Devices: Enables the Use Failsafe Devices setting for a group added via the data sync; this setting determines if xMatters should contact a group members failsafe (default) device if they don't have any devices with an active timeframe.
See the online help for more information on these group settings.
- Configuration Item Identifier: The UUID of configuration item list property in the ServiceNow workflow. To sync the values of this list from ServiceNow to xMatters, see Batch load incident properties.
- Configuration Item Query: The ServiceNow query of cmdb_ci records to send for the configuration item list property. See the ServiceNow documentation for more information on querying for cmdb_ci records.
Since this version of the integration was released, we changed the name given to the default shift created for every new group in xMatters. This requires a minor code change to the configuration script to avoid duplicate shifts.
The shift name is used in the synchronization of users and groups with xMatters.
NOTE: If you are upgrading an existing ServiceNow installation, check out the knowledge base article here for more information and suggested workarounds.
If you're installing a new version of the integration:
- In ServiceNow, navigate to Advanced System Properties under Integration – xMatters.
- Change Group - Shift Name from '24x7' to 'Default Shift'.
- Save your changes.
You can use the Related Lists feature in ServiceNow to have any related Engage with xMatters records included on the incident details.
To set up a related list:
- Open an existing incident record, click the menu button, and then select Configure > Related Lists.
- If the current application is not global, you will see a read-only screen with several options for editing. Select the Edit this view in Global link.
- In the Available list, select xMatters Engage Records, and move it to the Selected list.
- Click Save.
The xMatters Engage Records tab at the bottom of the incident details screen now displays the related Engage with xMatters records for that incident.
After you've done the basic configuration for the integration, you can use the Batch Load features to seed xMatters with your ServiceNow users, groups, and configuration items.
Once you've seeded xMatters with your users and groups, you can use dynamic data sync to keep xMatters in tune with ServiceNow. If you add supervisors to a group or user in xMatters, or give a user additional roles, these are preserved in future syncs.
How it works
Here's an overview of the user, group and property sync from ServiceNow to xMatters:
- Assign the x_xma_xmatters.xmatters role to any users or groups you want to synchronize into xMatters. Assigning this role to a group automatically assigns it to all users within the group, or you can add this role to an existing role to automatically assign it to all users with that existing role.
- Batch load users then groups (and incident properties, if needed).
- Enable Dynamic Sync on the Data Sync tab of the xMatters configuration pages to have any future changes synced to xMatters (either updates to synced objects or new users or groups assigned the x_xma_xmatters.xmatters role).
Batch load vs. dynamic sync
There are some fundamental differences between batch data load and dynamic synchronization that you should consider when designing your integration between xMatters and ServiceNow.
Batch loads are generally only recommended when initially setting up your integration because they tend to be resouce-intense processes, while dynamic sync is generally recommended for on-going synchronization of users and groups from ServiceNow to xMatters.
If enabled, dynamic sync processes are run when a user or group is assigned the x_xma_xmatters.xmatters role, or when a user or group with that role is updated. The dynamic sync process is initiated for each object by a business rule in the foreground then runs in background worker processes.
What does this mean? If you add the role to 300 users, the integration fires the business rule 300 times – once for each affected user – and performs separate processing and REST requests to xMatters for each user. Since these business rules run independently from each other, no economies of scale are possible. If the integration needs to look up whether a ServiceNow user exists in xMatters, or if they're already set as a group supervisor, all of the logic, look-ups, and updates are performed each time the business rule fires. The same is true for determining group memberships: even if all members are part of the same group, the integration needs to query the group membership from xMatters for each user.
Also, the business rule itself must be run in the foreground, even though the REST calls and actual synchronization of data occurs in the background processes during a dynamic sync. This allows current values to be compared against previous values to determine if the sync is necessary.
Batch loads are manual processes that run entirely in the background but deal with collections of objects, such as ALL users assigned the x_xma_xmatters.xmatters role.
Batch loads perform fewer data lookup queries than the dynamic sync, and cache the results for re-use. By minimizing redundant network traffic (REST requests) and database look-ups, a batch of user updates can be run much more efficiently, and entirely in background processes.
However, running a batch load script is a resource-intense process that can significantly affect server performance. This feature processes every user and group in your ServiceNow instance to determine whether they should be synchronized to xMatters. It is recommended that you only run the batch load process when the integration is initially installed, and only during non-peak server times to minimize the server strain and processing time required to complete the synchronization.
ServiceNow supervisors are synced to xMatters with the Person Supervisor role, if they don't already have it.
For a user's supervisors, the process is additive – when the data sync happens, if a user has a supervisor in xMatters that they don't have in ServiceNow, the xMatters supervisor remains in place (in addition to any supervisor included in the sync from ServiceNow).
ServiceNow group managers are synced to xMatters with the Group Supervisor role, if they don't already have it.
You can choose to sync group managers from ServiceNow even if they don't have the xMatters sync role (x_xma_xmatter.xmatters). To use this feature, select the Always Sync Group Managers option on the xMatters Configuration – Data Sync page.
On the xMatters Configuration > Data Sync configuration page, the Supervisor field displays the user that will be set as the supervisor of any users added to xMatters by the data sync. The selected user MUST exist in ServiceNow and must have the "x_xma_xmatters.xmatters" role.
If the selected supervisor does not exist as a user in ServiceNow, or does not have the "x_xma_xmatters.xmatters" role, the user and group data sync will not complete properly.
Batch load users and groups
The batch data load processes all users, groups, and group members in ServiceNow and attempts to update them in xMatters if they've been assigned to x_xma_xmatters.xmatters role. If the user or group does not exist in xMatters, it is added; if the user or group already exists in xMatters, it is updated. A user or group that exists in xMatters but not in ServiceNow is not modified by the batch process; updates to these items are handled by the user and group synchronization process based on individual changes only after the initial data load is complete.
NOTE: To prevent groups from attempting to include users that do not yet exist in xMatters, always run Batch Load Users before Batch Load Groups.
To initiate a batch data load:
- In ServiceNow, under the Integration – xMatters heading, click Batch Load Users.
- On the Batch Load Users page, click Load Users.
- When the process is complete, click Batch Load Groups.
- On the Batch Load Groups page, click Load Groups.
You can populate the configuration_item_list property in the xMatters integration with the configuration items available in ServiceNow. This allows users to subscribe to incidents that occur on a specific Configuration item.
By default, this property is set to include only the value NONE; to use this property, you must seed it with values using the Batch Load Incident Properties script. This retrieves the configuration items as defined by the "Configuration Item Property Query" in the Data Sync configuration page, and sends them to the configuration_item_list property in xMatters.
NOTE: The code to populate a value in the configuration_item_list property is disabled when the xMatters integration is first installed because, once enabled, the integration validates the entries in all of the list properties, and rejects the event if a configuration item is sent that is not in the list.
To enable this feature:
- In ServiceNow, navigate to Advanced System Properties under Integration – xMatters.
- Select the box under Incident - Send Configuration Item List.
- Save your changes.
To initiate a batch load of configuration items:
- In the ServiceNow Navigator, under the Integration – xMatters heading, click Batch Load Incident Properties.
- On the Batch Load Incident Properties page, click Load Properties.
Notifying non-synchronized users
By default, the integration is configured so that ServiceNow only sends incidents to users who are synchronized with xMatters. However, you can set it up to send incidents to xMatters users who are not part of the data sync.
To enable this:
- In ServiceNow, navigate to Advanced System Properties under Integration – xMatters.
- Select the box under Incident – Send to Synced Recipients Only.
- Save your changes.
How to use the integration
After you complete the configuration steps and perform the initial batch data load, you can test notification delivery and response, and the synchronization between xMatters and ServiceNow.
The user and group synchronizations work in an identical way, but you should still validate each synchronization independently.
Synchronize a user
When you create, modify, or remove a user in ServiceNow, the system activates a business rule and adds, updates, or deletes the corresponding user in xMatters, along with their device details.
To test the user synchronization:
- In the ServiceNow Navigator, open User Administration > Users.
- On the Users page, click New.
- Enter the details for a new user on the User page, including first and last names, a user ID, and an email address that you can access (so you can use this user to test the notification portion of the integration in the following sections):
- Click Submit.
- In the Users list, locate the user you just added and click their name.
- On the User page, in the Roles area, click Edit.
- On the Edit Members page, in the Collection list, select x_xma_xmatters.xmatters and then click Add.
- As explained above, this role is required for all ServiceNow users that you want to be synchronized with or receive notifications from xMatters.
- Click Save.
Now log in to your xMatters instance and navigate to the Users page. If the synchronization was correctly configured, you'll see the user added to xMatters using the settings on the Data Sync configuration page, and the email address as their email device.
Synchronize a group
When you create, modify, or remove a group in ServiceNow, the system activates a business rule and adds, updates, or deletes the corresponding group in xMatters.
To test the group synchronization:
- In the ServiceNow Navigator, open User Administration > Groups.
- On the Groups page, click New.
- Enter the details for a new group on the groups page, and then click Submit.
- In the Groups list, locate the group you just added and click its name.
- On the Group page, in the Roles area, click Edit.
- On the Edit Members page, in the Collection list, select x_xma_xmatters.xmatters and then click Add.
- As explained above, this role is required for all ServiceNow groups that you want to be synchronized with xMatters.
- Click Save.
Now log in to your xMatters instance and navigate to the Groups page. If the synchronization was correctly configured, you'll see a group added in xMatters, with a default schedule and an empty roster. To further test the synchronization, add the test user you created for the user synchronization to the new group in ServiceNow, and confirm that the matching user is added to the group in xMatters.
To test the incident notification portion of the integration, you can create an incident in ServiceNow and assign it to the user or group you created for the synchronization test. If you assign it to the user, only that individual is notified; if you assign it to a group, xMatters works its way through the group escalation until someone responds with "Accept". When that happens, the Assigned to field in ServiceNow is updated to the user that responded.
To trigger a notification:
- In the ServiceNow Navigator, open Incident > Create New.
- On the Incident Details page, enter the details for a test incident with a Priority setting of "High" or "Critical".
- In the Assigned To field, enter the name of your test user.
- Click Submit to trigger the notification.
When the notification for the test user arrives on your device, open the message to view its details. For example, the following illustrates how a ServiceNow notification via xMatters might appear in the xMatters mobile app:
You can respond to the message simply by tapping one of the response choices. Other devices use similar methods.
After you respond to the notification, you can see how the integration automatically updates the Activity section in the incident Notes:
Engage with xMatters
You can test the Engage with xMatters feature using an existing incident.
To engage with xMatters:
- In the ServiceNow navigator, open Incident > Open.
- In the list of incidents, click an incident's number to open it.
- On the incident's details page, click Engage with xMatters.
- In the Engage with xMatters dialog box, enter additional details about the incident in the provided fields, and use the Recipients area to add the people or groups you want to notify.
- For groups, this also searches the group description. Multiple search terms are treated as an AND (for example, searching for "database" and "admins" will return the group Database Admins but not Network Admins).
- Click Submit.
- To add a new user or group, simply add them to the recipients and click Submit. This adds them to the on-going Conference Bridge associated with the incident ID.
To view responses to Engage with xMatters notifications, use the ServiceNow Navigator to open Integration - xMatters > Miscellaneous > Engage with xMatters Records. Click the number of the record you want to view.
If you are encountering difficulties with the integration and want to view more detailed information, select the Enable Debugging check box on the xMatters Common Configuration page in ServiceNow. This increases the level of detail contained in the log messages for the integration.
To access the xMatters logs in ServiceNow, look in the Integration - xMatters menu, under Miscellaneous > xMatters Logs.
You can also find more information in the Activity Stream for each inbound and outbound integration: while on the Integration Builder tab, expand the inbound or outbound section, click the gear icon beside an integration service, and then click Activity Stream. The Activity Stream contains the incoming (and for outbound integrations, the outgoing) request, any logging statements, and the final event creation messages.
Data sync troubleshooting
One possible cause of data sync errors is a custom field in xMatters that's been set to mandatory. To work around this, you need to either:
- populate that field with something in ServiceNow so it is included in the data sync, or
- update the custom field in xMatters so it isn't mandatory.
The unofficial/official Integration Research and Development wing of xMatters (those clever elves over at the xMatters Labs) devised a couple of cool ways to extend and enhance this integration:
- ServiceNow Major Incident - Add ServiceNow Major Incident Management into the xMatters notification process.
- ServiceNow Inbound via IntegrationHub - Set up a trigger from any table and table entry in ServiceNow to create an event in xMatters.
- Engage with xMatters for Problem Management - Extend the Engage with xMatters functionality to the Problem Management module in Service Now.
- Post to Chat - Create a room in a chat application from the Engage with xMatters form.
- ServiceNow Event Log - Log all xMatters event data (such as event and delivery statuses) to a table in ServiceNow
- Inform with xMatters - An "add-on" for ad-hoc FYI type notifications from ServiceNow.
- Engage CI Support Groups - An "add-on" for including the upstream and downstream CI groups to the Engage with xMatters form.
- ServiceNow Service Portal On-Call Widget - Get on-call schedules in a widget in ServiceNow's Service Portal.
Check out each of these enhancements at the links provided, and keep an eye out for future improvements, too! (Remember that these features are in-progress or experimental additions to this integration, and as such we can provide only limited support should you choose to implement them.)
Each of the components is based on a trigger on a business rule; these triggers are set for Insert, Update, and Delete. After the change has been committed, initial checking within the business rules determines what type of operation has occurred. A call is then made to the script include, which processes the request and runs various rules based on the Incident Notification, Engage with xMatters, and Data Sync Configuration pages to determine what type of action to take.
If the script include determines that an action is to be sent to xMatters, it creates a ServiceNow REST message for incident events or an xMatters API REST message for synchronization requests. ServiceNow REST messages are received by the inbound integrations on the workflow, where the appropriate notification layout is determined based on the target device. xMatters API messages are received by the xMatters REST operations, and devices, users, or groups are added, updated, or deleted appropriately.
If you thrive on detail, we've put together a few diagrams to show you how the various pieces of the integration work together with the nuts and bolts of ServiceNow.
Engage with xMatters flow
If you already have a working xMatters – ServiceNow integration, use the following steps to upgrade your instance. (If you are installing the integration for the first time, or creating a new integration, head to the Install the xMatters application section).
Upgrading a standard (out-of-box) integration
Notes before you upgrade:
- If you're upgrading from integration version 3.4 (or older), you may find it easier to disable your current integration and install the latest version as a fresh installation.
- If you're upgrading from integration version 3.5, disable the data sync feature before beginning the upgrade process described below.
- If you're upgrading an integration that was originally installed using an update set, there are some extra steps you need to do after you upgrade to continue to insert Engage with xMatters records.
To upgrade your integration:
- Download the latest workflow (attached to this article), and import it into your xMatters instance.
- Make sure your integration user has editor permission to the workflow, and sender permissions on the forms.
- Open the Integration Builder tab in the imported workflow, and set each of the inbound integrations to use Basic Authentication.
- Copy the URL for each inbound integration to a safe place, such as a text file.
- Copy the UUID for each of the response choices on the form to the same text file.
- Log in to ServiceNow and disable the Incident and Engage with xMatters features for your existing integration.
- Update the xMatters application to the latest version from the Applications listing screen in ServiceNow.
- If you installed your integration using an update set, make sure you reach out to the Customer Support team.
- Update the configuration pages with the inbound integration URLs and response UUIDs from your text file.
- Re-enable the Incident and Engage with xMatters features.
After you've upgraded your integration, you can make any changes to the configuration of your xMatters app in ServiceNow.
Upgrading a customized integration
If you have any customizations (from working with an xMatters consultant or ones you've made yourself), we strongly recommend attempting the upgrade in a non-production or staging environment first. That way you can run the necessary tests to ensure that integration functionality won't be affected.
If you encounter any problems or want to get some help before attempting your upgrade, please contact xMatters Customer Support and we can help come up with a migration plan.
Upgrading a customized integration prior to version 5.3 to the latest version
In version 5.3, we moved values from the xMattersConfig Script Include into system properties. To upgrade from a version earlier than 5.3 to the latest, you need to update the system properties to match what is in your customized script include file.
- Backup your xMattersConfig Script Include. You can find this under the Integration – xMatters entry in the All Applications list, in the Script Includes section.
- Update your integration, accepting the changes in the latest version.
- Compare the backup of your original xMattersConfig file with the values in Advanced System Properties under Integration – xMatters, using the table below, and update the system properties, if needed, to match the values your customized integration expects.
|Advanced System Property||xMattersConfig Variable|
|Incident - Inactive States||INCIDENT.INACTIVE_STATES|
|Incident - Critical Priority||INCIDENT.CRITICAL_PRIORITY|
|Incident - Event Queue Suffix||INCIDENT.EVENT_QUEUE_BASE|
|Incident - Assignment Trigger||INCIDENT.TRIGGER_RULES.ASSIGNMENT|
|Incident - Priority Upgrade Trigger||INCIDENT.TRIGGER_RULES.PRIORITY_UPGRADE|
|Incident - SLA Alert Trigger||INCIDENT.TRIGGER_RULES.SLA_ALERT|
|Incident - Reopened Trigger||INCIDENT.TRIGGER_RULES.REOPENED|
|Incident - Delete Trigger||INCIDENT.TRIGGER_RULES.DELETE|
|Incident - Send Configuration Item List||INCIDENT.SEND_CONFIGURATION_ITEM_LIST|
|Incident - Suppress Events when Assigning to Self||INCIDENT.SUPPRESS_ASSIGN_SELF|
|Incident - Suppress Events with Empty Recipients||INCIDENT.SUPPRESS_NO_RECIPIENT|
|Incident - Send to Synced Recipients Only||INCIDENT.SEND_TO_SYNCED_ONLY|
|Event - High Priority||PRIORITY.HIGH|
|Event - Medium Priority||PRIORITY.MEDIUM|
|Event - Low Priority||PRIORITY.LOW|
|Event - Maximum Attempts||EVENTS.MAX_ATTEMPTS|
|Event - Maximum Field Length||EVENTS.MAX_FIELD_LENGTH|
|Group - Observed By All||OBSERVEDBYALL|
|Group - Shift Name||SHIFTNAME|
|User - Username Field||USERNAMEFIELD|
|Data Sync - Max User Processes (LEGACY - DO NOT USE)||MAX_USER_PROCESSES|
|Data Sync - Max Calls per Process||MAX_CALLS_PER_PROCESS|
|Data Sync - Calls per User Synced||CALLS_PER_USER|
|Data Sync - Calls per User Deleted||CALLS_PER_USER_DELETE|
|Data Sync - Calls per Group Synced||CALLS_PER_GROUP|
|Data Sync - Calls per Group Member Deleted||CALLS_PER_MEMBER_DELETE|
|Data Sync - Use Progress Workers (LEGACY - DO NOT USE)||USE_PROGRESS_WORKERS|
|Data Sync - Number of Queues||NUM_DATA_SYNC_QUEUES|
|REST Log Level - Normal Mode||REST_LOGLEVEL|
|REST Log Level - Debug Mode||REST_LOGLEVEL|
If there are values in your customized xMattersConfig Script Include that are not in the Advanced System Properties or the new xMattersConfig Script Include, we recommend:
- moving those values into another Script Include (you'll need to update any references to them in other Script Includes).
- not adding them back into the xMattersConfig Script so this file can be updated in future without you having to worry about merging your customizations.
See our current features and updates list for additions in the latest update.
Updates in previous versions of v5 of the integration
The 5.3 version of the integration included the following updates:
- Refined the data synchronization scripts to improve performance.
- Moved values from xMattersConfig script include into system properties. If you've customized this script include in the past, there are a few extra steps you'll need to follow as part of the upgrade process.
The 5.2 version of the integration included the following updates:
- Version 5.2.4 certified for the Madrid release of ServiceNow.
- Updated the search behavior to use AND instead of OR when looking for people or groups to target in the Engage with xMatters dialog box.
- Added a new setting in the Engage with xMatters configuration screen that lets you set the maximum number of results to return when searching for recipients to target.
- Addressed issues with dynamic sync functionality when upgrading from a customized 4.x version, incident custom queue load balancing, and errors when syncing groups from ServiceNow for the first time when the group already exists in xMatters.
The 5.1 version of the integration included the following updates:
- Certified for the London release of ServiceNow.
- The group data sync now preserves (instead of overwriting) any supervisors you've set up for a group in xMatters.
- Improvements to the xMatters configuration page in ServiceNow, including showing you if you've already entered a password and accepting xMatters hostnames with an extra backslash at the end. We also cleaned up some unused configuration settings.
The 5.0 version of the integration included the following updates and enhancements:
- Updated Data Sync components to avoid hitting Progress Worker Quota limits introduced in ServiceNow Jakarta.
- Added Initiator to the “Engage with xMatters” form.
- Added targeted recipient and ServiceNow initiator information to the event notification (requires the 5.0 version of the workflow).
This version also includes all the features and updated added in previous versions of the xMatters integration.
Updates introduced in v4
The 4.2 version of this integration includes the following fixes and enhancements:
- Implemented the new Event Comments trigger, which allows the integration to update the ServiceNow ticket with comments added to the event in xMatters (requires the 4.2 version of the workflow).
- Added support for the ServiceNow Compact User Interface.
- Updated the group data sync so any supervisors you've set up for a group in xMatters are preserved in future data syncs.
- Addressed an issue where a new incident was created even if the original incident was deleted before the outbound integrations ran.
- Cleaned up some console errors that were appearing in the Engage with xMatters dialog.
- Updated the response actions on the Engage with xMatters "Acknowledge" response and the Conference Bridge "Join" response so your second line of on-call users aren't notified if the first line responds with either of these options.
The 4.1 version of this integration includes the following fixes and enhancements:
- The data sync feature has been updated to address a minor flaw that could potentially cause the user sync to stop processing if it encountered an error.
- Addressed an issue where dynamically syncing a ServiceNow group with multiple inherited roles would not sync those roles to added users.
The 4.0 version of the integration includes several updates and enhancements:
- The xMatters application is now certified for use with ServiceNow Jakarta (in addition to Helsinki and Istanbul).
- The data sync feature has been updated to preserve roles for existing users. When initiating a sync, the process compares a user’s existing roles in xMatters, and will add any new roles assigned in ServiceNow. (Previously, the sync process would replace a user’s existing roles with whatever roles were indicated in ServiceNow.)
- The configuration pages for the xMatters application now target the inbound integrations on the workflow, rather than the forms. This enables access to enhanced authentication and more customization options in the Integration Builder.
- Logging of xMatters events within ServiceNow has been improved, and a new setting on the Common Configuration page allows you to turn debugging-level logging on or off.
- The Engage with xMatters feature now allows you to add users to conference bridges already in progress for the related incident (in addition to creating new hosted or external conference bridges).
- You can now choose to sync group managers from ServiceNow even if they do not have the xMatters sync role (x_xma_xmatter.xmatters). To use this feature, select the Always Sync Group Managers option on the xMatters Configuration - Data Sync page.
- Some minor issues with the data sync process have been addressed, leading to performance and reliability enhancements.
This version also includes all of the features available in the previous version of the xMatters integration:
- All web services calls are now REST based. Events are injected via the Integration Builder and data sync calls use the xM API.
- Within ServiceNow, all operations happen asynchronously, improving performance by queuing events.
- The configuration pages and user interface for the xMatters application within ServiceNow have been redesigned to provide a better user experience.
- Instead of callbacks being passed in from ServiceNow, outbound integration webhooks are now configured in xMatters to allow for ease of use, improved customization, and faster troubleshooting.