Learn the basics of setting up a Remote Process Sync integration in order to link the automated processes among two or more ServiceNow® instances together.

Note: Integration Hub Remote Process Sync requires a subscription to the Integration Hub Enterprise package. For more information, see Request Integration Hub.

Before getting started with your Remote Process Sync integration

Before deciding to move forward with Remote Process Sync as your integration framework, consider how this framework compares to other multi-instance ServiceNow AI Platform® integrations. While solutions such as Instance Data Replication and the Remote Instance spoke support simple multi-instance integrations, Remote Process Sync supports more complex multi-instance integration use cases, focusing on integrating instances by high-level business processes.
Note: Remote Process Sync replaces the eBonding spoke for integrating instances.
Figure 1. Comparison of Instance Data Replication, Remote Instance spoke, and Remote Process Sync
Instance Data Replication and the Remote Instance spoke support simple integrations for an entire table or using Now Platform APIs. Remote Process Sync supports more complex multi-instance integrations.
If you choose to use Remote Process Sync as your multi-instance integration framework, the next step is to learn about the difference between:
  1. Building your integration, and
  2. Managing your integration

Building your integration involves creating and configuring a process sync definition and its related records. For more information on how to get started with building your Remote Process Sync integration, either step through an example of how to Build your first Remote Process Sync integration, or learn about Process sync definitions.

Figure 2. Building your Remote Process Sync integration
Building your Remote Process Sync integration.

Managing your integration involves monitoring the outbound and inbound queues and checking for errors related to any triggered process sync definitions. For more information on how to monitor and check for errors with your Remote Process Sync integration, see Outbound queues and inbound queues and Monitoring and troubleshooting your integration. You may also want to periodically evaluate the outbound and inbound flows that run automatically for your integration and determine whether to make any changes to these flows in Workflow Studio.

Note: Both building and managing a Remote Process Sync integration on your instance also requires that you collaborate effectively with users of the remote instance, or remote instances. Be sure to meet with the stakeholders involved in your integration regularly to plan, manage, and continually improve the automated business processes that your multi-instance integration handles.
Figure 3. Managing your Remote Process Sync integration
Managing your Remote Process Sync integration.

Process sync definitions

A process sync definition contains all of the configurations for your Remote Process Sync integration. Start by creating a new Process Sync Definition record for your integration. Navigate to IntegrationHub > Remote Process Sync > Process Sync Definitions, and then click New. In the Process Sync Definition form, fill in the following fields:
Click Submit, and then you can see your newly created Process Sync Definition record in the list. Next, select the Process Sync Definition record that you just created. You can see that your Process Sync Definition record has the following related lists:
  • Capture Definitions
  • Process Events
  • Remote Systems
  • Outbound Flows
  • Inbound Flows
Refer to the following sections to learn how to set the configurations for each of these related items.

Capture definitions

A capture definition specifies when your instance should send data to a remote instance and what data your instance should send. A capture definition contains the configurations for your process sync definition's trigger and captured fields. The trigger specifies what record operation, such as creating, updating, or deleting a record, causes your instance to send data to a remote instance. When a Capture Definition is triggered, it creates an object from a source record, which contains captured fields. Then, the outbound flow starts running and correlates the captured fields from the source record to fields in a related record on the remote system.

A Capture Definition record has the following fields:

In the Trigger section, choose an authorized source table whose records you want to trigger your process sync definition. You can also add field conditions that, when met, cause your process sync definition to trigger. When the conditions are met for the trigger specified in your capture definition, any outbound flows associated with your process sync definition start running. For more information, see Outbound flows and inbound flows.

Field Description
Source Table Name Choose an authorized table whose records will trigger your process sync definition every time the records are created, updated, and deleted.
Filter Use the condition builder to add conditions that, when met, will trigger your process sync definition. For example, selecting [State] > [is] > [Work In Progress] causes your process sync definition to trigger every time a record in your selected table's State is updated to Work In Progress.

Lastly, in the Capture section, add fields to the Selected list that you want to include in the payload for your outbound flow.

Field Description
Include fields Add fields to the Selected list which you want to sync with fields in the remote instance every time your process sync definition triggers. Use the add item icon (Add item icon) to add fields from the Available list to the Selected list.
Note:
  • When your integration runs, the outbound payload that is sent to remote instances always contains these captured fields, regardless of whether they were updated or not.
  • You can map these captured fields to fields in the remote instance by configuring mappings in the remote instance's inbound flow that is associated with the same process event. For more information, see Outbound flows and inbound flows.
Include Attachments If selected, any attachments that are associated with triggering records on your local instance will sync with attachments in correlated records on the remote instance. For more information, see
Note: RPS captures both interactive and non-interactive changes. You can configure RPS to ignore non-interactive changes, such as changes made via a scheduled job, by setting the glide.hub.process.sync.capture.non_interactive.changes property to false. For more information, see the How to configure Remote Process Synchronization (RPS) framework to ignore non-interactive changes to records [KB1565025] article in the Now Support Knowledge Base.

