Reltio to Salesforce
You can use hooks such as tenantStreamingVerification, tenantRequestModification, sfdcDataModification, and so on while implementing business logic from Reltio to Salesforce direction.
tenantStreamingVerification
Use this hook to define if the Reltio event needs to be processed.tenantStreamingVerification
is called when the connector processes events generated by the Reltio platform. The events indicate whether a Reltio entity has been created, updated, deleted or merged. In default cases, with no hooks implemented, the connector will process the event by reading the entity and sending it to Salesforce.However, this default process can be customized by implementing the
tenantStreamingVerification
hook. It takes the Reltio entity (in JSON format) as a parameter. It returns a booleantrue
orfalse
, indicating whether the connector proceeds to send the data or stops sending the record to Salesforce.Example:
tenantStreamingVerification (/*Reltio Object JSON*/reltioObject) { this.logging(`Start process for ${reltioObject.uri}`); if (reltioObject.attributes.SFDCSync) { const vs = reltioObject.attributes.SFDCSync; if (Array.isArray(vs)) { for (let i = 0; i < vs.length; i++) { const v = vs[i]; if (v && v['ov'] === true && v['value'] === 'true') { return true; } } } } return false;
tenantRequestModification
With this hook you can modify Reltio data before converting it in the mapper.Before the entity data is converted to a Salesforce object format based on the mapping, you can change values of the entity data through the
tenantRequestModification
hook. It also uses a Reltio entity as an input and output parameter.Example:
tenantRequestModification (reltioObject) { this.logging(`Start process ${reltioObject.uri}`); if (reltioObject && reltioObject['attributes']) { const fnAttr = object['attributes']['FirstName']; if (fnAttr && fnAttr[0].value === 'DEFAULT') { fnAttr[0].value = 'NOT_SET'; } } return reltioObject;
sfdcDataModification
You can modify already converted Reltio data to send it to Salesforce.After the Reltio entity has been transformed to Salesforce object format through the mapping file, you can change the data using the
sfdcDataModification
before it is sent to Salesforce.The hook uses the following parameters:
Table 1. 'relatedObjects' fields in 'to_salesforce' Fields and Applied Checks Parameter Description sfdcRequest
sobject after entity conversion entity
Reltio entity reltioAttribute
Reltio attribute. Exists only after conversion reltio attribute mapped to custom sobject in relatedObjects
mapping. Example: Reltio attributeAddress
mapped to sobjectAddress__c
Example:sfdcDataModification (sfdcRequest, entity, reltioAttribute) { this.logging(`Start process ${sfdcRequest.Name}`); if (sfdcRequest.attributes.type === 'Account') { if (sfdcRequest.Name && sfdcRequest.Name.startsWith('Test_')) { sfdcRequest.OrganizationType__c = 'QA' } } return sfdcRequest;
callbackModification
Update the data before callback, to send it to Reltio.Callback is used when an update is sent from Reltio to Salesforce, and that update also needs to be part of the Salesforce crosswalk maintained for Reltio entity. You can use the
callbackModification
hook to change the data before it is updated in the crosswalk. It takes the entity callback data as the input and output parameter.callbackModification (/*Reltio request*/ callback) { this.logging(`Start process ${callback.uri}`); if (object.type === 'configuration/entityTypes/HCP') { object.attributes['CallName'] = [{ "value": callback.attributes['FirstName'][0]["value"] + '_' + object.attributes['LastName'][0]["value"] }]; } return callback; }