Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
We will need to configure an inbound message to process the data returned from the poll.
In order to process the data that is returned from the remote system, we will need to create the appropriate messages in Unifi. To satisfy the requirements of this Guide, we will only need to configure the one message:
UpdateIncidentInbound
We shall look in detail at how to configure that message and the appropriate message scripts over the next couple of pages.
Let's begin by configuring the UpdateIncidentInbound Message.
We will configure a scheduled poll to query the remote system at regular intervals and pull back data that has changed which it will pass to Unifi to process.
To set up a scheduled poll that will query the remote system at regular intervals, check whether any data has changed and then pass that data to Unifi, we will need to configure the following records:
Poll Processor
Poller
Once those records are configured, we will need to configure an inbound message to process the returned data. We will also need to make some changes to our outbound messages before we can test our update scenario (in order to prove the poll is returning the expected data and the target record is updated accordingly). We will look at the polling records in turn over the next couple of pages.
We're now ready to configure the Poll Processor.
We will configure an inbound update message to process the data returned from the poll and update our target record.
Click the 'Messages' icon, then New.
The fields to be configured for the UpdateIncidentInbound New Message modal are as follows:
Field | Description | Value |
---|---|---|
Your UpdateIncidentInbound New Message modal should look like this:
Click Submit and view to further configure the Message.
Navigate to Message > Response.
The Response fields to be configured are as follows:
*This field is automatically defaulted to true.
The 'Response' Message was previously configured (in the Outbound Incident Guide) to apply in an 'Inbound' direction. Change it to 'Bidirectional'.
Your Response form should look like this:
Navigate to Message > Bond.
The Bond fields to be configured are as follows:
*These fields are automatically populated.
Your Bond form should look like this:
Navigate to Inbound > Settings.
The Inbound Settings fields to be configured are as follows:
*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.
We have chosen the 'External' method because, in the payload we built, we only supplied the source_reference
. If we had also supplied the correlation_id
as the target_reference
, then we would have chosen 'Both' (which would have offered an extra level of validation to the checking).
Your Inbound Settings form should look like this:
Click Save.
We are now ready to configure the Fields for our UpdateIncidentInbound Message.
A Poller is a configuration record which defines the frequency of polling and which logic to use.
A Poller is a configuration record which defines the frequency of polling and which logic to use (the logic itself is defined in the Poll Processor). Each time it is run, it creates a corresponding Poll Request record.
Click the 'Pollers' icon & then New.
The fields to be configured for the New Poller modal are as follows:
Field | Description | Value |
---|
*These fields are mandatory, or automatically defaulted to true.
Your New Poller modal should look like this:
Submit and view to further configure the Poller.
The fields to be configured for the Details form are as follows:
Your Details form should look like this:
Navigate to Scheduling.
The fields to be configured for the Scheduling form are as follows:
*This field is mandatory.
Your Scheduling form should look like this:
Save the Poller.
In order to process the inbound Requests, we next need to configure our Inbound Message.
The Poll Processor contains the logic that will be applied when polling a remote system for data.
The Poll Processor is a configuration record which contains the logic that will be applied when polling a remote system for data. There are three main scripts which are used to setup, execute and process the Poll Requests. The scripts given here are examples of how you might configure your Poll. The details of yours may differ depending on your requirements.
Before continuing we would like to draw your attention to some of the relevant icons that are visible down the left hand navigation strip of the Unifi Integration Designer portal page.
The icons are:
a) 'Integration' icon: Opens the current integration's Details page.
b) 'Messages' icon: Opens the current integration's Messages page.
c) 'Fields' icon: Opens the current integration's Fields page.
d) 'Field Maps' icon: Opens the current integration's Field Maps page.
e) 'Pollers' icon: Opens the current integration's Pollers page.
f) 'Poll Processors' icon: Opens the current integration's Poll Processors page.
In Unifi Integration Designer, navigate to & open < Your Integration > (created following the Outbound Incident Guide).
Click the 'Poll Processors' icon & then New.
The fields to be configured for the New Poll Processor modal are as follows:
Your New Poll Processor modal should look like this:
Submit and view to further configure the Poll Processor.
The Setup Script is the first script to run (it runs at the point in time the Poll Request is created). It is used to build the environment for the poll and define what it will do. We will use it to setup the URL that will be called.
Navigate to Scripts > Setup Script.
The Setup script field is to be configured as follows:
The code in the Setup script field should look like this:
Setup script: The parameters for which data to return are contained in the endpoint url.
fields: The table API will return all the data by default, so we choose to deliberately limit what is returned to the fields listed in this variable.
query: Instead of querying all the records on the remote instance, we deliberately limit the records to those where the correlation id is not empty (i.e. it's bonded), that haven't been updated by the Authentication user (our system) and that were updated since either since the last update time (if one exists), or in the last 30 minutes.
Endpoint URL: The value used in the poll_request.endpoint_url was initially generated using the ServiceNow REST API Explorer, substituting variables in for the uri query and fields. This value is appended to the existing endpoint url in the active connection before being added to the Poll Request.
(We have also chosen to limit the number of records returned to 10.)
params: The params
object is passed through to the subsequent scripts (and on to further Pollers, if required).
Your Setup Script form should look like this:
Navigate to Request Script.
The Request Script is used to reach into the remote system and execute the request. We will use the ServiceNow RESTMessageV2() web service to make a REST call to the URL defined in the Setup Script.
The Request script field is to be configured as follows:
The code in the Request script field should look like this:
Request script: This script uses the ServiceNow RESTMessageV2() web service to make a REST call to the endpoint url created in the Setup script. It returns the body of the request as the answer which it passes to the Response script
Your Request Script form should look like this:
Navigate to Response Script.
The Response Script is used to process the information returned from the remote system. We will pass this data to Unifi to process.
The Response script field is to be configured as follows:
The code in the Response script field should look like this:
Response script: This script parses the response into a body object to contain the result, (returning if it doesn't contain anything). It then sets up some objects to help us (including the essential PollHelper() function which we initialise from the poll_request). After that it loops through each of the returned tickets; for each it sets up a payload object and the options for submitting it to Unifi before calling the processInbound() method. It then checks whether the ticket was updated later than the last update time; if so, it sets and stores the last update time as that 'sys_updated_on' value (this 'last_update_time' is what the Setup script checks against when defining what the Poll will do).
After looping through all the records, the results are logged to the Response status field of the Poll Request.
Essential code: the following lines of code must be included in the response script to send the data to Unifi
processInbound(): Having the 'poll_helper.processInbound(opts);' inside the loop means that an update message will be generated for each updated ticket.
Payload object: We have chosen to structure the payload object (var pl
) as we have. There is no obligation to keep the same structure. Yours can be defined to suit your requirements.
Payload options: In the payload options (var opts
), we have commented out //message_name: 'UpdateIncidentInbound',
. This is because we have chosen to include the message name in the structure of the payload object.
Message name: Unifi needs to know the message name in order to know how to process the inbound request. We can either set it in the payload (as we have), or in the options (as per the commented out line).
Your Response Script form should look like this:
Save the Poll Processor.
Now let's move on and configure the Poller.
Field | Description | Value |
---|---|---|
Field | Description | Value |
---|---|---|
Field | Description | Value |
---|---|---|
Field | Description | Value |
---|
Field | Description | Value |
---|
Field | Description | Value |
---|
Field | Description | Value |
---|
Note: We have included the /table/incident
element of the endpoint url because we used the truncated url in the Connection when following the . If you have used the full url there, then this element can be excluded here.
Field | Description | Value |
---|
Field | Description | Value |
---|
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.
<false>
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 open
Process this message when the bond state is Open.
<true>
Bond reference method*
Method of searching for and validating an existing bond for incoming messages.
'External'
Description | A description of what this Poller is for and/or how it works. | <Your description> |
Repeat interval* | The interval at which the Poller should repeat. | '05' (Minutes) |
Starting | The date/time the Poller should start. | <Your Start date/time> |
Name | The name of the Processor. | <Your Name> |
Setup script | The script to setup the Poll Request record. | Update the code in the Setup script field so that it looks like the code below |
Request script | The script that executes the request. | Update the code in the Request script field so that it looks like the code below |
Response script | The script that processes the response to the request. | Update the code in the Response script field so that it looks like the code below |
Follow this guide to configure a poller integration - polling the table API of your Personal Developer Instance (PDI) for updates only. This is the first of five Poller Guides. See 'Scope' for more.
We will be configuring a Poller and Poll Processor in order to pull Incident data which has been updated from an external instance and pass it to Unifi. We will then configure the relevant inbound Message in order to process that data.
If you have been following along with the Outbound Incident Guide you will know that it is given as an example of how you might configure such an integration. It is not meant to be prescriptive. The same applies here.
Having said that, this Guide has been written to follow on from that previous one and has been structured accordingly.
This document will guide you through an example of how you might configure a poller integration - polling the table API of your Personal Developer Instance (PDI).
This Guide is complementary to the Outbound Incident Guide. It assumes that both the Integration and the Connection are still in place and will be using those same elements as configured in that Guide. It also assumes that you know how to use the REST API of your PDI to query for information and read ticket data.
If you haven’t completed the Outbound Incident Guide, please review & complete the following sections of that document, as they must be in place before continuing with this Guide:
The Outbound Incident Guide demonstrates how to configure outbound messages to the table API of your PDI. This Guide will demonstrate how you might poll data from the table API of your PDI and then configure inbound messages to process that data.
It is not always possible for a remote system to send us the data. In such cases, we can make a scheduled request for it using Pollers. We can setup, execute and process those Requests using Poll Processors.
A poller defines the frequency of polling and which logic to use. It is effectively a scheduled job which ties together an Integration and Poll Processor. Although a Poller belongs to only one Integration, an Integration can have multiple Pollers.
A Poll Processor contains the logic that will be applied when polling a remote system for data. It contains three main scripts:
The Setup Script is used to build the environment for the poll and define what it will do (for example, create/setup the URL that will be called).
The Request Script is used to reach into the remote system and execute the request. This is usually done by making a REST call to the URL defined in the Setup Script.
The Response Script is used to process the information returned from the remote system.
Do not build integrations directly within the Unifi application scope. This can create issues with upgrades and application management.
We will need to store and check some returned data in order to evaluate when the data was changed and which system has made the updates to the data (we don’t want to pull back data we have changed).
We will begin by polling for updates only and processing those requests using an update message in Unifi.
We will also need to make some additional changes to the previously configured integration in order to allow for message identification and the ability to identify which records are bonded.
Message name
The message name that is unique for this integration.
'UpdateIncidentInbound'
Type
The primary purpose of the message.
'Update'
Direction
The direction(s) this message is configured to support.
'Inbound'
Description
The description for this message and the requirement it is meeting.
<Your description>
Name* | The name of your Poller. | <Your Name> |
Poll processor* | The Poll Processor to use when running this Poller. | <Your Poll Processor> |
Run | The frequency at which the Poller should run. | 'Periodically' |
Run as | Poller will run with credentials of specified user. | <Your Inbound user> (from Connetion) |
Active* | Set to true to use this Poller record for processing. | <true> |
In order for both systems to identify & understand which records are bonded and to facilitate only returning data from bonded records, we need to make a few configuration changes.
Our previously configured Outbound Incident Integration was very simple example and we weren't concerned with identifying which system made the updates. Neither were we concerned with telling the remote system which record they were bonded with.
Now that we're polling our PDI for data as well as sending data, we need to be aware of both the above concerns.
The first concern (identifying which system made the updates) has been taken care of in the Poll Processor Setup script (only returning data not updated by the Basic Authentication User). However, it doesn't make sense to try and return that data from all the records in the remote system. We should only be concerned with those records we're bonded with. To facilitate this we need to make a few configuration changes. We need to make a change in the remote system (our PDI) and some changes to our existing outbound CreateIncident Message.
First, we will need to Edit the Incident Form in our PDI.
Unifi needs to identify the name of the inbound message in order to know how to process the inbound data.
When we configured our Outbound Incident Integration we weren't concerned with identifying inbound messages, because there weren't any (we were only sending outbound).
Now that we're polling our PDI for data as well as sending data, we need to be aware of the above concern.
To facilitate this we need to make a change to our Integration.
This script is necessary because we have chosen to include the Message name in the structure of the payload object (see Response Script on the 'Poll Processor' page). If we had chosen instead to set it in the options object, it would have been processed and passed to Unifi for automatic Message identification - without the need to configure this script.
To enable the Integration to identify which messages to use to process inbound requests:
Navigate to the 'Integration' icon to open < Your Integration >, then navigate to Integration > Message Identification.
Update the code in the 'Identify message script' field so that it looks like this:
The Message Identification form should look like this:
Save the record.
In order for both systems to identify and understand which records are bonded, we need to make a few more changes which we shall group together under the heading of Bond Identification.
The first configuration change we need to make to facilitate Bond identification is to add the Correlation ID field to the Incident form in our PDI.
In order for the remote system to store data about which record they're bonded with and to enable us to identify and only return data from those bonded records, we need to send and store a unique identifier. We will make use of the available correlation_id
field on the Incident record. First we will add the field to the Incident form in our PDI.
From any Incident record in your PDI, right-click & navigate to Configure > Form Layout.
Select the Correlation Id field from the 'Available' slushbucket and move it to the 'Selected' slushbucket.
Save to add the field to your form.
Next, we will need to Edit the CreateIncident Message.
We will utilise the Field & Field Map records to configure the Message Scripts for the UpdateIncidentInbound Message.
It is worth copying all relevant OOTB Field Maps as are necessary for your integration before using any of them in your Field Records - thereby mitigating the risk of any potential issues with future upgrades.
Some Field Maps should already have been copied for this Integration whilst following the Outbound Incident Guide. Those that aren't will need to be copied. The Field Maps we shall use for our UpdateIncidentInbound Field records are:
Message Header
String
To copy the Message Header Field Map, navigate to the 'Field Maps' icon.
Click on the ellipsis to the right of the Message Header Field Map & then click Copy.
The fields to edit for the Copy Field Map modal are as follows:
*Name: We have chosen to prefix the existing Field Map Name with the initials of our Integration (you are free to choose any appropriate means of identifying/differentiating).
Your Copy Field Map modal should look like this:
Click Copy.
You will be redirected to the Details page of the newly created Field Map.
If necessary, repeat the process for the String Field Map.
Field records can represent the handling of two categories of data: either a data object which carries transaction specific data (e.g. name, time stamp, source id etc.), or a field element on the bonded record (e.g. Short description). We will begin by configuring a Field record to deal with the transaction specific data.
Back in the UpdateIncidentInbound Message, navigate to Message > Fields. Click New.
The fields to be configured for our message_header New Field modal are as follows:
*These fields are automatically defaulted to true, or automatically populated.
**Field map: Value may vary. Choose the copy Field Map you created for your Integration.
Your 'message.header' New Field modal should look like this:
Submit the record.
You will be redirected back to the Fields page of the UpdateIncidentInbound Message.
Depending on your requirements, you will need to create Field records for each of the relevant Incident record field elements you wish to map. As we have only chosen to include the short_description
& description
elements in both the Setup script & Response script of the Poll Processor, this Guide will focus on those two. If you wish, however, you are free to configure other Field records as required (ensuring you also define them in both the Setup Script & Response script of the Poll Processor).
For a full description of the available Field Maps, please see the relevant page in our technical documentation.
The table below lists the Incident record field elements we will map and the relevant Field Maps required to configure each Field record.
*Field map: Values may vary (dependent on your configuration of the copies). Choose the copy Field Maps you created earlier.
The ‘incident.short_description’ (Integration level) Field record should already be in place (i.e. with Active set to false). This was automatically created by Unifi when we first created the Message level record when completing the Outbound Incident Guide. We will now create its Message level counterpart.
From the UpdateIncidentInbound Message, navigate to Message > Fields.
Your UpdateIncidentInbound Fields page should look like this:
Find the incident.short_description (Integration level) Field & set Active to true.
The empty circle icon next to the Field name turns green & contains a green ‘check’ (to indicate that Message level configuration exists for this Field) when we set Active to true. (The ‘Build Integration’ button became visible in the banner when we created the 'message.header' Field).
By setting the Active flag to true on the Integration level Field record listed on the Message, Unifi has automatically created the Message level counterpart.
Click to open the incident.short_description (Message level) Field to make a few minor changes.
The incident.short_description Field record opens to the Details page.
The following info message is also displayed (which can be closed):
Field inheritance is set to true by default. This means the record will be updated with integration-level Field values when saved (except for Active, Inherit and Message values).
You can either uncheck the Inherit field to configure locally, or edit the integration-level Field record. We will choose to uncheck the Inherit field and configure locally, because we want this inbound Field to be different to the outbound one (and the integration-level Field which was automatically created at that time).
For more information on Field Inheritance click here.
Set Inherit to False.
Save the record (the fields now become editable).
Navigate to Field > Settings.
Edit the incident.short_description Field record as follows:
Your incident.short_description Field record should look like this:
Save the record.
Because the incident.description Field record is the same ‘type’ (PI - String) & the majority of the settings are the same as the previously configured Field, it will be quicker to copy the incident.short_description Field & make a few minor changes.
To quickly navigate to the UpdateincidentInbound Message from the Details page of the incident.short_description Field record...
...click the 'Preview' icon to the left of the Message field.
From the UpdateIncidentInbound Message, navigate to Message > Fields.
Click the ellipsis next to the incident.short_desscription Field record & click Copy.
The fields to edit for the Copy Field modal are as follows:
*This field is automatically populated.
Your 'incident.description' Copy Field modal should look like this:
Click Copy.
You will be redirected to the Details page of the newly created incident.description Field record.
Now that we’ve configured the Field records for the UpdateIncidentInbound message, we are ready to build our message scripts.
To quickly navigate to the UpdateIncidentInbound message from the Details page of the newly created incident.description Field record…
...click the 'Preview' icon to the left of the Message field.
The following Field records should now be in place for your UpdateIncidentInbound messsage:
Click on Build Message.
You will see the 'Message build successful' Info Message.
Navigate to Advanced > Script Editor.
Your Script Editor fields should initially look like this:
Navigate to View > Inbound to view the auto-generated code.
Your Script Editor fields should now look like this:
The Message Scripts reflect the mappings as per this Guide. Your scripts might differ depending on which Fields you chose to map (& defined in the payload). We will look at the Message Scripts in turn.
Payload to Stage:
Your Payload to Stage Message Script should look like this:
Stage to Target:
Your Stage to Target Message Script should look like this:
Before we test, we need to make a few changes. The first is to our Integration - to allow for inbound Message Identification.
Here we will deal with the configuration changes that need to be made to our CreateIncident Message to facilitate identifying and returning data from bonded records.
Now that we've configured the remote system's Incident form to display our bonded ticket number as the correlation id, we need to update our CreateIncident Message to send it.
To ensure that our CreateIncident Message is sending the relevant data we need to configure a new Field record that will send the Incident number as the correlation id. We will make use of the previously copied String Field Map record.
In Unifi Integration Designer, from the CreateIncident Message, navigate to Message > Fields. Click New.
The fields to be configured for our incident.number New Field modal are as follows:
Field | Description | Value |
---|---|---|
*These fields are automatically defaulted to true, or automatically populated.
**Field map: Value may vary. Choose the copy Field Map you created for your Integration.
Your 'incident.number' New Field modal should look like this:
Submit the record.
You will be redirected back to the Fields page of the CreateIncident Message.
It is not necessary to configure this Field record to facilitate identifying and returning data from bonded records. It is only included here to facilitate the sending of data in the Description field of the Incident when testing our Integration. You may choose to ignore this if you wish. Similarly, if you had already configured the incident.description Field record for the CreateIncident Message (when completing the 'Outbound incident' Guide), you can ignore this.
The ‘incident.description’ (Integration level) Field record should already be in place (i.e. with Active set to false). This was automatically created by Unifi when we created the Message level record when configuring the Fields for the UpdateIncidentInbound Message. We will now create its Message level counterpart for the CreateIncident Message.
From the CreateIncident Message, navigate to Message > Fields.
Your CreateIncident Fields page should look like this:
Find the incident.description (Integration level) Field & set Active to true.
The empty circle icon next to the Field name turns green & contains a green ‘check’ (to indicate that Message level configuration exists for this Field) when we set Active to true. (The ‘Build Integration’ button became visible in the banner when we created the 'incident.number' Field record.)
By setting the Active flag to true on the Integration level Field record listed on the Message, Unifi has automatically created the Message level counterpart.
Click to open the incident.description (Message level) Field to make a few minor changes.
The incident.description Field record opens to the Details page.
To edit, set Inherit to False.
Save the record (the fields now become editable).
Navigate to Field > Settings.
Edit the incident.description Field record as follows:
Your 'incident.description' Field record should look like this:
Save the record.
Now that we’ve configured the Field records for the CreateIncident message, we are ready to build our message scripts.
To quickly navigate to the CreateIncident Message from the Details page of the newly created incident.description Field record...
...click the 'Preview' icon to the left of the Message field.
The following Field records should now be in place for your CreateIncident Message:
Click on Build Message.
You will see the 'Message build successful' Info Message.
Navigate to Advanced > Script Editor > View > Outbound to view the auto-generated code.
Your Script Editor fields should look like this:
The new auto-generated code (mapping the incident number to the correlation id & mapping the Incident description) will appear between the Begin & End Comment along with the code that was already there (which we had previously created using the Outbound Incident Guide). Your code may differ, depending on which Field records you created to satisfy your mapping requirements.
Source to Stage:
Stage to Request:
We have now completed the configuration and are ready to move on to Test our Update Scenario.
Congratulations on successfully polling your PDI for updates using this Update Poller Guide.
This Guide has shown us how we might configure a poller integration - polling data from the table API of a Personal Developer Instance (PDI) and then configure an inbound message to process that data. As such, we created the following records:
Poll Processor
Poller
Inbound Message
Fields
We also made further configuration changes to both the remote instance (PDI) and internal instance, in order to facilitate the following:
Message Identification
Bond Identification
In testing our integration, we created some incidents in the remote instance which were bonded. We then updated the bonded records from both instances (polling for updates each time). We successfully proved that we were only querying bonded records, pulling back updates made in the remote instance since the last update time, only retrieving a select number of fields and that the returned requests were looped through, generating transactions for each updated ticket.
By Using the Unifi integration platform, we have discovered that building and testing our integration is simpler and more efficient, saving both time and money. Our hope is that this Guide has been a valuable aid to you in that process.
For further information please see our .
If you have any feedback or questions, please contact us via our website .
You should have successfully configured a Poll Processor, Poller and an inbound update message. You should also have made further changes to allow for message & bond identification. Now to test.
It may help to turn off the Poller we created (set Active to 'false') whilst conducting these tests and to manually execute it as required (this can still be done even if the Poller is inactive). This is so that we don't have to wait for the Poller to run, but rather manually activate it when needed by clicking 'Execute Now'.
To turn off the Poller, in the Unifi Integration Designer window, navigate to the 'Pollers' icon & set Active to false.
In order to test our integration we will need some bonded tickets in the remote instance. If there aren't any already in place, then they'll need to be created.
In the native ServiceNow window, navigate to Incident > Create New.
The Incident fields to configure are as follows:
Though our CreateIncident Message has been configured to map more than just the Short Description & Description fields, we have only filled these fields because that is all we have included in the payload of our Poller.
Your Incident form should look like this:
Note the Info Message confirming the CreateIncident Message is being sent to your Integration.
Note the Bond is 'Open' and both the Internal & External reference are in place.
Repeat as necessary so that there are two or three bonded tickets in the remote instance:
Update one of the bonded tickets in the originating instance to cause the UpdateIncident Message to fire:
View the Transactions that have been sent. This can be done either in Native ServiceNow, or in Unifi Operations Manager.
Navigate to Unifi > Transport > Transactions.
Navigate to Unifi > Unifi Operations Manager.
We can see that the three CreateIncident messages & one UpdateIncident message have been sent. All are Complete & Accepted & display the relevant Incident & Bond numbers.
Confirm the Transaction has updated the bonded ticket in the remote instance:
We can see that the update has reached the bonded ticket (& that the correlation id matches the outbound Incident number)
In Unifi Integration Designer, click on the 'Pollers' icon. Navigate to & open < Your Poller > (created earlier). & click Execute Now:
In native ServiceNow, navigate to Unifi > Polling > Poll Requests. Click to Open & view the generated Poll Request. Confirm that no Incident was found (this is exactly as we expect because we are only polling for updates made by the remote instance):
In the remote instance, update two of the bonded tickets in turn_._
Updates are made to the Description field only. Correlation ID is highlighted for us to identify the correct bonded ticket.
Back in the originating instance, navigate to & open < Your Poller >. Click Execute Now.
Open the corresponding Poll Request & confirm that both Incidents were found (and only those):
View the Transactions that have been sent. This can be done either in Native ServiceNow, or in Unifi Operations Manager.
Navigate to Unifi > Transport > Transactions.
Navigate to Unifi > Unifi Operations Manager.
We can see that two UpdateIncidentInbound messages have been received. Both are Complete & Accepted & display the relevant Incident & Bond numbers.
Confirm the Transactions have updated the bonded tickets in the originating instance.
For completeness, to prove we are only querying and pulling back data from bonded records, update an incident in the remote system which isn't bonded (Correlation ID is empty) & run the Poller again.
What do you expect to happen?
Field | Description | Value |
---|---|---|
Field | Description | Value |
---|---|---|
Incident Field | Field Map |
---|---|
Field | Description | Value |
---|---|---|
Field | Description | Value |
---|---|---|
Field | Description | Value |
---|---|---|
Field | Description | Value |
---|
Name*
The name of your field map. (If left unedited, it will append the word 'Copy' to the existing name.)
<Your Name>
Message*
The Message this Field record is linked with.
'UpdateIncidentInbound'
Description
Describe what this field is for and any specific details that might help you in future.
‘The protocol message header’
Active*
Set to true to use this Field record for processing.
<true>
Field map
The Field Map this Field record is linked with.
'IS - Message Header'**
Map to field*
Use this Field record to represent a field on a source/target table.
<false>
Path
Where in the payload the data will be placed.
'message'
Property
The property in the payload the data will be written to.
'header'
Inbound*
Set to true to use for inbound Messages.
<true>
Outbound*
Set to true to use for outbound Messages.
<false>
short_description
'PI - String'*
description
'PI - String'*
Path
Where in the payload the data will be placed.
‘detail’
Inbound
Set to true to use for inbound Messages.
<true>
Outbound
Set to true to use for outbound Messages.
<false>
Element
The field on the source/target table this Field record is mapped to.
'Description'
Property*
The property in the payload the data will be written to.
Automatically populated
Description
Describe what this field is for and any specific details that might help you in future.
'The incident's description'
Message*
The Message this Field record is linked with.
'CreateIncident'
Description
The description of this Field record.
'The incident number sent as the correlation id'
Active*
Set to true to use this Field record for processing.
<true>
Field map
The Field Map this Field record is linked with.
'PI - String'**
Map to field*
Use this Field record to represent a field on a source/target table.
<true>
Table*
The primary source/target table that this Field record is mapped to.
'Incident' [incident]
Element
The field on the source/target table this Field record is mapped to.
'Number'
Property*
The property in the payload the data will be written to.
'correlation_id'
Inbound*
Set to true to use for inbound Messages.
<false>
Outbound*
Set to true to use for outbound Messages.
<true>
Path
Where in the payload the data will be placed.
[Blank]
Inbound
Set to true to use for inbound Messages.
<false>
Outbound
Set to true to use for outbound Messages.
<true>
Caller | Person who reported or is affected by this incident. | <Your Caller> |
Short description | A brief description of the incident. | <Your Short description> |
Description | Detailed explanation on the incident. | <Your Description> |