Transformer Reference
Reference guide for supported transformation functions and parameters for attribute transformers
This page includes a comprehensive list of all supported transformer functions and parameters. Some commonly used transformation functions include:
Replacing a character with a different one
Removing domains from email addresses
Transforming to upper, lower, camel, or snake case
Using a substring from the original value
See Attribute Sync and Transformers for more information about using attribute transformers to update or create attributes in downstream systems based on changes in your source of identity.
APPEND
APPEND
This transformer enables string concatenation by appending text to the end of attribute values during identity provisioning workflows.
Parameter Format
Characters (STRING, required)
Usage Example
Input:
{john | APPEND, "." | APPEND, "{smith}"}@company.com
Output:
ASCII
ASCII
Removes non-printable characters and replaces non-ASCII characters with their closest ASCII equivalents.
Note: The ASCII transformer performs operations on the base level, not the extended set.
Parameter Format
Characters (STRING, required)
Usage Example
Input:
{firstname | ASCII, "Łukasz Gruba"}
Output:
Lukasz Gruba
ASSUME_TIME_ZONE
ASSUME_TIME_ZONE
Interprets the incoming time string as if it were in the specified time zone, then converts it to a UTC time. (example: if the input is "1/2/2025 11pm" and the defined time zone is "America/Los_Angeles" the function will treat "1/2/2025 11pm" as local time in Los Angeles and output the corresponding UTC time "1/3/2025 7am")
Parameter Format
String - Time Zone String (Optional) - Format
Usage Example
Input:
{activation_date | ASSUME_TIME_ZONE, "America/Los_Angeles"}
{activation_date | ASSUME_TIME_ZONE, "America/Los_Angeles", "RFC3339"}
{activation_date | ASSUME_TIME_ZONE, "-07:00"}
{activation_date | ASSUME_TIME_ZONE, "-07:00", "RFC3339"}
COUNTRY_CODE_ISO3166
COUNTRY_CODE_ISO3166
Transforms country code to ISO 3166 format.
ISO 3166 defines codes for the representation of country names, dependent territories, and their subdivisions
Parameter Format
Format (STRING, optional): [alpha2, alpha3, numeric], defaults to alpha2
Usage Example
Input:
{COUNTRY_CODE_ISO3166, "US", alpha3}
Output:
USA
DATE_ADJUST_DAY
DATE_ADJUST_DAY
Adjusts date value based on hour, day, month, year inputs provided (example: 2021-01-01 00:00:00 with a DATE_ADJUST of "+1,2,3,-1" becomes "2020-04-03 01:00:00").
Parameter Format
Integer - date
Integer - hour
Integer - day
Integer - month
Integer-year
String (Optional) - Format
Usage Example
Input:
{activation_date | DATE_ADJUST,+1,2,3,-1}
{activation_date | DATE_ADJUST,+1,2,3,-1, "RFC3339"}
{activation_date | DATE_ADJUST,+1,2,3,-1, "2006-01-02T15:04:05Z07:00"}
DATE_FORMAT
DATE_FORMAT
Transforms dates to a different format using Go time layout syntax.
Parameter Format
Output Layout (STRING, required): Go time layout for output format. Input Layout (STRING, optional): Go time layout for input format
Usage Example
Input:
{start_date | DATE_FORMAT, "01/02/2006"}
Output:
This transformer formats date as MM/DD/YYYY
FROM_ENTITY_ATTRIBUTE
FROM_ENTITY_ATTRIBUTE
Transforms a string from an attribute of another entity in the graph.
Parameter Format
EntityType (STRING, required)
SourceAttribute (STRING, required),
TargetAttribute (STRING, required)
Usage Example
Input:
{FROM_ENTITY_ATTRIBUTE, "Employee", "ID", "ManagerID"}
Output:
Manager ID (for the employee)
LANGUAGE_RFC5646
LANGUAGE_RFC5646
Transforms language to RFC 5646 format.
RFC 5646 defines "Tags for Identifying Languages." It does not contain a fixed, exhaustive list of language codes within the RFC itself. Instead, it specifies the structure and rules for constructing language tags, which are then built using codes from various external standards and registries.
Parameter Format
Characters (STRING, required): String of a language name
Usage Example
Input:
{LANGUAGE_RFC5646, "Spanish"}
Output:
es
NEXT_NUMBER
NEXT_NUMBER
Generates a set of integers as strings.
Parameter Format
Integer (NUMBER, required), Length (NUMBER, required)
Usage Example
Input:
{NEXT_NUMBER, 2, 3}
Output:
"", "2", "3", "4"
Note: This transformer can also be used within a IF/ELSE conditional transformer for intelligent username generation with automatic fallback strategies.
NEXT_NUMBER Max Length
NEXT_NUMBER Max Length
This transformer supports an optional maximum length parameter to simplify complex username generation workflows. It automatically evaluates combined strings (such as {first_name}_{last_name}) and truncates to specified character limits before appending numerical suffixes.
Generates a set of integers as strings.
Parameter Format
Integer (NUMBER, required), Length (NUMBER, required)
Usage Example
Input:
{foobar | NEXT_NUMBER 1, 12, 4}
Output:
foob foo1 foo2 foo3 foo4 foo5 foo6 foo7 foo8 foo9 fo10 fo11 fo12
PHONE_NUMBER_E164
PHONE_NUMBER_E164
Transforms a phone number into the E.164 format.
E. 164 numbers are formatted [+] [country code] [subscriber number including area code] and can have a maximum of fifteen digits. Parameter Format
Region (STRING, optional): ISO 3166-1 alpha-2 format
Usage Example
Input:
{PHONE_NUMBER_E164, "+1-800-555-1212"}
Output:
+18005551212
RANDOM_INTEGER
RANDOM_INTEGER
Generates a random integer value between specified minimum and maximum values (inclusive).
Parameter Format
Min (NUMBER, required): The minimum value of the random integer
Max (NUMBER, required): The maximum value of the random integer
Usage Example
Input:
{| RANDOM_INTEGER, 1, 100}
Output:
42
Input:
Veza{| RANDOM_INTEGER, 3, 5}
Output:
Veza4
Note: This transformer does not require an input value but generates a random integer within the specified range. The generated value is appended to any existing string value. The range is inclusive, meaning both min and max values can be generated.
REMOVE_CHARS
REMOVE_CHARS
Removes all instances of specified characters from a string.
Parameter Format
Characters (STRING, required): Characters to be removed
Usage Example
Input:
{REMOVE_CHARS, "[email protected]", "@", "."}
Output:
FirstLastexamplecom
REMOVE_DOMAIN
REMOVE_DOMAIN
Removes the domain from an email address.
Parameter Format
Characters (STRING, required)
Usage Example
Input:
{REMOVE_DOMAIN, "[email protected]"}
Output:
pennylane
SPLIT
SPLIT
Splits a string and returns the string at the given index.
Parameter Format
Split String (STRING, required), Index (NUMBER, required)
Usage Example
Input:
{SPLIT, "[email protected]", "@", 0}
Output:
first.last
Note: This transformer generated the results where the index starts at zero (0).
UTC_TO_TIME_ZONE
UTC_TO_TIME_ZONE
Interprets the incoming time string as if it were in UTC and then converts it to the specified time zone. (example: if the input is "1/2/2025 11pm" and the specified time zone is "America/Los_Angeles" the function will treat "1/2/2025 11pm" as the UTC time zone and output the corresponding "America/Los_Angeles" time "1/2/2025 3pm") Note: When using the time zone parameter, a named time zone ("America/Los_Angeles") accounts for daylight saving time, whereas a time zone offset ("-07:00") is always calculated from UTC, ignoring daylight saving time.
Parameter Format
String - Time Zone String (Optional) - Format
Usage Example
Input:
{activation_date | UTC_TO_TIME_ZONE, "America/Los_Angeles"}
{activation_date | UTC_TO_TIME_ZONE, "America/Los_Angeles", "RFC3339"}
{activation_date | UTC_TO_TIME_ZONE, "-07:00"}
{activation_date | UTC_TO_TIME_ZONE, "-07:00", "RFC3339"}
Last updated
Was this helpful?