Skip to main content Skip to footer

Property Mapper Documentation

Version: 5.0.0

Retrieved: 2025-10-09 15:16:11


Property Mapper

The module is used to manipulate properties on an existing object. The operations are executed in the order: Move, Remove, Add.

This module is designed to be located in the middle of a flow.

Settings

Name Requirements Purpose Default
Keep Properties true/false If true all properties not renamed or removed will be included in the output. False will only include properties renamed or added.  
Move Dictionary string,string Left is current name, right is new name.  
Remove string The names of the properties to remove.  
Add Dictionary string,string Left is name, right is value.  

Input

Any object from a previous module.

Output

The output will be a result of all the properties moved and added (removed properties excluded).

Example 1 - Move

We have an input with a few properties describing a person. These are too long and in the wrong place. We want to move them to a person object. The foo property is not of interest and will be ignored since we do not map it.

# Settings
Mapping = [{'tooLongNameProperty','person.name'}, {'tooLongAgeProperty','person.age'}]

# Input
{'tooLongNameProperty':'Senior Developer', 'tooLongAgeProperty':90, 'foo':'bar'}

# Output
{person:{'name':'Senior Developer', 'age':90}}

Note that this functionality allows you to move properties to another location, not only rename at the existing location.

Example 2 - Remove

The names of the incoming properties are fine, but we do not want to keep the city and the country properties.

# Settings
Remove = ['city','country']

# Input
{'name':'steve', 'age':23, 'country':'Sweden', 'city':'Stockholm'}

# Output
{'name':'steve', 'age':23}

Example 3 - Add

The names of the incoming properties are fine, but we want to add a number, a boolean and a string.

# Settings
Add = [{'age','23'},{'authenticated':'true'},{'id':'abc123'}]

# Input
{'name':'steve'}

# Output
{'name':'steve', 'age':23, 'authenticated':true, 'id':'abc123'}

Note that the mapper will try to convert into the correct data types (string, int, double, bool).

Example 4 - Add from existing properties into a new format

You can add new properties/objects by using existing data on the incoming message.

# Settings
AddProperty = '{category}.{name}'
AddValue = '{value}'

# Input
{
  'category':'engine',
  'name': 'temp',
  'value': 23
}

# Output
{
  'category':'engine',
  'name': 'temp',
  'value': 23,
  'engine':{
    'temp': 23
  }
}