field

The field Instruction copies a value from the input Record to a Name in a Destination.

As it is the most common Instruction, the action property may be omitted.

source The property in the input Record.
destination The Destination to store the value in.
name The Name within the Destination to store the value in.
multivalue (Optional) If true, then the value is added to a multi-value name instead of replacing any existing value.

In addition, value conversion properties can be added, especially value filters, date formats, value mapping, and ref mapping.

Example: single value

To set username within the user Destination using the value of the ID property in the input Record:

{
    "source": "ID",
    "destination": "user",
    "name": "username"
}

Example: mapping to ref

To set an organisational unit in the user’s profile, mapping a code from the input:

{
    "source": "orgUnit",
    "destination": "profile",
    "name": "example:attribute:organisational-unit",
    "refMapping": "organisational-unit"
}

Example: working with multi-values

By default, new values are added to existing values in multi-value Names instead of replacing them. To replace the existing values instead, use a remove-values Instruction, demonstrated in this example.

First, this example removes existing values in the job title field of profiles. Then it uses the if-value-one-of Instruction so that, if the profile’s role is researcher, the title “Additional job title” should be added with the set-value action. Finally, it adds a additional job titles from the corresponding source in the input Record using a field Instruction.

{
    "action": "remove-values",
    "destination": "profile",
    "name": "std:attribute:job-title"
},
{
    "source": "ROLE",
    "action": "if-value-one-of",
    "values": ["RESEARCHER"],
    "then": [
        {
            "action": "set-value",
            "destination": "profile",
            "name": "std:attribute:job-title",
            "value": "Additional job title",
            "multivalue": true
        }
    ]
},
{
    "source": "JOB_TITLE",
    "destination": "profile",
    "name": "std:attribute:job-title",
    "multivalue": true
}