UpdateIncident Message

The UpdateIncident Message is an update type message that sends updates to the bonded record.

Again, after clicking the 'Messages' icon, you are directed to the following screen (note: the four previously configured messages are now visible in the list):

Click New.

New Message Modal

The fields to be configured for the UpdateIncident New Message modal are as follows:

FieldDescriptionValue

Message name

The message name that is unique for this integration.

'UpdateIncident'

Type

The primary purpose of the message.

'Update'

Direction

The direction(s) this message is configured to support.

'Bidirectional'

Your UpdateIncident New Message modal should look like this:

Submit and view to further configure the Message.

Response Fields

Navigate to Message > Response.

The Response fields to be configured are as follows:

FieldDescriptionValue

Response

The immediate synchronous response to this message.

lookup: 'Response'

Async*

Turn this option on if you want inbound processing to occur asynchronously or this message is the first of an asynchronous message pair.

<true>

Async receipt

The asynchronous receipt to this message.

lookup: 'Receipt'

*This field is automatically defaulted to true.

Your Response form should look like this:

Navigate to Message > Bond.

Bond Fields

The Bond fields to be configured are as follows:

FieldDescriptionValue

Bond ownership*

Determine if the sender should own the bond or not in order for this message to be processed? Use 'Ignore' to process regardless of the owner flag. (Choices: Ignore, Must own, Must not own.)

'Ignore'

Bond condition type*

The type of conditional check made on the bond. (None: no checks are made. State: checks against the state are made using the conditional checkboxes. Scripted: the 'Bond condition' script is used.)

'State'

Bond pending

Process this message when the bond state is Pending.

<true>

Bond open

Process this message when the bond state is Open.

<true>

*These fields are automatically populated.

Your Bond form should look like this:

Navigate to Outbound > Trigger.

Outbound Trigger Fields

The Outbound Trigger fields to be configured (as required)* are as follows:

FieldDescriptionValue

Outbound condition*

The condition that the ServiceNow record must meet to trigger this message being processed.

Update the Outbound condition script field with the code below

*Outbound condition (as required):

It is not necessary for you to enter a condition. The value given is an example. You may create any condition (or not) to align with your business process requirements. In this case it makes sense to use this message to send an update where the state doesn't change. Typically, we would configure different messages to align with state changes (e.g. Close, Resolve).

The code in the 'Outbound condition' script field should look like this:

!current.state.changes()

Your Outbound Trigger form should look like this:

Navigate to Inbound > Settings.

Inbound Settings Fields

The Inbound Settings fields to be configured are as follows:

FieldDescriptionValue

Bond reference method*

Method of searching for and validating an existing bond for incoming messages.

'Both'

Reference lookup script

The script containing functions for extracting internal and external references from the request payload.

Update the code in the Reference lookup script field so that it looks like the code below

*Bond reference method:

Internal - lookup using the internal reference only.

External - lookup using the external reference only.

Both - lookup using both the internal and external references.

As mentioned earlier, because this is an update type message, we use 'Both' as it's a more accurate method of validating updates are being sent to/received from the correct bonded records.

The code in the 'Reference lookup script' field should look like this:

var answer = {};

answer.getExternalMessageID = function (payload, request) {
  return '' + (payload.message.source_id || '');
};

answer.getInternalMessageID = function (payload, request) {
  return '' + (payload.message.target_id || '');
};

Your Inbound Settings form should look like this:

Click Save.

We are now ready to configure the Fields for our UpdateIncident Message.