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 Transformers for more information about using attribute transformers to update or create attributes in downstream systems based on changes in your source of identity.
Understanding the Attribute Transformer Interface
When configuring attribute transformers in Lifecycle Management policies, you work with three key fields:
Destination Attribute
A Destination Attribute is a target-system attribute that Lifecycle Management creates or updates (e.g., email, username, first_name).
Lifecycle Management uses the Destination Attribute when you build a transformer or Sync/Deprovision action. You select a Destination Attribute (from the target entity type), then supply a Formatter (a fixed value, a {source_attribute}, or a transformation pipeline). Destination Attributes can be configured for continuous sync, used by action-level or common transformers, and referenced with $target inside the same action.
Formatter
A Formatter defines the exact value or expression used to populate a target attribute (Destination Attribute) when provisioning or syncing identities.
Formatters can be a fixed literal, a reference to a source-of-identity attribute (e.g., {first_name}), or an expression that applies transformation functions and pipelines (e.g., {email | REMOVE_DOMAIN | LOWER}).
They're configured on transformers used by Sync/Deprovision actions and control continuous sync behavior, fallbacks, and uniqueness.
The base transformation expression that defines how to construct the attribute value. This field can contain:
- Source attribute references: - {first_name},- {email}
- Static text and source attributes combined: - {first_name}.{last_name}@company.com
- Static values only: - "Veza"or- true
- Conditional logic: - IFstatements with comparison operators
Pipeline Functions
A Pipeline Function is a chained sequence of attribute formatters that run in order using the pipe (|) operator.
Pipeline Functions take the output of one formatter as the input to the next, letting you build multi-step transformations (for triggers, transformers, and formatter fields). They are used in workflow trigger conditions and transformer attributes to normalize, format, or compute values (for example: {department | TRIM | UPPER} or {hire_date | DATE_FORMAT, "2006-01-02"}).
Optional transformation functions applied after the Formatter. Multiple functions are chained using the pipe (|) character, with each function's output becoming the next function's input. Examples:
- | LOWER
- | ASCII | REMOVE_WHITESPACE
- | TRIM_CHARS, "." | UPPER
At runtime, Veza combines the {Formatter}{Pipeline Functions} fields to create the complete transformation.
Reading the Examples
Each transformer below includes three types of examples:
- Basic Usage: Shows the transformer used alone with a simple source attribute 
- In a Pipeline: Demonstrates chaining multiple transformers together 
- Example: Provides practical context from Lifecycle Management scenarios 
Copy-paste these examples directly into your attribute transformer configuration, adjusting attribute names to match 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)
Basic Usage
- Destination Attribute: - email
- Formatter: - {username}
- Pipeline Functions: - | APPEND, "@company.com"
- Result: If - username=- john.smith, output is- [email protected]
In a Pipeline
- Destination Attribute: - display_name
- Formatter: - {first_name}
- Pipeline Functions: - | APPEND, " " | APPEND, "{last_name}"
- Result: If - first_name=- Johnand- last_name=- Smith, output is- John Smith
Example
- Destination Attribute: - user_principal_name
- Formatter: - {first_name}.{last_name}
- Pipeline Functions: - | LOWER | APPEND, "@contoso.com"
- Use case: Generate standardized email addresses for Azure AD user provisioning 
ASCII
ASCII
Removes non-printable characters and replaces non-ASCII characters with their closest ASCII equivalents. Particularly useful for Active Directory sAMAccountName and other legacy systems with strict character requirements.
Note: The ASCII transformer performs operations on the base level, not the extended set.
Parameter Format
None (no parameters required)
Basic Usage
- Destination Attribute: - username
- Formatter: - {first_name}
- Pipeline Functions: - | ASCII
- Result: If - first_name=- Łukasz, output is- Lukasz
In a Pipeline
- Destination Attribute: - login_name
- Formatter: - {first_name}.{last_name}
- Pipeline Functions: - | ASCII | LOWER | REMOVE_WHITESPACE
- Result: If - first_name=- José María,- last_name=- García, output is- josemaria.garcia
Example
- Destination Attribute: - sAMAccountName
- Formatter: - {first_name}
- Pipeline Functions: - | ASCII | SUB_STRING, 0, 1 | LOWER
- Use case: Generate Active Directory account names that comply with character restrictions while handling international names (converts "Łukasz" to "l") 
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:
{"US" | COUNTRY_CODE_ISO3166, "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. Essential for LDAP integration and standardizing dates across systems.
Parameter Format
Output Layout (STRING, required): Go time layout for output format Input Layout (STRING, optional): Go time layout for input format
Basic Usage
- Destination Attribute: - hire_date
- Formatter: - {start_date}
- Pipeline Functions: - | DATE_FORMAT, "01/02/2006"
- Result: If - start_date=- 2023-03-15, output is- 03/15/2023
In a Pipeline
- Destination Attribute: - formatted_date
- Formatter: - {hire_date}
- Pipeline Functions: - | DATE_FORMAT, "Jan 2, 2006" | REPLACE_ALL, " ", "_"
- Result: If - hire_date=- 2023-03-15, output is- Mar_15,_2023
Example
- Destination Attribute: - accountExpires
- Formatter: - {termination_date}
- Pipeline Functions: - | DATE_FORMAT, "20060102150405Z"
- Use case: Convert dates to LDAP Z time format for Active Directory account expiration (outputs UTC format like - 20230315143025Z)
FIRST_N
FIRST_N
Picks the first N characters of a string. Useful for creating shortened identifiers or initials.
Parameter Format
Length (NUMBER, required): Number of characters to return
Basic Usage
- Destination Attribute: - initial
- Formatter: - {first_name}
- Pipeline Functions: - | FIRST_N, 1
- Result: If - first_name=- John, output is- J
In a Pipeline
- Destination Attribute: - username
- Formatter: - {first_name}.{last_name}
- Pipeline Functions: - | FIRST_N, 1 | LOWER
- Result: If - first_name=- John, output is- j
Example
- Destination Attribute: - username
- Formatter: - {first_name}
- Pipeline Functions: - | FIRST_N, 1 | LOWER
- Use case: Create abbreviated usernames in the format "j.smith" by combining first initial with last name 
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:
{Employee:ID | FROM_ENTITY_ATTRIBUTE, "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
None (no parameters required)
Usage Example
Input:
{"Spanish" | LANGUAGE_RFC5646}
Output:
es
LEFT_PAD
LEFT_PAD
Adds padding characters to the left side of a string until it reaches the specified length. Useful for creating fixed-width identifiers.
Parameter Format
Length (NUMBER, required): Target string length Pad (CHARACTER, optional): Character to use for padding (default is space)
Basic Usage
- Destination Attribute: - employee_id
- Formatter: - {id}
- Pipeline Functions: - | LEFT_PAD, 5, "0"
- Result: If - id=- 123, output is- 00123
In a Pipeline
- Destination Attribute: - formatted_code
- Formatter: - {cost_center}
- Pipeline Functions: - | TRIM_CHARS, "0" | LEFT_PAD, 6, "0"
- Result: If - cost_center=- 001234, output is- 001234(first removes then re-applies padding)
Example
- Destination Attribute: - employee_id
- Formatter: - {employee_id}
- Pipeline Functions: - | REMOVE_CHARS, "#" | TRIM_CHARS, "0" | LEFT_PAD, 6, "0"
- Use case: Standardize employee IDs to 6-digit format (converts "##001234##" to "001234") 
LOOKUP
LOOKUP
Transforms a value using a lookup table defined in your Lifecycle Management policy. Essential for mapping codes to descriptive values or standardizing data across systems.
Parameter Format
Table Name (STRING, required): Name of the lookup table Column Name (STRING, required): Column to search in Return Column Name (STRING, required): Column value to return
Basic Usage
- Destination Attribute: - city
- Formatter: - {location_code}
- Pipeline Functions: - | LOOKUP, "locationTable", "location_code", "city"
- Result: If - location_code=- IL001and locationTable contains that code, output is- Chicago
In a Pipeline
- Destination Attribute: - office_email_domain
- Formatter: - {office_code}
- Pipeline Functions: - | LOOKUP, "officeTable", "code", "domain" | LOWER
- Result: Looks up domain from table, then converts to lowercase 
Example
- Destination Attribute: - office_location
- Formatter: - {location}
- Pipeline Functions: - | LOOKUP, "locationTable", "location_code", "city"
- Use case: Convert abbreviated location codes (like "IL001", "CA002") to full city names for user profiles, maintaining consistency across different source systems 
LOWER
LOWER
Transforms all uppercase characters in a string to lowercase. One of the most commonly used transformers for normalizing usernames and email addresses.
Parameter Format
None (no parameters required)
Basic Usage
- Destination Attribute: - username
- Formatter: - {first_name}
- Pipeline Functions: - | LOWER
- Result: If - first_name=- JOHN, output is- john
In a Pipeline
- Destination Attribute: - email
- Formatter: - {first_name}.{last_name}@company.com
- Pipeline Functions: - | LOWER
- Result: If - first_name=- John,- last_name=- Smith, output is- [email protected]
Example
- Destination Attribute: - login
- Formatter: - {first_name}
- Pipeline Functions: - | SUB_STRING, 0, 1 | LOWER
- Use case: Create standardized Okta login names in format "j.smith" by extracting first initial and converting to lowercase 
NEXT_NUMBER
NEXT_NUMBER
Generates a set of alternative values by appending sequential numbers. Essential for handling unique constraint conflicts during user provisioning. Returns an empty string first, then "2", "3", "4", etc.
Parameter Format
Start Integer (NUMBER, required): First number in sequence Length (NUMBER, required): How many alternatives to generate
Basic Usage
- Destination Attribute: - username
- Formatter: - {first_name}.{last_name}
- Pipeline Functions: - | LOWER | NEXT_NUMBER, 2, 3
- Result: Generates - john.smith,- john.smith2,- john.smith3,- john.smith4as fallback options
In a Pipeline
- Destination Attribute: - email
- Formatter: - {first_name}{last_name}
- Pipeline Functions: - | LOWER | NEXT_NUMBER, 2, 5 | APPEND, "@company.com"
- Result: Creates email alternatives: - [email protected],- [email protected], etc.
Example
- Destination Attribute: - user_principal_name
- Formatter: (see conditional example below) 
- Pipeline Functions: N/A (used within IF statement) 
- Use case: Intelligent username generation with length-based fallbacks: 
IF sys_attr__would_be_value_len le 20
  {first_name | LOWER}.{last_name | LOWER | NEXT_NUMBER, 2, 3}
ELSE IF sys_attr__would_be_value_len le 30
  {first_name | LOWER}.{last_name | LOWER | FIRST_N, 1 | NEXT_NUMBER, 2, 3}
ELSE
  {first_name | LOWER | FIRST_N, 1}.{last_name | LOWER | FIRST_N, 1 | NEXT_NUMBER, 2, 3}This handles both name length constraints and uniqueness conflicts automatically.
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:
{"+1-800-555-1212" | PHONE_NUMBER_E164}
Output:
+18005551212
PREPEND
PREPEND
Adds text to the beginning of attribute values. Useful for adding prefixes like organization codes or type indicators.
Parameter Format
Characters (STRING, required): Text to add at the beginning
Basic Usage
- Destination Attribute: - location_code
- Formatter: - {city_code}
- Pipeline Functions: - | PREPEND, "CORP_"
- Result: If - city_code=- NYC, output is- CORP_NYC
In a Pipeline
- Destination Attribute: - contractor_username
- Formatter: - {username}
- Pipeline Functions: - | PREPEND, "c-" | LOWER
- Result: If - username=- JSmith, output is- c-jsmith
Example
- Destination Attribute: - account_name
- Formatter: - {username}
- Pipeline Functions: - | PREPEND, "c-"
- Use case: Identify contractor accounts by prefixing their usernames (converts "jsmith" to "c-jsmith" to distinguish from employee accounts) 
RANDOM_INTEGER
RANDOM_INTEGER
Generates a random integer value between specified minimum and maximum values (inclusive). Useful for creating unique test IDs or temporary identifiers. Does not require an input value.
Parameter Format
Min (NUMBER, required): The minimum value (inclusive) Max (NUMBER, required): The maximum value (inclusive)
Basic Usage
- Destination Attribute: - test_id
- Formatter: - TEST
- Pipeline Functions: - | RANDOM_INTEGER, 1000, 9999
- Result: Output is - TESTfollowed by random number like- TEST4827
In a Pipeline
- Destination Attribute: - temp_username
- Formatter: - user
- Pipeline Functions: - | RANDOM_INTEGER, 1, 100 | APPEND, "@temp.local"
- Result: Output like - [email protected]
Example
- Destination Attribute: - temporary_id
- Formatter: - TEST
- Pipeline Functions: - | RANDOM_INTEGER, 1000, 9999
- Use case: Generate unique test identifiers for sandbox environments (produces values like "TEST4827", "TEST8391") 
REMOVE_CHARS
REMOVE_CHARS
Removes all instances of specified characters from a string. Useful for cleaning up data and removing unwanted punctuation or special characters.
Parameter Format
Characters (STRING, required): String containing all characters to be removed
Basic Usage
- Destination Attribute: - username
- Formatter: - {email}
- Pipeline Functions: - | REMOVE_CHARS, "@."
- Result: If - email=- [email protected], output is- johndoeexamplecom
In a Pipeline
- Destination Attribute: - phone
- Formatter: - {phone_number}
- Pipeline Functions: - | REMOVE_CHARS, "()- "
- Result: If - phone_number=- (123) 456-7890, output is- 1234567890
Example
- Destination Attribute: - user_id
- Formatter: - {email}
- Pipeline Functions: - | REMOVE_CHARS, "-"
- Use case: Create clean user IDs from email addresses by removing hyphens (converts "[email protected]" to "[email protected]") 
REMOVE_DOMAIN
REMOVE_DOMAIN
Removes the domain portion from an email address, leaving only the username. One of the most frequently used transformers for generating usernames from email addresses.
Parameter Format
None (no parameters required)
Basic Usage
- Destination Attribute: - username
- Formatter: - {email}
- Pipeline Functions: - | REMOVE_DOMAIN
- Result: If - email=- [email protected], output is- john.smith
In a Pipeline
- Destination Attribute: - login_name
- Formatter: - {email}
- Pipeline Functions: - | REMOVE_DOMAIN | REPLACE_ALL, ".", "_"
- Result: If - email=- [email protected], output is- john_smith
Example
- Destination Attribute: - username
- Formatter: - {email}
- Pipeline Functions: - | REMOVE_DOMAIN
- Use case: Extract usernames for target systems that don't use email-style logins (converts "[email protected]" to "jsmith") 
REMOVE_WHITESPACE
REMOVE_WHITESPACE
Removes all whitespace characters (spaces, tabs, newlines) from a string. Useful for creating compact identifiers and ensuring data consistency.
Parameter Format
None (no parameters required)
Basic Usage
- Destination Attribute: - username
- Formatter: - {display_name}
- Pipeline Functions: - | REMOVE_WHITESPACE
- Result: If - display_name=- John A. Doe, output is- JohnA.Doe
In a Pipeline
- Destination Attribute: - tag
- Formatter: - {department}
- Pipeline Functions: - | REMOVE_WHITESPACE | LOWER
- Result: If - department=- Human Resources, output is- humanresources
Example
- Destination Attribute: - cost_center_code
- Formatter: - {cost_center}
- Pipeline Functions: - | REMOVE_WHITESPACE
- Use case: Ensure cost center codes have no embedded spaces for system integration (converts "CC 12345" to "CC12345") 
REPLACE_ALL
REPLACE_ALL
Replaces all instances of one string with another. Essential for character substitution and format standardization.
Parameter Format
Original (STRING, required): String to find New (STRING, required): String to replace with
Basic Usage
- Destination Attribute: - username
- Formatter: - {display_name}
- Pipeline Functions: - | REPLACE_ALL, " ", "_"
- Result: If - display_name=- John Smith, output is- John_Smith
In a Pipeline
- Destination Attribute: - identifier
- Formatter: - {employee_id}
- Pipeline Functions: - | REPLACE_ALL, "-", "" | TRIM
- Result: If - employee_id=- EMP-12345, output is- EMP12345
Example
- Destination Attribute: - email
- Formatter: - {email}
- Pipeline Functions: - | REPLACE_ALL, " ", "."
- Use case: Fix malformed email addresses with spaces (converts "john [email protected]" to "[email protected]") 
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:
{"[email protected]" | SPLIT, "@", 0}
Output:
first.last
Note: This transformer generated the results where the index starts at zero (0).
SUB_STRING
SUB_STRING
Extracts a substring from the original value starting at a specific position. Commonly used for creating initials or extracting portions of identifiers.
Parameter Format
Offset (NUMBER, required): Starting position (0-based index) Length (NUMBER, required): Number of characters to extract
Basic Usage
- Destination Attribute: - initial
- Formatter: - {first_name}
- Pipeline Functions: - | SUB_STRING, 0, 1
- Result: If - first_name=- John, output is- J
In a Pipeline
- Destination Attribute: - short_id
- Formatter: - {employee_id}
- Pipeline Functions: - | SUB_STRING, 3, 4 | UPPER
- Result: If - employee_id=- EMP12345, output is- 1234
Example
- Destination Attribute: - username
- Formatter: - {first_name}
- Pipeline Functions: - | SUB_STRING, 0, 1 | LOWER
- Use case: Generate usernames like "j.smith" by extracting first initial and combining with last name 
TRIM
TRIM
Removes leading and trailing whitespace from a string. Essential for cleaning up data from external systems.
Parameter Format
None (no parameters required)
Basic Usage
- Destination Attribute: - username
- Formatter: - {display_name}
- Pipeline Functions: - | TRIM
- Result: If - display_name=- " John Doe ", output is- John Doe
In a Pipeline
- Destination Attribute: - email
- Formatter: - {email_address}
- Pipeline Functions: - | TRIM | LOWER
- Result: If - email_address=- " [email protected] ", output is- [email protected]
Example
- Destination Attribute: - display_name
- Formatter: - {display_name}
- Pipeline Functions: - | TRIM
- Use case: Clean up imported user data that may have padding whitespace from CSV files or database fields 
TRIM_CHARS
TRIM_CHARS
Removes all specified characters from both the beginning and end of a string. Useful for removing padding characters or cleaning up formatted data.
Parameter Format
Characters (STRING, required): String containing all characters to remove from both ends
Basic Usage
- Destination Attribute: - employee_id
- Formatter: - {id_number}
- Pipeline Functions: - | TRIM_CHARS, "0."
- Result: If - id_number=- 000.123.000, output is- 123
In a Pipeline
- Destination Attribute: - clean_code
- Formatter: - {code}
- Pipeline Functions: - | TRIM_CHARS, "-_" | UPPER
- Result: If - code=- ---ABC123___, output is- ABC123
Example
- Destination Attribute: - office_code
- Formatter: - {office_code}
- Pipeline Functions: - | TRIM_CHARS, ".0" | TRIM_CHARS_RIGHT, ".USCA"
- Use case: Clean up office codes with variable padding (converts "000.8675309.USCA" to "8675309") 
TRIM_CHARS_LEFT
TRIM_CHARS_LEFT
Removes all specified characters from the beginning of a string only. Useful for removing leading zeros or prefixes.
Parameter Format
Characters (STRING, required): String containing all characters to remove from the beginning
Basic Usage
- Destination Attribute: - cost_center
- Formatter: - {cost_center_code}
- Pipeline Functions: - | TRIM_CHARS_LEFT, "0"
- Result: If - cost_center_code=- 00012345, output is- 12345
In a Pipeline
- Destination Attribute: - identifier
- Formatter: - {raw_id}
- Pipeline Functions: - | TRIM_CHARS_LEFT, "x" | UPPER
- Result: If - raw_id=- xxxABC123, output is- ABC123
Example
- Destination Attribute: - cost_center
- Formatter: - {cost_center}
- Pipeline Functions: - | TRIM_CHARS_LEFT, "0"
- Use case: Remove leading zeros from cost center codes while preserving trailing zeros (converts "00012345" to "12345") 
TRIM_CHARS_RIGHT
TRIM_CHARS_RIGHT
Removes all specified characters from the end of a string only. Useful for removing trailing characters or suffixes.
Parameter Format
Characters (STRING, required): String containing all characters to remove from the end
Basic Usage
- Destination Attribute: - office_code
- Formatter: - {raw_office_code}
- Pipeline Functions: - | TRIM_CHARS_RIGHT, "0"
- Result: If - raw_office_code=- ABC12300, output is- ABC123
In a Pipeline
- Destination Attribute: - clean_code
- Formatter: - {code}
- Pipeline Functions: - | TRIM_CHARS_RIGHT, "temp" | UPPER
- Result: If - code=- ABC123temp, output is- ABC123
Example
- Destination Attribute: - office_code
- Formatter: - {office_code}
- Pipeline Functions: - | TRIM_CHARS_RIGHT, "0"
- Use case: Remove trailing zeros from office codes while preserving leading zeros (converts "ABC12300" to "ABC123") 
UPPER
UPPER
Transforms all lowercase characters in a string to uppercase. Commonly used for standardizing identifiers and codes.
Parameter Format
None (no parameters required)
Basic Usage
- Destination Attribute: - department_code
- Formatter: - {department}
- Pipeline Functions: - | UPPER
- Result: If - department=- sales, output is- SALES
In a Pipeline
- Destination Attribute: - user_id
- Formatter: - {username}
- Pipeline Functions: - | REMOVE_WHITESPACE | UPPER
- Result: If - username=- john smith, output is- JOHNSMITH
Example
- Destination Attribute: - last_name_normalized
- Formatter: - {name}
- Pipeline Functions: - | UPPER
- Use case: Standardize employee last names for matching across systems (converts "Smith" to "SMITH") 
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?
