Tools – Delta Analysis

Estimated reading time: 2 min

Compares two arrays that represent different versions of the same dataset. It determines what needs to change so both arrays become aligned. It identifies which elements must be created, updated, or deleted based on a shared identifier.

This Tool is used when an existing list of records already exists and a new list represents the desired state. Instead of processing all records again, Delta Analysis calculates only the differences between the two arrays.

How Delta Analysis works

You provide two arrays:

  • The Current Array represents the existing state.
  • The New Array represents the updated or expected state.

Each array must contain a unique identifier for each element. The Id Path fields define where that identifier is located inside each object.

The Tool compares both arrays using this identifier and determines how records should be aligned between the two datasets.

The output is then structured based on the selected Upsert Mode and Effective Update Filter Mode.

Upsert Mode behavior

Delta Analysis supports two Upsert Mode options:

Group under Upsert
Records that exist in both arrays are grouped into a single upsert result. The Tool does not separate create and update actions. The decision to create or update is handled by the downstream Upsert Method.

This mode is used when the target system supports upsert logic or when the Flow ends with a single Upsert Method.

Split into Create & Update
The Tool separates the results into distinct groups.

  • Items to create exist only in the new array.
  • Items to update exist in both arrays but have different content.
  • Items to delete exist only in the current array.

This mode is used when the target system requires separate Create and Update Methods or when different logic is needed for each operation.

Effective Update Filter Mode

The Effective Update Filter Mode controls when a matching record should be considered updated. It helps prevent unnecessary updates when data has not meaningfully changed.

Four filter modes are available:

  • Filter by version or timestamp (newer versions only)
    • Only updates records if the new version or timestamp is more recent than the current one.
    • This mode is used for incremental synchronization based on versioning or last-modified dates.
  • Filter by version (different version)
    • Updates records only when the version value is different, regardless of which one is newer.
    • This mode is used when any version change must trigger an update.
  • Filter by field comparison
    • Updates records only when selected field values differ between the current and new arrays.
    • This mode is used when only specific fields should trigger updates.
  • Keep all records
    • Does not filter updates. All matching records are treated as updates.
    • This mode is used when full updates are required or filtering is handled elsewhere.

Field explanations

Delta Analysis tool configuration panel showing fields to compare a current array and a new array. The screen includes inputs for current array and JSON path, new array and JSON path, upsert mode selection, effective update filter mode, and optional version paths for current and new arrays.
  • Current Array
    The existing list of objects. This is usually retrieved from an external system.
  • Current Array Id Path
    The path to the unique identifier inside each object of the current array.
  • New Array
    The incoming list of objects that represents the target state.
  • New Array Id Path
    The path to the unique identifier inside each object of the new array.
  • Upsert Mode
    Controls how matching records are grouped in the output. It defines whether results are grouped under upsert or split into create and update operations.
  • Effective Update Filter Mode
    Controls when matching records are considered updated. It helps avoid unnecessary updates.

Current Array Version Path and New Array Version Path
Used when filtering by version or timestamp. Updates occur only when the new value meets the selected filter condition.

Typical use cases

  • Synchronizing product lists between two systems while creating new items, updating changed ones, and removing obsolete entries.
  • Keeping membership lists aligned, such as users, subscriptions, or associations.
  • Applying incremental updates based on version, timestamp, or field-level changes.