Process events

A process event specifies which part of your business process begins in your local instance and ends in the remote instance. The Process Event record in your local instance and in the remote instance should have the same name because the process event signifies the link between these instances that allows them to share parts of the same business process. A Process Event record has the following fields:

Field Description
Name Enter a name that describes the part of your business process that begins in your local instance and ends in the remote instance. For example, if users in your instance request software that will be provisioned in the remote instance, you can name the process event User requests software.
Note: An administrator for the remote instance, or remote instances, must also create a process event with the same name that you use here. Creating these process events in separate instances creates the logical link that allows you to integrate data among multiple instances.
Application Automatically set to your current application scope.
Domain If your process relates to a specific domain, choose a domain other than global. For more information, see Domain separation for service providers.

Remote systems

A remote system contains the configurations for the outbound and inbound connections related to another ServiceNow instance. A Remote System record has the following fields:

Note: After creating a Remote System record with the appropriate fields filled in, you must then click the Validate and Activate Remote System related link. Clicking this link checks that you can successfully connect to the remote instance and then activates the outbound and inbound connections.

After creating a Process Event record and a Remote System record, you can then associate Workflow Studio subflows with these records so that automated actions run whenever your process sync definition triggers.

Outbound flows and inbound flows

An outbound flow specifies which Workflow Studio subflow your instance uses to:
  1. Process local data, as fields captured in the capture definition, that will be sent to the remote instance
  2. Correlate this data with data on the remote instance
  3. Send this data to the remote instance

An Outbound Flow record has the following fields:

An inbound flow specifies which Workflow Studio subflow your instance uses to:
  1. Correlate data on the local instance with the data sent from the remote instance
  2. Map fields sent from the remote instance to fields on the local instance
  3. Process data sent from the remote instance to the local instance

An Inbound Flow record has the following fields:

Note: Each outbound flow and inbound flow must always be associated with one process event and one remote system only.

Before simply choosing the system-provided Remote Process Sync Outbound Flow Template - Basic or Remote Process Sync Inbound Flow Template - Basic subflows for your process sync definition, you may want to customize these subflows in Workflow Studio.

Syncing attachments

you can choose to send attachments associated with your local record by using the Include Attachments option in your capture definition. However, Remote Process Sync handles attachments differently from other data in your integration due to security and attachment file size issues:
  • The first time that a record in your integration syncs, all attachments are sent in the outbound payload. Subsequent syncs can send either changes to attachments or all attachments.
  • Attachment metadata is always sent with the outbound payload. This metadata includes an encrypted synthetic key, hash, file name, content type, and size.
  • The remote instance decides which attachments to receive by comparing each hash and file name from the inbound payload to those on the instance. Then, the following process occurs:
    1. The originating system validates the key and pushes attachments to the correlation record.
    2. The originating system notifies the remote system that the attachments are complete.
    3. The remote system moves the attachments from the correlation record to the target record.

Syncing comments and work notes

In your integration, comments and work notes are synced among instances only when changes occur to those journal fields. Change metadata is included in payloads so that remote systems can identify which user created the comment or work note and when it was created.

Outbound queues and inbound queues

After building your Remote Process Sync integration by creating and configuring the records mentioned in the previous sections, you can then manage your integration by monitoring the outbound queue and inbound queue in your instance.

An outbound queue contains the status, error information, retry data, and flow context information for outbound subflows that ran for data that was sent out of your instance. To view the records in your outbound queue, navigate to IntegrationHub > Remote Process Sync > Outbound Queue State.

An Outbound Queue State record has the following fields:

Note: You can get more detailed troubleshooting information for outbound payloads in associated Outbound Queue records. To access these records, navigate to IntegrationHub > Remote Process Sync > Outbound Queue.

An inbound queue contains the status, processing sequence, and correlation information for inbound subflows that ran for data that was sent from a remote instance to your local instance. To view the records in your inbound queue, navigate to IntegrationHub > Remote Process Sync > Inbound Queue.

An Inbound Queue record has the following fields:

Note: Both the Outbound Queue and Inbound Queue tables are maintained by table cleaners that remove records from these tables every 30 days.

Monitoring and troubleshooting your integration

You can use the following tables to monitor your Remote Process Sync integration, once it is built and running:
If an error occurs with your Remote Process Sync integration, begin by confirming whether the error is a connection error or a data processing error:
Connection errors
Outbound connection errors automatically retry several times before setting the Remote System record's Outbound State to Error. If errors keep occurring for an outbound connection, confirm that nothing has changed with the Remote System's Inbound API User, such as a change in the user's credentials. Then, validate and activate the Remote System record again.
Data processing errors
Data processing errors typically occur as a result of errors in an outbound flow or inbound flow. To troubleshoot these errors, you can add error handling actions to your flow, such as a Log action or Send Email action, when the flow's State changes to Error. You can also add actions that reprocess or skip processing of records in the Outbound Queue or Inbound Queue tables if an error with the flow occurs.