Service Bridge and Child Accounts

MattSN
Mega Sage
Mega Sage

Does Service Bridge support integration with child customer accounts that use a common ServiceNow instance?

 

Example:
Customer = Boxeo
Customer Child = Boxeo US
Customer Child = Boxeo CA
Both Customers are using the same ServiceNow Instance = boxeo.service-now.com


Setting up Service Bridge to connect to this companies instance requires setting a company on the connection record. If the company is set to Boxeo on the Service Bridge connection, Tasks with the company set to Boxeo US or Boxeo CA cannot be integrated through ServiceBridge. The response is "Task must have company or account field associated with a service bridge consumer to create a remote task". The only option is to set the company on the record to Boxeo which leads to innaccurate task data.

 

Service Bridge also doesn't allow multiple connections to an instance where you could create a second connection for each child company. Hoping the ServiceNow Service Bridge team can provide some clarity or options?

9 REPLIES 9

MattSN
Mega Sage
Mega Sage

@Mike Edmonds? I believe you may be the resident SN TMT product guru?

Ryan Palamara
ServiceNow Employee
ServiceNow Employee

Hi Matt, OOTB Service Bridge is set to use one Account/Company per connection. Expanding this to allow multiple Accounts/Companies to be associated to a connection is a product idea that we have on the backlog, so keep an eye out for this OOTB in the future. 

 

In the meantime, you can make add some customizations to accomplish this with Remote Task and here is the general approach. As with anything custom, please test in your environment and make sure that you validate that it is problem free with any patch or upgrade. 

 

First lets go over the behavior expected by Remote Task on the Provider and Consumer. On the Provider Instance, Service Bridge expects the Remote Task company field to match the Connection record company field. On the Consumer instance, it is different and relies on the Provider Connection to identify where to send updates, so there is not the same dependency. To initiate the Remote Task process on a Provider instance from a task, such as an Incident, a Remote Task record needs to be created with the Company, Connection, Parent, and Remote Task Definition fields filled in. From there the Service Bridge logic will kick in and use the Remote Task Definition (RTD) defined to send the information to the Consumer using the field mappings and transforms in the RTD.

 

So here is how you can approach this. 

  1. The OOTB action in Flow Designer of "Create remote task for Consumer" will create a Remote Task record and fill in the Company, Connection, and Parent based on the task that it triggers from in a flow, with the RTD being selected during the configuration of the Flow/Action. What you will want to do is configure a similar Action that you can use in your Flows. However you will want to adjust it so the Company field is selectable during configuration and the Connection record will be populated based on the Company selected. The Parent field logic can be reused to use the task that triggered the flow and the RTD will be selectable. Please pay attention to the OOTB Action logic for selecting the RTD, it is actually selecting the Identity record which then looks up the most recent RTD revision at run time. If you select the RTD directly, the action will stop working if there is a revision to that RTD.
  2. Make sure that you are using capturing the Account/Company field from the parent task in the RTD. This will be used on the Consumer side to set the Account/Company field on their instance. 
  3. On the Consumer instance a Business Rule will need to be configured to set the company filed using the value that is sent in the RTD payload. You will want to create a Before BR that runs at an order above 100, which is where the OOTB logic sets the Remote Task company field based on the connection.  In the BR you will need to parse the inbound_vars_json to get the company value that was captured. If the sys_ids match between instances you can simply set the company field by the sys_id sent over. If not a query will need to be created to use the name or some other correlation identifier. 

And that is it. An example of what we would expect afterwards, is on the Provider an Incident is created for Boxeo US which triggers the custom action. A Remote Task will be created under the company of Boxeo. On the Consumer instance a Remote Task will be created for Customer A and it will create an Incident for Customer A. 

 

I hope that this helps, please let us know if you have any questions. I will work on putting some additional write up together on this with more detail in the next few weeks. 

Thanks @Ryan Palamara for sharing this detailed explanation! It is good to know that this custom option exists. One of the awesome benefits of SB is the limited reliance on customer side configuration so hoping to see this implemented in the product vs having to add custom code into the consumer instance.

Ryan Palamara
ServiceNow Employee
ServiceNow Employee

100%!! We view that as a key pillar of Service Bridge, that there is minimal configuration on the customer instance. When this planned functionality is released OOTB in the product in a future release, we will post to this community to let everyone know.