Dynamic Record Linking


Introduction

Use Dynamic Record Linking when you want to associate (link) pre-existing objects between two systems. 

ConnectALL supports two record linking strategies: 

  • In the Regular Linking Strategy, ConnectALL keeps associated objects in sync only after it creates the associated object in the other system.
  • With the Dynamic Record Linking Strategy, ConnectALL does not have to create any objects to keep them in sync. The intent of Dynamic Record Linking is to associate existing records and sync only the updates in one or both directions. With this strategy, ConnectALL learns which objects are related via external object IDs stored in one or both systems. 

Dynamic record linking allows the users to map existing records (in source and destination applications) for syncing updates without ConnectALL having to create new records on either side.

Configuration

Steps to configure an application link to use Dynamic Record Linking:

  1. Configure sync operations 
  2. Choose the record linking strategy
  3. Map the record linking fields

1. Configure sync operations

In the Flow Properties section of the "Entity Mapping" tab, you will see the sync operations to choose. If you do not want ConnectALL to create any new records, uncheck the "Create" option for both applications as shown below. 

Uncheck the Create sync operation under an application in Entity Mapping to inform ConnectALL to not create any new records in that application.

If the "Create" operation is selected along with the Dynamic linking feature, ConnectALL will create a new record if the linking record ID field is empty or null.

2. Choose the record linking strategy

The next step is to choose a record linking strategy. By default, ConnectALL assumes the application link is configured with a regular strategy. Set the Record Linking Strategy to Dynamic. 

If the record linking strategy is set to "Regular", you will not be able to save an application link without selecting the "Create" sync operation for at least one application.

3. Map the record linking fields

Record linking fields are (usually custom) fields used to store the record ID of the linked record in the other application. For example, you might create a custom field named 'External ID' in the destination application. In your Integration, map that field to the key/id field of the source application. Similarly, create a field in the source application to store the key/id from the destination application. After creating these fields, save your Integration. 

Linking Records

Once the application link is created with the Dynamic Record Linking strategy, go to a record you would like to link and add the destination record ID that you would like this record linked to. For example, suppose a Jira bug called "DEMO-88" should be linked with the ALM record "1420." Enter the ALM record ID in the CA_External_Id field which was mapped in the application link as shown above. 

Jira Record

ALM Record

After the sync, ConnectALL will link the DEMO-88 and ALM 1420 records together, and updates to these records will flow through thereafter. 

This works for the Universal Adapter as well. Simply provide the other system's record id in the appropriate field in your JSON payload.

Error Scenarios

If by any chance ConnectALL is not able to save the record link, an email notification is sent out describing the reason of the failure. Based on the sync operation selected (i.e. Create and/or Update), either it will ignore the record or proceed to create a new record.

Sample Email Notification

Error Notification

Linking Scenarios

ConnectALL validates record IDs by retrieving the record from the destination application before linking it. Consider these scenarios:

ScenarioResult
The record ID entered in the record linking field is valid. (The corresponding record exists in the other application, and is not already linked by ConnectALL to another record.)ConnectALL will link these two records and keep them in sync.

The record ID entered in the record linking field is not found in the other application.

ConnectALL will raise an alarm and send an email notification. The linking is ignored.
The record ID entered in the record linking field is already linked with another record.ConnectALL will raise an alarm and send an email notification saying that this record is already linked to another record. ConnectALL will ignore the attempted linking. 
The destination record is already linked to some other record and its record linking field has a different record ID than that of the source.ConnectALL will raise an alarm and send an email notification. The linking is ignored.
A record is modified (causing ConnectALL to attempt to sync it to another system) but its record linking ID field is empty, and the Sync Operation "Create" is selected.ConnectALL will create a new record in the destination, and link it to this record. It will also try to update the source record with the newly created record ID.