Skip to main content

Persisted State Changes

The Persisted State Changes mapping (persistedstate) detects whether specific fields have changed by inspecting the message history.

It checks the following sections of the message:

  • history/updated
  • history/inserted
  • history/deleted

If any of the configured fields appear in these history sections, the message is considered updated and continues through the workflow.

If none of the monitored fields appear in the history, the message is automatically discarded.

This mapping requires that the incoming message already contains history information. Add history information by checking the Include history checkbox in the mapper.

Attributes for Persisted State Change Mapping

AttributeRequiredDescription
FromYesDefines the source field for the mapping.
ToYesDefines where the result should be inserted.
PrecedenceYesDetermines the order in which this mapping is applied relative to others.
Function TypeYesMust be "Enrichment/lookup functons"
FunctionYesShould be set to "Persisted State Changes"
FieldsYesA list of fields separated by ; that should be checked for changes in the message history.

How It Works

  1. The mapping reads the configured Fields list.
  2. Each field is checked in the message history under:
    • history/updated/<field>
    • history/inserted/<field>
    • history/deleted/<field>
  3. If any field is found in the history, the message continues through the workflow.
  4. If none of the fields appear in the history, the message is automatically discarded.

Example

Fields configuration status;priority;assigned_to

Behavior:

  • If history/updated/status exists → message continues
  • If history/inserted/priority exists → message continues
  • If history/deleted/assigned_to exists → message continues

If none of these fields exist in the history sections, the message is discarded.

Typical Use Cases

  • Detecting updates when the source system provides field change history
  • Filtering polling results to process only modified records
  • Avoiding unnecessary processing of unchanged data
  • Optimizing integration performance by discarding irrelevant messages

Options for state change

MappingHow it detects changes
In-memory State ChangeUses an internal cache
Persisted State ChangeUses message history