Enable delta handling for Reltio event streams
Configure your integration to detect field-level changes in Reltio and ensure that only meaningful updates are sent to Vault CRM.
Delta handling ensures that only relevant data changes trigger downstream processing. This helps reduce noise, improve performance, and avoid unnecessary updates in Veeva Vault CRM..
This topic explains how to enable and configure delta detection using Reltio queue filters and recipe logic in the Reltio Integration Hub (RIH).
Understand delta detection
Delta detection ensures that integration recipes run only when specified attributes change in Reltio. It allows recipes to ignore updates that don't affect mapped fields.
For real-time event setup, see Configure event queues: SQS, Pub/Sub, or Azure.
Configure external queue streaming in Reltio Tenant Management
This procedure enables real-time event streaming to AWS for use with the Veeva Vault CRM integration. You can choose either a standard object snapshot or enable delta-based change detection.
- Ensure the AWS SQS queue is already created
- Have access to the AWS access key, secret, region, and queue ARN
- Ensure you have Reltio Console access with Tenant Admin permissions
- Sign in to the Reltio Console.
- From the left navigation, select Tenant Management > External Queues.
- Select Add Configuration to start a new setup. The Edit Configuration dialog box opens.
- Enter the following queue connection details in the Edit Configuration dialog box:
- Set Provider to
Amazon SQS. - Enter your AWS Access Key and Secret.
- For Queue Name, enter the topic name or check Use ARN if you prefer to specify the full Amazon Resource Name.
- Choose the Type as
SQS(not required if ARN is used). - Enter the Region where your queue or topic was created (not required if using ARN).
- Set Format to
JSON.
- Set Provider to
- Define the object filter. Use one of the following filters to control which entity and relationship changes trigger events.
- Default object filter (Triggers events for standard HCP, HCO, and relationship types):
(equals(type,'configuration/entityTypes/HCP') or equals(type,'configuration/entityTypes/HCO') or equals(type,'configuration/relationTypes/HCPHasAddress') or equals(type,'configuration/relationTypes/HCOHasAddress') or equals(type,'configuration/relationTypes/HCPisAffiliatedWithHCO') or equals(type,'configuration/relationTypes/OrganizationHierarchy')) - Delta object filter (Recommended for production. Only sends events when listed attributes change.):
(equals(type,'configuration/entityTypes/Organization') and (exists(delta.attributes.Name) or exists(delta.attributes.WebsiteURL) or exists(delta.attributes.Phone.Number) or exists(delta.attributes.Phone.Type) or exists(delta.attributes.OrganizationType) or exists(delta.attributes.Industry) or exists(delta.attributes.KeyFinancialFiguresOverview.SalesRevenueAmount) or exists(delta.attributes.EmployeeDetails.NumberOfEmployees) or exists(delta.attributes.IndustryCode.IndustryCode) or exists(delta.attributes.IndustryCode.IndustryCodeDescription) or exists(delta.attributes.OwnershipStatus) or exists(delta.attributes.Ticker.Symbol) or exists(delta.attributes.Address.AddressLine1) or exists(delta.attributes.Address.City) or exists(delta.attributes.Address.StateProvince) or exists(delta.attributes.Address.Zip.Zip5) or exists(delta.attributes.Address.Country) or not(changes(delta.attributes)))) or (equals(type,'configuration/relationTypes/OrganizationAffiliation')) or (equals(type,'configuration/entityTypes/Individual') and (exists(delta.attributes.Prefix) or exists(delta.attributes.FirstName) or exists(delta.attributes.LastName) or exists(delta.attributes.Email.Email) or exists(delta.attributes.Phone.Number) or exists(delta.attributes.Title) or exists(delta.attributes.Department) or exists(delta.attributes.LeadInformation.LeadSource) or exists(delta.attributes.Phone.Type) or exists(delta.attributes.Address.AddressLine1) or exists(delta.attributes.Address.City) or exists(delta.attributes.Address.StateProvince) or exists(delta.attributes.Address.Zip.Zip5) or exists(delta.attributes.Address.Country) or not(changes(delta.attributes)))) or (equals(type,'configuration/relationTypes/OrganizationIndividual'))Note: The object and type filters shown above are intended for use with Reltio's out-of-the-box integration recipes. If your tenant uses custom entity types or relationships, review and update these filters accordingly to ensure the correct events are streamed.
- Default object filter (Triggers events for standard HCP, HCO, and relationship types):
- Set the type filter. Select the event types to stream:
- ENTITY_CREATED
- ENTITY_CHANGED
- ENTITY_REMOVED
- ENTITY_LOST_MERGE
- RELATIONSHIP_CREATED
- RELATIONSHIP_CHANGED
- RELATIONSHIP_REMOVED
Select all values mentioned above if you are using the standard Reltio–Veeva integration recipes.
- Select the Transmit OV only checkbox to include only operational values.
- Set the payload structure. Choose the payload structure based on the object filter used:
If using this filter... Select this payload type Include these fields Default Snapshot – Selected fields attributes,crosswalks,endObject,startObject,updatedBy,createdBy,type,uriDelta Snapshot with delta attributes,crosswalks,endObject,startObject,updatedBy,createdBy,type,uri, and anydelta.attributes.*if neededAdd the following configuration to the tenant physical configuration understreamingConfigfor the specific messaging queue which is used for Veeva Vault CRM integration. Add theRelationEventsFilteringFieldsconfiguration as followingRelationEventsFilteringFields:[ "updatedTime", "startRefPinned", "updatedBy", "type", "uri", "crosswalks", "endObject", "startObject", "createdBy", "endRefPinned", "analyticsAttributes", "createdTime", "attributes", "endRefIgnored", "startRefIgnored" ]Not filter-dependent Snapshot – All fields Entire object including all attributes. Use with caution due to payload size. Not supported for standard recipes Delta Only changed fields ( delta.attributes.*). Not supported by default Veeva integration.Note: Use "Snapshot – Selected fields" or "Snapshot with delta" depending on whether delta filtering is enabled. Other options are not recommended for Reltio–Veeva integration unless specifically required. - In Event payload fields, ensure all required fields are listed.
- Select the Enable streaming checkbox to activate the stream. The
fields uri,type, objectVersion, andcommitTimeare always required. - Click Save to apply the configuration.
- Return to the External Queues tab and confirm that your new configuration appears with the expected queue name.
- Verify that the status is Active.
- (Optional) Use the API or Integration Hub logs to confirm that entity updates are producing streaming messages.
- Trigger a test update on a record covered by the filter, and confirm that a message appears in the configured queue.
Verify delta detection behavior
- Make an update to a mapped field in Reltio, and confirm the recipe is triggered.
- Make an update to a non-mapped field, and confirm the recipe is skipped.
- Review the recipe logs in Reltio Integration Hub to verify the update was processed based on attribute-level changes.