Sending a Message from a ServiceNow Workflow

Not Yet Reviewed

The use case around this question is that we would like to page the on-call person through xMatters of a group that is the Assignment Group of an Incident when the SLA is about to be breached.

I have a workflow that is already sending e-mails at certain times in the SLA life cycle, so the timing isn't an issue. What I'm needing is a pointer to the best way to initiate a call to xMatters from this workflow whether a Script Include that can be used or a REST API or some other method.

0

Comments

2 comments
Date Votes

Please sign in to leave a comment.

  • Hey Brent!

      That sounds awesome. I played with workflows in the past but I could never get it to successfully call a REST API. I was doing the learn-on-the-fly-I-have-no-idea-what-I'm-doing (aka hacking) approach though, so I would be very interested if you are successful. 

    If you have full control over building a REST body, then I'd recommend hitting an Inbound Integration endpoint to create an event. This is the doc for the API for triggering the inbound integration to create an event, but your payload will be something like:

     

    {
    "properties": {
    "number": ${incident.number},
    "other property": ${incident.other}
    },
    "recipients": [ {"id": "some user or group here"}]
    }

    I'm not sure how you would reference the incident columns in the workflow, but hopefully you get the idea. From there, make sure you have a header to set the "Content-Type": "application/json" and then the authorization appropriately. 

    On the xMatters side, you'd need an inbound integration, which can be of the "Create xMatters Event" variety, and then point that to your SLA form. I'm assuming these are incidents, so you can probably use the existing ServiceNow comm plan available here.

    If you run into issues, I'd be happy to help. I think this would be a valuable addition to our ServiceNow integration methods. 

    One last note and I'm not sure if it's relevant or not but we built an Integration Hub integration, available here. It's more of a document than an integration, but it talks about how to integrate with xMatters from the Integration Hub. Adding here just in case it is useful. 

    Happy Friday!
       --- Travis

    0
  • Hi Brent,

    Another option I have used with one of our customers to do something similar is to take advantage of the Script Includes from our published ServiceNow Integration (information here).  You can pretty much use similar logic from the "xMatters Incident Insert" Business Rule.

    For example, in the step in question, if you have access to an Incident object, you might try a similar call:


    // This may not be necessary if your in the x_xma_xmatters scope
    gs.include("xMattersIncident");

    // do whatever glide query to get your Incident
    var myIncident = new GlideRecord('incident');
    myIncident.addQuery('number', <some incident number>);
    myIncident.query();

    // then...
    if (myIncident.next()) {
    (new xMattersIncident()).beforeInsert( myIncident );
    }

    Again, the above assumes that you have installed and configured the "Integration xMatters" application in your ServiceNow environment.  In addition, you may need to add 

    Please let us know the route you take, and how you got it working.

    Cheers,

    Jordan.

    0

Didn't find what you were looking for?

New post