How xmatters/xm-labs-integrationhub works
Purpose and delivery model
This repository packages a no-code/low-code inbound integration from ServiceNow to xMatters. It is primarily a deployable configuration bundle, not an application codebase: ServiceNow detects table-record events, IntegrationHub POSTs event data to an xMatters inbound workflow, and xMatters creates notifications/events. Key artifacts are ExampleWorkflow.zip, UpdateSet.xml, and EmailMessageTemplate.html.
Entry points and installation paths
Two provisioning paths establish the integration:
• Import the xMatters plan/workflow from ExampleWorkflow.zip; its configured inbound integration exposes the request URL consumed by ServiceNow.
• Either manually create ServiceNow credentials, HTTP connection alias, action, and flow, or import the prebuilt ServiceNow configuration from UpdateSet.xml.
The user-facing notification format can be adapted through EmailMessageTemplate.html.
ServiceNow event trigger stage
A ServiceNow Flow Designer flow is the source-side runtime entry point. It can subscribe to created/updated records from any selected ServiceNow table, with conditions such as assignment-group changes. The packaged example is represented in UpdateSet.xml; the README’s example centers on an Incident trigger. This boundary is responsible for deciding which record changes become outbound notifications.
IntegrationHub action and payload construction
The flow invokes a reusable IntegrationHub Action containing a REST step. The action maps trigger data into a JSON request body, typically with:
• recipients: target xMatters group
• properties: arbitrary ServiceNow fields used by the xMatters workflow
The flow/action configuration is distributable in UpdateSet.xml; the expected notification/body presentation is exemplified by EmailMessageTemplate.html. Payload mapping is configured in ServiceNow’s GUI rather than maintained as source code here.
Authentication and HTTP boundary
ServiceNow owns connectivity through a Connection & Credential Alias: HTTP POST, Content-Type: application/json, and Basic Auth using an xMatters REST Web Service User. The connection URL is the xMatters inbound-integration URL, ideally held outside the action for reuse across actions. Credentials and instance-specific URLs must be replaced after importing UpdateSet.xml; they should not be treated as portable package defaults.
xMatters inbound workflow stage
xMatters is the downstream event-processing runtime. Its imported workflow accepts the POST, parses the JSON payload, applies defaults such as recipient groups, creates an xMatters event, and sends email/push notifications with configured response options. The workflow and inbound script/configuration are encapsulated in ExampleWorkflow.zip; EmailMessageTemplate.html supplies a customizable message template artifact.
Operational flow and verification
Control flow is: ServiceNow record mutation → Flow trigger/conditions → IntegrationHub Action → authenticated HTTP POST → xMatters inbound workflow → recipient notification. Operators validate the ServiceNow action/flow with Flow Designer’s test capability, then inspect the xMatters inbound integration Activity Stream for POST success and resulting notifications. The principal external dependencies are a licensed ServiceNow IntegrationHub instance and an xMatters tenant with workflow import and REST-user access.
Main entry points: UpdateSet.xml IntegrationHub Action · ExampleWorkflow.zip Inbound Workflow · EmailMessageTemplate.html Email Message Template
Components 14
ServiceNow
Source runtime and deployable configuration.
- ServiceNow Update Set · Prebuilt flow, action, and connection configuration.
UpdateSet.xml - Table Record Change · Created or updated record from a selected table.
- Flow Designer Flow · Applies record and condition rules before sending.
UpdateSet.xml - IntegrationHub Action · Maps trigger fields into the outbound JSON body.
UpdateSet.xml - JSON Payload · Carries recipients and ServiceNow properties.
HTTP Boundary
- Connection & Credential Alias · Holds instance-specific URL and Basic Auth credentials.
UpdateSet.xml - xMatters REST User · Basic Auth identity configured after import.
- Authenticated HTTP POST · JSON POST to the xMatters inbound URL.
xMatters
Inbound event-processing runtime.
- Workflow Import Package · Imported plan containing inbound workflow configuration.
ExampleWorkflow.zip - Inbound Integration · Accepts the ServiceNow POST and exposes its request URL.
ExampleWorkflow.zip - Inbound Workflow · Parses payload, applies defaults, and creates an event.
ExampleWorkflow.zip - Email Message Template · Customizable notification presentation artifact.
EmailMessageTemplate.html - Recipient Notification · xMatters notification with configured response options.
- Activity Stream · Used to verify POST processing and resulting notifications.
Connections 17
- ServiceNow Update Set → Flow Designer Flow: provisions
- ServiceNow Update Set → IntegrationHub Action: provisions
- ServiceNow Update Set → Connection & Credential Alias: provisions
- Table Record Change → Flow Designer Flow: triggers
- Flow Designer Flow → IntegrationHub Action: invokes
- IntegrationHub Action → JSON Payload: maps fields to
- IntegrationHub Action → Connection & Credential Alias: uses
- xMatters REST User → Connection & Credential Alias: authenticates
- JSON Payload → Authenticated HTTP POST: request body
- Connection & Credential Alias → Authenticated HTTP POST: configures
- Workflow Import Package → Inbound Integration: installs
- Workflow Import Package → Inbound Workflow: contains
- Authenticated HTTP POST → Inbound Integration: delivers to
- Inbound Integration → Inbound Workflow: starts
- Inbound Workflow → Recipient Notification: creates and sends
- Email Message Template → Recipient Notification: formats
- Inbound Workflow → Activity Stream: records processing