Where attribute mapping applies. You write attribute mappings when you
connect a source system (the Workday
and BambooHR connectors, which expose
their own fields for you to map. It does not apply to
CSV import: a CSV uses a fixed set of
predefined columns, so there are no expressions to write.
Mapping expressions are written in IQL, the same expression language Iru
uses for application claim and attribute
mapping, Auto Group rules, and
list filters. Here you’ll map a connected source system’s fields into
your directory’s profile attributes;
see IQL expressions for the full
syntax.
How a mapping works
Each row in a mapping pairs one target (an Iru profile attribute) with an expression that draws from the source fields.1
Discover the source fields
Iru reads the set of fields your source makes available. Those field names
become the identifiers you can reference in expressions. See
Directory Sync for how
discovery fits into setup.
2
Write an expression per attribute
For each Iru attribute you want to fill, write an IQL expression. A valid
field name can stand alone. Any other name is looked up on
__source.
Longer expressions combine or transform those values.3
Iru validates it
Expressions are checked as you type and again when you save, so mistakes (an
unknown field, a type error) surface before they ever reach a sync.
4
It runs on every sync
When the sync runs, Iru evaluates each expression against the incoming row and
writes the result to the attribute.
Writing expressions
Expressions reference your source’s fields and can transform them: upper/lower casing, splitting, concatenation, picking a list item, and so on. The full reference (objects, functions, operators, and examples) is on the IQL expressions page, since the same language powers both directory mapping and application mapping. A field name can stand alone when it is a valid IQL identifier. It starts with an ASCII letter or an underscore, and the rest is ASCII letters, numbers, and underscores. A name such asprénom falls outside that set, so it is read from
__source.
in, null, true, or if, look it up by its exact name on
__source. __source is a map of every field from the source. A dot between
valid names reaches a nested value, as in name.givenName. A field name that
includes a dot is still one key: __source["name.givenName"]. Written bare,
Email - Work is subtraction, and in is the membership operator.
__source["…"] when you pick or
type them. A valid name stays bare. You can still write __source["…"] for a
valid name. If the name contains " or \, put a backslash before each one
inside the brackets, as in __source["Title \"Legal\""]. The editor adds that
escape when it rewrites the field. See
Transform values with IQL
for how this works on the Mapping tab.
Blank mapped values
A blank or null mapped value clears the existing value of that custom attribute. The sync continues. For a Boolean, Date, Integer, or Decimal custom attribute, a blank or null mapped value does not fail the sync. When you transform a text field that can be blank, such as splitting an email, guard the value on the Mapping tab.Where to go next
IQL expressions
The full IQL reference: objects, functions, operators, and examples.
Directory Sync
Connect an HR system and set up the mappings these expressions power.
Profile attributes
The targets your expressions write into.
Auto Groups
Another place attributes drive automation in your directory.