Expression Language Examples

Expression Language Examples

This page is no longer maintained (May 13, 2026). For the most current information, go to Expression Language Examples


In this Page

Object Examples

Conditional Expression

Expression

$.hasOwnProperty('query.fred') ? $query.fred : 'not present in input'

Description

This example is one way of doing an if-then-else expression.

Example

For example, to set a default pipeline variable in a document object, if you use the following expression for a mapper variable $lastname:

$.hasOwnProperty('lastname') ? $lastname : _lastname

$lastname has the value of $lastname as supplied by a document in the stream. If there is no document input, then $lastname is set to the _lastnameparameter value.

String Examples

Checking for a Non-empty String

Expression

$customer.lastname.trim() || 'default'

Description

The expression verifies if $customer.lastname and $customer.lastname.trim() has a value. If it does, then the value of $customer.lastname.trim() is applied to the target path, otherwise 'default' gets applied to the target path.


Checking for an Existing Value

Expression

$.hasOwnProperty('customer.lastname') || 'default'

Description

The expression verifies if $customer.lastname exists in the input document. It returns True if $customer.lastname exists, else it shows 'default' as a string and applies it to the target path. 

Checking for a Non-empty String and an Existing Value

Expression

($.hasOwnProperty('customer.lastname') && $customer.lastname.trim()) || 'default''

Description

The expression verifies if a property exists in the input document and if $customer.lastname and $customer.lastname.trim() provide a value. If it does then it applies its value to the target path, otherwise it applies 'default' to the target path.

Creating an Email Address from First Initial, Last Name

Expression

$first_name.substr(0,1).toLowerCase()+$last_name.toLowerCase() + "@example.com"

$first_name.charAt(0).toLowerCase()+$last_name.toLowerCase() + "@example.com"

Description

Either expression grabs the first letter of the $first_name field, converts it to lowercase, then adds it to the $last_name value and appends "@example.com" before writing it to $Email.

Date Examples

Creating and Formatting a Date in a Specific Timezone

Expression

Date.now().toLocaleDateString('{\"timeZone\":\"PST\", "format":"yyyy-MM-dd"}')

Description

The expression creates the current date time in the PST timezone and formats its output into a string in the form of yyyy-MM-dd.

Formatting a Date to Include Letters

Expression

Date.now().toLocaleDateTimeString('{"format":"yyyy-MM-dd\'T\'hh:mm:ss.SSS\'Z\'"}')

Description

The expression creates the current date time and format its output into a string to include the letter "T" and "Z". Characters outside of normal SQLDate specials can be added by escaping them.

Creating an ISO-formatted Date in the Current Timezone

Expression

Date.now().toLocaleDateString('{\"timeZone\":\"PST\"}')

Description

The expression creates the current date time in the local time zone and formats its output into a string for the ISO date time format.

Parsing a Date

Expression

Date.parse($StandardDate)

Description

This expression parses a string representation of $StandardDate into a DateTime object. The string representation should have one of the following formats:

  • yyyy/MM/dd

  • yyyy/MM/dd HH:mm

  • yyyy/MM/dd HH:mm:ss

  • yyyy/MM/dd HH:mm:ss.SSS

  • MM/dd/yyyy

  • MM/dd/yyyy HH:mm

  • MM/dd/yyyy HH:mm:ss

  • MM/dd/yyyy HH:mm:ss.SSS

  • MMM dd, yyyy

  • EEE, dd MMM yyyy HH:mm:ss

  • EEE, dd MMM yyyy HH:mm:ss z (where z refers to the general time zone. For example: GMT-0800 for PST time)

  • EEE, dd MMM yyyy HH:mm:ss 'GMT'Z (where Z refers to the GMT time offset. For example: GMT-0700 for PDT time)

  • yyyy-MM-dd

  • yyyy-MM-dd'T'HH:mm:ss

  • yyyy-MM-dd'T'HH:mm:ssXXX

  • yyyy-MM-dd'T'HH:mm:ss.SSS

  • yyyy-MM-dd'T'HH:mm:ss.SSSXXX

  • yyyy-MM-dd HH:mm

  • yyyy-MM-dd HH:mm:ss

  • yyyy-MM-dd HH:mm:ssXXX

  • yyyy-MM-dd HH:mm:ss.SSS

  • yyyy-MM-dd HH:mm:ss.SSSXXX

Parsing a Non-standard Date

Expression

Date.parse($NonStandardDate, "yyyy MM dd")

Date.parse($nonstandard_datetime, "yyyy-MM-dd HH:mm:ss.SSS")

Description

These examples parse the date into a DateTime object using the provided format.

Formatting Today's Date to Display as the Current Month

Expression

Date.now().toLocaleDateString({"format":"MMMM"})

Description

This expression takes today's date and formats the output in a string indicating the month in text.

Filtering Examples

Filtering for Two Possible Values

Expression

$Priority == "Resolve Immediately" || $Priority == "High Attention"

Description

Used in a Filter Snap, this expression finds only those items that have $Priority set to either Resolve Immediately or High Attention.

Filtering by Multiple Fields

Expression

$Workflow == "Ready For Testing" && (($Priority == "Resolve Immediately") || ($Priority == "High Attention"))

Description

Used in a Filter Snap, this expression finds only those items that are in the $Workflow step of Ready for Testing and $Priority is set to either Resolve Immediately or High Attention.

Filtering by Date within Timeframe

Expression

$ClosedDate >= Date.now().minusHours(24)

Description

Used in a Filter Snap, this expression finds only those items that have a $CloseDate within the last 24 hours.

Other Examples

Making a Field Value a Link

Expression

'<a href="' + $Link + '">' + $ID + '</a>'

Description

This expression turns the value of the $ID field into a HTML link pointing to the location found in the $Link field.

Mapping Values to an Array

This series of expressions maps data from:

[ { "ORG_ASSIGNMENT": [ { "ORGTXT": "Network Services", "JOBTXT": "Service technician", "POSTXT": "Manager" } ]

to name/value pairs within an array:

[ "Organization": { "Unit": [ [ "Position", "Manager" ], [ "Grade", "Service technician" ], [ "Division", "Network Services" ] ] } ]

 

Expression

[‘Position’, jsonPath($, “ORG_ASSIGNMENT[*].POSTXT”).toString()]

Target path

$Users.User[*].Organization.Unit[0]

Expression

[‘Grade’, jsonPath($, “ORG_ASSIGNMENT[*].JOBTXT”).toString()]

Target path

$Users.User[*].Organization.Unit[1]

Expression

[‘Division’, jsonPath($, “ORG_ASSIGNMENT[*].ORGTXT”).toString()]

Target path

$Users.User[*].Organization.Unit[3]