Unify and manage your data

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.

Before you begin:
  • 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
  1. Sign in to the Reltio Console.
  2. From the left navigation, select Tenant Management > External Queues.
  3. Select Add Configuration to start a new setup. The Edit Configuration dialog box opens.
  4. 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.
  5. 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.
  6. 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.

  7. Select the Transmit OV only checkbox to include only operational values.
  8. Set the payload structure. Choose the payload structure based on the object filter used:
    If using this filter...Select this payload typeInclude these fields
    DefaultSnapshot – Selected fieldsattributes, crosswalks, endObject, startObject, updatedBy, createdBy, type, uri
    Delta Snapshot with deltaattributes, crosswalks, endObject, startObject, updatedBy, createdBy, type, uri, and any delta.attributes.* if needed
    Add the following configuration to the tenant physical configuration under streamingConfig for the specific messaging queue which is used for Veeva Vault CRM integration. Add the RelationEventsFilteringFields configuration as following RelationEventsFilteringFields:
    [
                            "updatedTime",
                            "startRefPinned",
                            "updatedBy",
                            "type",
                            "uri",
                            "crosswalks",
                            "endObject",
                            "startObject",
                            "createdBy",
                            "endRefPinned",
                            "analyticsAttributes",
                            "createdTime",
                            "attributes",
                            "endRefIgnored",
                            "startRefIgnored"
                        ]
    
    Not filter-dependentSnapshot – All fieldsEntire object including all attributes. Use with caution due to payload size.
    Not supported for standard recipesDeltaOnly 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.
  9. In Event payload fields, ensure all required fields are listed.
  10. Select the Enable streaming checkbox to activate the stream. The fields uri, type, objectVersion, and commitTime are always required.
  11. Click Save to apply the configuration.
  12. Return to the External Queues tab and confirm that your new configuration appears with the expected queue name.
  13. Verify that the status is Active.
  14. (Optional) Use the API or Integration Hub logs to confirm that entity updates are producing streaming messages.
  15. 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

After enabling these settings, follow these steps to confirm that your changes are working as expected.
  1. Make an update to a mapped field in Reltio, and confirm the recipe is triggered.
  2. Make an update to a non-mapped field, and confirm the recipe is skipped.
  3. Review the recipe logs in Reltio Integration Hub to verify the update was processed based on attribute-level changes.