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: IF statements 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:

  1. Basic Usage: Shows the transformer used alone with a simple source attribute

  2. In a Pipeline: Demonstrates chaining multiple transformers together

  3. 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 = John and 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

DATE_ADJUST

Adjusts date value based on date and day.

Parameter Format

Integer - date

Integer - day

Usage Example

Input:

{activation_date | DATE_ADJUST_DAY, +1}

{activation_date | DATE_ADJUST_DAY, +1, "RFC3339"}

{activation_date | DATE_ADJUST_DAY, +1, "2006-01-02T15:04:05Z07:00"}

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

LAST_N

LAST_N

Picks the last N characters of a string, where N is the number of characters to return.

Parameter Format

Length (NUMBER, required)

Usage Example

Input:

{"helloworld" | LAST_N, 5}

Output:

world

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 = IL001 and 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

LOWER_SNAKE_CASE

LOWER_SNAKE_CASE

Transforms string to lowercase with underscores.

Parameter Format

None (no parameters required)

Usage Example

Input:

{"Hello World" | LOWER_SNAKE_CASE}

Output:

hello_world

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.smith4 as 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

NOW

NOW

Returns the current time in UTC. An optional argument indicates the outgoing time format; by default, the RFC3339 format.

Parameter Format

String (Optional) - Format

Usage Example

Input:

{NOW}

{| NOW, "RFC3339"}

{NOW, "RFC3339"}

{NOW, "2006-01-02T15:04:05Z07:00"}

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_ALPHANUMERIC_GENERATOR

RANDOM_ALPHANUMERIC_GENERATOR

Generates a random alphanumeric string.

Parameter Format

Length (NUMBER, required)

Usage Example

Input:

{| RANDOM_ALPHANUMERIC_GENERATOR, 8}

Output:

a1B2c3D4

Note: This transformer generated an alphanumeric string with eight characters.

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 TEST followed 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")

RANDOM_NUMBER_GENERATOR

RANDOM_NUMBER_GENERATOR

Generates a random number string.

Parameter Format

Length (NUMBER, required)

Usage Example

Input:

{| RANDOM_NUMBER_GENERATOR, 4}

Output:

4829

Note: This transformer generated a random numeric string with four characters.

RANDOM_STRING_GENERATOR

RANDOM_STRING_GENERATOR

Generates a random string.

Parameter Format

Length (NUMBER, required)

Usage Example

Input:

{| RANDOM_STRING_GENERATOR, 6}

Output:

uFkLxw

Note: This transformer generated a random alpha string with six characters.

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_DIACRITICS

REMOVE_DIACRITICS

Removes diacritics (accents, etc.) from input string.

Parameter Format

None (no parameters required)

Usage Example

Input:

{"José" | REMOVE_DIACRITICS}

Output:

Jose

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]")

RIGHT_PAD

RIGHT_PAD

Right pads a string with a character.

Parameter Format

Length (NUMBER, required),

Pad (CHARACTER, optional): Default is space

Usage Example

Input:

{"123" | RIGHT_PAD, 5, "0"}

Output:

12300

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

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")

UPPER_CAMEL_CASE

UPPER_CAMEL_CASE

Transforms a string to upper camel case.

Parameter Format

None (no parameters required)

Usage Example

Input:

{"hello world" | UPPER_CAMEL_CASE}

Output:

HelloWorld

UPPER_SNAKE_CASE

UPPER_SNAKE_CASE

Transforms string to uppercase with underscores.

Parameter Format

None (no parameters required)

Usage Example

Input:

{"hello world" | UPPER_SNAKE_CASE}

Output:

HELLO_WORLD

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"}

UUID_GENERATOR

UUID_GENERATOR

Generates a UUID.

A UUID (Universally Unique Identifier) is a 128-bit identifier used to uniquely identify information in computer systems.

Parameter Format

None (no parameters required)

Usage Example

Input:

{| UUID_GENERATOR}

Output:

123e4567-e89b-12d3-a456-426614174000

Last updated

Was this helpful?