Formula

Elements of a Formula

A formula can contain references to the values of source fields, operators, functions, literal values, or other formulas. Use any or all of these elements to build a formula.

Apex ClassCustom Apex classes implementing the pushtopics.TargetValueMapper interface for advanced transformations. Reference the class using the format {!apexClassName}.
Field ReferenceA reference to another field's value using merge fields. Use field_name for standard fields, field_name__c for custom fields, or object_name__r.field_name for related objects. Field references are case-sensitive.
FunctionPredefined operations that accept input and return a result. For example, TODAY() returns the current date without needing input, whereas TEXT(value) converts numbers, percents, or currency into text.
Global VariableBuilt-in variables available for field mappings, such as $User.Id, $User.UserName, $User.Email, and $User.ProfileId.
Literal ValueA fixed text or numeric value you enter directly into a formula. For example, the formula ROUND((Amount * 0.02), 2) includes a literal numeric value of 0.02.
OperatorSymbols indicating calculation type or evaluation order, such as + for addition or parentheses ( ) to prioritize expressions.

Text Functions

CASE

Returns the corresponding return_value for the first compare_value equal to the provided value. If no values match, returns default_return_value_optional. If default_return_value_optional is omitted and no matches occur, the function returns $SKIP_ASSIGNMENT.

CHARReturns the character corresponding to the specified ASCII code.
CONTAINS

Returns TRUE if the provided string contains any of the specified compare_strings. The comparison is case-sensitive. Otherwise, returns FALSE.

CONTAINS_IGNORE_CASE

Returns TRUE if the provided string contains any of the specified compare_strings, ignoring case differences. Otherwise, returns FALSE.

ENDS_WITH

Returns TRUE if the provided string ends with any of the specified compare_strings. The comparison is case-sensitive. Otherwise, returns FALSE.

ENDS_WITH_IGNORE_CASE

Returns TRUE if the provided string ends with any of the specified compare_strings. The comparison is case-insensitive. Otherwise, returns FALSE.

ESCAPE_HTML4

Returns a string with characters escaped according to HTML 4 standards. Converts special HTML characters into their corresponding HTML entities to safely display as literal text in web pages.

ESCAPE_XML

Returns a string with special XML characters replaced by their corresponding XML entities. Useful for safely including strings within XML documents.

FORMAT_DATETIME

Formats a Date or Datetime as a string.

FORMAT_JSON_TEMPLATEParses and formats a JSON template string by resolving embedded expressions and merge fields into JSON-formatted output.
FORMAT_STRING_TEMPLATEParses and formats a template string by resolving embedded expressions and merge fields into standard string output.
INDEX_OF

Returns the zero-based index of the first occurrence of substring within string (case-sensitive). Optionally starts searching from index_optional. Returns -1 if not found.

INDEX_OF_IGNORE_CASE

Returns the zero-based index of the first occurrence of substring within string(case-insensitive). Optionally starts searching from index_optional. Returns -1 if not found.

IS_ALL_LOWER_CASE

Returns TRUE if the string contains only lowercase alphabetical characters; otherwise, returns FALSE.

IS_ALL_UPPER_CASE

Returns TRUE if the string contains only uppercase alphabetical characters; otherwise, returns FALSE.

IS_ALPHA

Returns TRUE if the string contains only alphabetic characters; otherwise, returns FALSE.

IS_ALPHA_SPACE

Returns TRUE if the string contains only alphabetic characters or spaces; otherwise, returns FALSE.

IS_ALPHANUMERIC

Returns TRUE if the string contains only alphabetic characters or numeric digits; otherwise, returns FALSE.

IS_ALPHANUMERIC_SPACE

Returns TRUE if the string contains only alphabetic characters, numeric digits, or spaces; otherwise, returns FALSE.

IS_PHONE_NUMBER

Returns TRUE if the provided string matches a valid phone number format; otherwise, returns FALSE.

LAST_INDEX_OF

Returns the starting position (zero-based index) of the last occurrence of substring within string. The search is case-sensitive. If end_position_optional is provided, the search considers characters from the start of the string up to the specified end position. Returns -1 if the substring is not found.

LAST_INDEX_OF_IGNORE_CASE

Returns the starting position (zero-based index) of the last occurrence of substring within string, ignoring case differences. If end_position_optional is provided, the search considers characters from the start of the string up to the specified end position. Returns -1 if the substring is not found.

LEFT

Returns a substring containing the specified number of characters from the beginning (left side) of the provided string. If num_chars exceeds the string length, the entire string is returned.

LEN

Returns the number of characters in the provided string.

MAP_VALUE_CONTAINS

Returns the corresponding return_value for the first compare_substring found within the provided string (case-sensitive). If no substrings match, returns default_return_value_optional. If default_return_value_optional is omitted and no matches occur, the function returns $SKIP_ASSIGNMENT.

MAP_VALUE_CONTAINS_IGNORE_CASE

Returns the corresponding return value for the first compare substring found within the provided string, performing case-insensitive matching. If no substrings match, returns default return value optional. If default return value optional is omitted and no match occurs, the function returns $SKIP_ASSIGNMENT.

MAP_VALUE_STARTS_WITH

Returns the corresponding return_value for the first compare_substring that matches the beginning of the provided string (case-sensitive). If no substrings match, returns default_return_value_optional. If default_return_value_optional is omitted and no matches occur, the function returns $SKIP_ASSIGNMENT.

MAP_VALUE_STARTS_WITH_IGNORE_CASE

Returns the corresponding return_value for the first compare_substring that matches the beginning of the provided string, performing case-insensitive matching. If no substrings match, returns default_return_value_optional. If default_return_value_optional is omitted and no matches occur, the function returns $SKIP_ASSIGNMENT.

MATCHES

Returns TRUE if the provided string matches any of the specified regular expressions; otherwise, returns FALSE.

REPLACE

Returns a new string by replacing all case-sensitive occurrences of a target substring in the original string with a specified replacement.

REPLACE_ALL

Returns a new string in which all occurrences matching the provided regular expression (regex) within the original string are replaced by the specified replacement substring.

REPLACE_FIRST

Returns a new string in which only the first occurrence matching the provided regular expression (regex) within the original string is replaced by the specified replacement substring.

RIGHT

Returns a substring containing the specified number of characters from the end (right side) of the provided string.

SKIP_BLANK_VALUE

Returns the provided value if it is not blank. If the value is blank (null, empty, or whitespace), returns $SKIP_ASSIGNMENT.

SPLITReturns an array of substrings by splitting a string using a regular expression delimiter.
STARTS_WITH

Returns TRUE if the provided string starts with any of the specified compare_strings (case-sensitive); otherwise, returns FALSE.

STARTS_WITH_IGNORE_CASE

Returns TRUE if the provided string starts with any of the specified compare_strings(case-insensitive); otherwise, returns FALSE.

STRING_APPEND

Appends an item to an existing string, with the separator placed between them.

STRING_APPEND_UNIQUE

Appends an item to an existing string using the specified separator unless the item already exists.

STRING_JOIN

Returns a single concatenated string formed by joining multiple provided objects using the specified separator string. Each object is converted to its string representation before concatenation.

SUBSTRING

Returns a substring extracted from the provided string, beginning at the start_index (inclusive) and ending at the end_index (exclusive). Indexing is zero-based.

SUBSTRING_AFTER

Returns the substring that occurs after the first occurrence of the specified separator within the provided string. If the separator is not found, returns an empty string. The search is case-sensitive.

SUBSTRING_AFTER_LAST

Returns the substring that occurs after the last occurrence of the specified separator within the provided string. If the separator is not found, returns an empty string. The search is case-sensitive.

SUBSTRING_BEFORE

Returns the substring that occurs before the first occurrence of the specified separator within the provided string. If the separator is not found, returns an empty string. The search is case-sensitive.

SUBSTRING_BEFORE_LAST

Returns the substring that occurs before the last occurrence of the specified separator within the provided string. If the separator is not found, returns an empty string. The search is case-sensitive.

SUBSTRING_BETWEEN

Returns the substring found between the first occurrences of the specified open and close substrings within the provided string. If either the open or close substring isn't found, returns an empty string. The search is case-sensitive.

TO_BLOB

Converts a string (String) into an Apex Blob type. If the input cannot be converted, the function throws an error.

TO_BOOLEAN

Converts a string into a Boolean value. If the input cannot be converted, the function returns an error.

TO_DATE

Converts a String or Datetime value into a Date by extracting the calendar date from the input. If the input cannot be parsed, an error is thrown.

TO_DATETIME

Converts a string in a recognized date/time format into a Datetime value. The result is returned in GMT. If the input string cannot be parsed, an error is thrown.

TO_DECIMAL

Converts the input value to a Decimal. If the input cannot be converted, the function throws an error.

TO_INTEGER

Converts a value to an Integer. If the input cannot be converted, the function throws an error.

TO_LOWER_CASE

Converts all letters in the specified text to lowercase.

TO_STRING

Converts the specified value into an unformatted text string.

TO_UPPER_CASE

Converts all letters in the specified text to uppercase.

TRIM

Returns a string with leading and trailing whitespace removed.

Logical Functions

AND

Returns TRUE if all provided conditions are TRUE; otherwise, returns FALSE.

BLANK_VALUE

If the value is blank, evaluates the substitute values in order and returns the first non-blank value; otherwise, returns the original value. A value is considered blank if it is NULL, empty, contains only whitespace, or evaluates to $SKIP_ASSIGNMENT.

CASE

Returns the corresponding return_value for the first compare_value equal to the provided value. If no values match, returns default_return_value_optional. If default_return_value_optional is omitted and no matches occur, the function returns $SKIP_ASSIGNMENT.

CONTAINS

Returns TRUE if the provided string contains any of the specified compare_strings. The comparison is case-sensitive. Otherwise, returns FALSE.

CONTAINS_IGNORE_CASE

Returns TRUE if the provided string contains any of the specified compare_strings, ignoring case differences. Otherwise, returns FALSE.

ENDS_WITH

Returns TRUE if the provided string ends with any of the specified compare_strings. The comparison is case-sensitive. Otherwise, returns FALSE.

ENDS_WITH_IGNORE_CASE

Returns TRUE if the provided string ends with any of the specified compare_strings. The comparison is case-insensitive. Otherwise, returns FALSE.

EQUALS

Returns TRUE if the value matches any of the given compare_values (case-sensitive); otherwise, returns FALSE.

EQUALS_IGNORE_CASE

Returns TRUE if the value matches any of the given compare_values (case-insensitive); otherwise, returns FALSE.

ERROR

Throws an exception with a custom message, optionally based on a specified condition. If a condition is provided, an exception is thrown only if the condition evaluates to TRUE.

ERROR_VALUE

Returns the substitute value if evaluating the value results in an error; otherwise, returns the original value.

HAS_DUPLICATESReturns TRUE if the current source record has duplicate records identified by Matching Rules configured in Salesforce Duplicate Management.
HAS_PERMISSION

Returns TRUE if the context user has any of the specified custom permissions. Otherwise, returns FALSE.

IF

Evaluates a logical condition. If TRUE, returns value_if_true. If FALSE, returns value_if_false_optional (if provided); otherwise returns $SKIP_ASSIGNMENT.

IS_ALL_LOWER_CASE

Returns TRUE if the string contains only lowercase alphabetical characters; otherwise, returns FALSE.

IS_ALL_UPPER_CASE

Returns TRUE if the string contains only uppercase alphabetical characters; otherwise, returns FALSE.

IS_ALPHA

Returns TRUE if the string contains only alphabetic characters; otherwise, returns FALSE.

IS_ALPHA_SPACE

Returns TRUE if the string contains only alphabetic characters or spaces; otherwise, returns FALSE.

IS_ALPHANUMERIC

Returns TRUE if the string contains only alphabetic characters or numeric digits; otherwise, returns FALSE.

IS_ALPHANUMERIC_SPACE

Returns TRUE if the string contains only alphabetic characters, numeric digits, or spaces; otherwise, returns FALSE.

IS_BLANK

Returns TRUE if the value is NULL, empty, contains only whitespace, or evaluates to $SKIP_ASSIGNMENT; otherwise, returns FALSE.

IS_CURRENT_USER_IN_OWNER_QUEUE

Returns TRUE if the current context user is a member of the record owner's queue. Otherwise, returns FALSE.

IS_DECIMAL

Returns TRUE if the string represents a valid decimal number; otherwise, returns FALSE.

IS_EMAIL_ADDRESS

Returns TRUE if the string is formatted as a valid email address; otherwise, returns FALSE.

IS_FIRST_IN_ITERATION

Returns TRUE the first time a given combination of evaluated expression values occurs in the current iteration, and FALSE for any duplicates after.

IS_INSERT

Returns TRUE if the current action is an Insert, otherwise, returns FALSE. In an Upsert process where Use Salesforce Upsert API is unchecked, DSP performs matching based on the Target Matching Field and separates records into Insert and Update actions. Use this function to apply different transformations depending on whether a record is being inserted or updated.

IS_NUMERIC

Returns TRUE if the provided string contains only Unicode digits; otherwise, returns FALSE.

IS_PHONE_NUMBER

Returns TRUE if the provided string matches a valid phone number format; otherwise, returns FALSE.

IS_PRODUCTION

Returns TRUE if the current execution is running in a Production environment, otherwise, returns FALSE.

IS_TARGET_FIELD_ASSIGNEDReturns TRUE if the mapped target field has been processed and assigned a value. Returns FALSE if the field was skipped ($SKIP_ASSIGNMENT) or has not been processed.
IS_UPDATE

Returns TRUE if the current action is an Update, otherwise, returns FALSE. In an Upsert process where Use Salesforce Upsert API is unchecked, DSP performs matching based on the Target Matching Field and separates records into Insert and Update actions. Use this function to apply different transformations depending on whether a record is being inserted or updated.

MAP_VALUE_CONTAINS

Returns the corresponding return_value for the first compare_substring found within the provided string (case-sensitive). If no substrings match, returns default_return_value_optional. If default_return_value_optional is omitted and no matches occur, the function returns $SKIP_ASSIGNMENT.

MAP_VALUE_CONTAINS_IGNORE_CASE

Returns the corresponding return value for the first compare substring found within the provided string, performing case-insensitive matching. If no substrings match, returns default return value optional. If default return value optional is omitted and no match occurs, the function returns $SKIP_ASSIGNMENT.

MAP_VALUE_STARTS_WITH

Returns the corresponding return_value for the first compare_substring that matches the beginning of the provided string (case-sensitive). If no substrings match, returns default_return_value_optional. If default_return_value_optional is omitted and no matches occur, the function returns $SKIP_ASSIGNMENT.

MAP_VALUE_STARTS_WITH_IGNORE_CASE

Returns the corresponding return_value for the first compare_substring that matches the beginning of the provided string, performing case-insensitive matching. If no substrings match, returns default_return_value_optional. If default_return_value_optional is omitted and no matches occur, the function returns $SKIP_ASSIGNMENT.

MATCHES

Returns TRUE if the provided string matches any of the specified regular expressions; otherwise, returns FALSE.

NOT

Returns TRUE if the provided logical value evaluates to FALSE; otherwise, returns FALSE.

OR

Returns TRUE if any provided logical condition evaluates to TRUE; otherwise, returns FALSE.

SKIP_BLANK_VALUE

Returns the provided value if it is not blank. If the value is blank (null, empty, or whitespace), returns $SKIP_ASSIGNMENT.

STARTS_WITH

Returns TRUE if the provided string starts with any of the specified compare_strings (case-sensitive); otherwise, returns FALSE.

STARTS_WITH_IGNORE_CASE

Returns TRUE if the provided string starts with any of the specified compare_strings(case-insensitive); otherwise, returns FALSE.

TRIGGER_FLIPPER

This function is used within a before insert or before update trigger to track whether a specific checkbox field (defaulting to FALSE) has been flipped from FALSE to TRUE. The "flipped" state is recorded in memory only.

Immediately after tracking the flip, the function resets the checkbox field to FALSE, ensuring that the field remains unchecked in the database. This mechanism allows users to manually trigger actions by checking the field on demand—without persisting the change.

If the optional parameter flip_if_evaluated_true_optional is provided and evaluates to TRUE, the function will also treat the field as flipped. This allows you to define automatic rules that simulate a flip and trigger corresponding logic.

TRIGGER_IS_AFTER

Returns TRUE if the current trigger context is an "after" event (after insert, after update, after delete or after undelete); otherwise, returns FALSE.

TRIGGER_IS_BEFORE

Returns TRUE if the current trigger context is a "before" event (before insert, before update, or before delete); otherwise, returns FALSE.

TRIGGER_IS_CHANGED

Returns TRUE if any of the specified fields have been modified from their previous values during the update DML operation; otherwise, returns FALSE.

TRIGGER_IS_CHANGED_FROM

Returns TRUE if the specified field's value has changed from any of the provided old values in the current trigger context; otherwise, returns FALSE.

TRIGGER_IS_CHANGED_TO

Returns TRUE if the specified field's value has changed to any of the provided new values in the current trigger context; otherwise, returns FALSE.

TRIGGER_IS_DELETE

Returns TRUE if the current trigger context involves a delete operation (before delete or after delete); otherwise, returns FALSE.

TRIGGER_IS_FLIPPED

Returns TRUE if the specified field's value has changed in the current transaction (i.e., the field was updated or flipped from its previous value).

TRIGGER_IS_INSERT

Returns TRUE if the current trigger context involves an insert operation (before insert or after insert); otherwise, returns FALSE.

TRIGGER_IS_UNDELETE

Returns TRUE if the current trigger context is an undelete operation (after undelete); otherwise, returns FALSE.

TRIGGER_IS_UPDATE

Returns TRUE if the current trigger context involves an update operation (before update or after update); otherwise, returns FALSE.

VALUE_IN

Returns TRUE if the provided value matches any of the specified compare values; otherwise, returns FALSE.

Number Functions

ABSReturns the absolute value of the specified number.
CEILINGReturns the smallest integer greater than or equal to the specified number.
COSReturns the trigonometric cosine of the specified angle.
DISTANCECalculates the distance between two locations in kilometers.
EXPReturns the value of e raised to the specified number.
FLOORReturns the largest integer less than or equal to the specified number.
LOGReturns the natural logarithm (base e) of the specified number.
MAX

Returns the largest number from the given set of numbers.

MIN

Returns the smallest number from the given set of numbers.

ROUNDReturns the value rounded to the nearest integer using half-even rounding.
SET_SCALERounds a number to the specified number of decimal places using half-even rounding.
SINReturns the trigonometric sine of the specified angle.
TANReturns the trigonometric tangent of the specified angle.
TO_DECIMAL

Converts the input value to a Decimal. If the input cannot be converted, the function throws an error.

TO_INTEGER

Converts a value to an Integer. If the input cannot be converted, the function throws an error.

Date & Time Functions

ADD_DAYS

Returns a Date or Datetime adjusted by the specified number of days, either forward (positive) or backward (negative), relative to the provided Date or Datetime.

ADD_MONTHS

Returns a Date or Datetime adjusted by the specified number of months, either forward (positive) or backward (negative), relative to the provided Date or Datetime.

BUSINESS_HOURS_ADD

Adds a time interval to a starting Datetime, counting only business hours. The result is returned in GMT.

BUSINESS_HOURS_DIFF

Calculates the difference in milliseconds between two Datetime values within business hours. Uses the default schedule if none is provided.

BUSINESS_HOURS_IS_WITHIN

Returns TRUE if the specified Datetime is within defined business hours.

BUSINESS_HOURS_NEXT_START_DATE

Returns the next Datetime business hours open after the specified target date; returns the target date itself if it's within business hours. The result is returned in GMT.

DATE

Returns a Date constructed from the specified year, month, and day components.

DAY

Returns the day of the month from a Date or Datetime in the context user's local time zone.

DAY_OF_YEARReturns the day number within the year for a given date, ranging from 1 to 365 or 366.
DAYS_BETWEEN

Returns the number of days between two provided Dates. The result is positive if end_date occurs after start_date, negative if it occurs before, and zero if the dates are identical.

FORMAT_DATETIME

Formats a Date or Datetime as a string.

HOURExtracts the hour (0–23) from a Datetime value, based on the context user’s local time zone.
HOUR_GMTExtracts the hour (0–23) from a Datetime value, based on GMT.
MILLISECONDExtracts the millisecond (0–999) from a Datetime value.
MINUTEExtracts the minute (0–59) from a Datetime value, based on the context user’s local time zone.
MINUTE_GMTExtracts the minute (0–59) from a Datetime value, based on GMT.
MONTH

Returns the month component (1=January) from a Date or Datetime, evaluated in the context user's local time zone.

NOW

Returns the current Datetime based on the context user's local time zone.

SECONDExtracts the second (0–59) from a Datetime value.
TO_DATE

Converts a String or Datetime value into a Date by extracting the calendar date from the input. If the input cannot be parsed, an error is thrown.

TO_DATETIME

Converts a string in a recognized date/time format into a Datetime value. The result is returned in GMT. If the input string cannot be parsed, an error is thrown.

TO_START_OF_MONTHReturns the first day of the month for a specified date.
TO_START_OF_WEEKReturns the date representing the first day of the week for a specified date.
TO_TIME

Converts a time string from the context user's local time zone to a Time value in GMT.

TODAY

Returns the current date in the context user's local time zone.

YEAR

Returns the year component from a Date or Date Time, evaluated in the context user's local time zone.

YESTERDAY

Returns the date value representing yesterday, evaluated in the context user's local time zone.

Operators

Arithmetic Operators

+AddCalculates the sum of two numbers.
-SubtractCalculates the difference between two numbers.
*MultiplyCalculates the product of two numbers.
/DivideCalculates the quotient of two numbers.
%ModCalculates the remainder of two numbers.

Comparison Operators

==EqualEvaluates if two values are equal.
!=Not EqualEvaluates if two values are different.
<Less ThanEvaluates if the first value is smaller than the second.
>Greater ThanEvaluates if the first value is larger than the second.
<=Less Than or EqualEvaluates if the first value is smaller or equal to the second.
>=Greater Than or EqualEvaluates if the first value is larger or equal to the second.

Logical Operators

&&ANDEvaluates to TRUE if both conditions are true.
||OREvaluates to TRUE if at least one condition is true.

Other Operators

()ParenthesesDefines the order in which expressions are evaluated.
&ConcatenateJoins two or more strings together into a single string.

Global Variables

$CONTEXT_RECORD_ID $CONTEXT_RECORD_ID is used in UI-based rules engines—such as Data Loader, Data List, and Action Button—to dynamically reference the current record ID from the Lightning Record Page. When used in transformations, it is automatically replaced with the record’s ID at runtime.
$EXECUTABLE_NAME $EXECUTABLE_NAME returns the name of the currently running Executable.
$EXECUTABLE_ID $EXECUTABLE_ID returns the Id of the currently running Executable.
$JOINER $Joiner is a prefix used to reference fields from a dataset that has been joined in the Scoping step of an Executable (left-join or cross-join). It allows downstream logic—such as Scope Filter (Post Join) rules and field mappings—to access the joined record’s fields. For example, $Joiner.Parent__r.Status__c references the Status__c field on the joined record’s Parent__r relationship.
$LAST_EXECUTION $LAST_EXECUTION references the most recent Execution record for the current Executable (any outcome), allowing formulas to read fields from that Execution.
$LAST_SUCCESSFUL_EXECUTION $LAST_SUCCESSFUL_EXECUTION references the most recent successful Execution record for the current Executable, allowing formulas to read fields from that Execution.
$ORG_DOMAIN_URL Returns current org's domain URL.
$SKIP_ASSIGNMENT `$SKIP_ASSIGNMENT` is a special keyword used in DSP formulas to conditionally bypass processing based on dynamic logic. Field Mapping: If a formula evaluates to `$SKIP_ASSIGNMENT`, the target field is excluded from the request payload. Scope Filters: If a formula evaluates to `$SKIP_ASSIGNMENT`, the source record is omitted from processing. This enables fine-grained control over field-level assignments and record-level processing.
$SOURCE_OBJECT_NAME Returns the Resolved Input Object Name for the currently running Executable.
$TARGET_OBJECT_NAME Returns the Target Object Name for the currently running Executable.
$User.Email Returns the email address of the running user.
$User.FirstName Returns the first name of the running user.
$User.LastName Returns the last name of the running user.
$User.Name Returns the full name of the running user.
$User.ProfileId Returns the Profile Id of the running user.
$User.Username Returns the username of the running user.
$User.Id Returns the Id of the running user.

Randomization Functions

RANDOM_ITEM

Returns a random item from the given set of items.

RANDOMIZE

Returns a randomized value of the same data type as the provided input. Supports text, number, date, and boolean values.

SCRAMBLE

Shuffle the items in the current batch and select one at random.

Type Processing Functions

BASE64_DECODE

Returns the original string by decoding the provided Base64-encoded input. If the input is not valid Base64, the function returns an error.

BASE64_ENCODE

Returns the Base64-encoded representation of the provided string.

TO_BLOB

Converts a string (String) into an Apex Blob type. If the input cannot be converted, the function throws an error.

TO_BOOLEAN

Converts a string into a Boolean value. If the input cannot be converted, the function returns an error.

TO_DATE

Converts a String or Datetime value into a Date by extracting the calendar date from the input. If the input cannot be parsed, an error is thrown.

TO_DATETIME

Converts a string in a recognized date/time format into a Datetime value. The result is returned in GMT. If the input string cannot be parsed, an error is thrown.

TO_DECIMAL

Converts the input value to a Decimal. If the input cannot be converted, the function throws an error.

TO_INTEGER

Converts a value to an Integer. If the input cannot be converted, the function throws an error.

TO_STRING

Converts the specified value into an unformatted text string.

TO_TIME

Converts a time string from the context user's local time zone to a Time value in GMT.

Trigger Functions

TRIGGER_FLIPPER

This function is used within a before insert or before update trigger to track whether a specific checkbox field (defaulting to FALSE) has been flipped from FALSE to TRUE. The "flipped" state is recorded in memory only.

Immediately after tracking the flip, the function resets the checkbox field to FALSE, ensuring that the field remains unchecked in the database. This mechanism allows users to manually trigger actions by checking the field on demand—without persisting the change.

If the optional parameter flip_if_evaluated_true_optional is provided and evaluates to TRUE, the function will also treat the field as flipped. This allows you to define automatic rules that simulate a flip and trigger corresponding logic.

TRIGGER_IS_AFTER

Returns TRUE if the current trigger context is an "after" event (after insert, after update, after delete or after undelete); otherwise, returns FALSE.

TRIGGER_IS_BEFORE

Returns TRUE if the current trigger context is a "before" event (before insert, before update, or before delete); otherwise, returns FALSE.

TRIGGER_IS_CHANGED

Returns TRUE if any of the specified fields have been modified from their previous values during the update DML operation; otherwise, returns FALSE.

TRIGGER_IS_CHANGED_FROM

Returns TRUE if the specified field's value has changed from any of the provided old values in the current trigger context; otherwise, returns FALSE.

TRIGGER_IS_CHANGED_TO

Returns TRUE if the specified field's value has changed to any of the provided new values in the current trigger context; otherwise, returns FALSE.

TRIGGER_IS_DELETE

Returns TRUE if the current trigger context involves a delete operation (before delete or after delete); otherwise, returns FALSE.

TRIGGER_IS_FLIPPED

Returns TRUE if the specified field's value has changed in the current transaction (i.e., the field was updated or flipped from its previous value).

TRIGGER_IS_INSERT

Returns TRUE if the current trigger context involves an insert operation (before insert or after insert); otherwise, returns FALSE.

TRIGGER_IS_UNDELETE

Returns TRUE if the current trigger context is an undelete operation (after undelete); otherwise, returns FALSE.

TRIGGER_IS_UPDATE

Returns TRUE if the current trigger context involves an update operation (before update or after update); otherwise, returns FALSE.

TRIGGER_OLD_VALUE

Returns the previous value of the specified field in an Update DML operation.

Advanced Functions

AGG_AVG

Performs a dynamic aggregation on a specified Salesforce object and returns the average of a selected numeric field from all records that match the given criteria.

AGG_COUNT

Performs a dynamic aggregation on a specified Salesforce object and returns the count of records matching the provided conditions.

AGG_COUNT_DISTINCT

Performs a dynamic aggregation on a specified Salesforce object and returns the count of unique (distinct) values in a selected field for the matching records.

AGG_MAX

Performs a dynamic aggregation on a specified Salesforce object and returns the maximum value of a specified field among all matching records.

AGG_MIN

Performs a dynamic aggregation on a specified Salesforce object and returns the minimum value of a specified field among all matching records.

AGG_SUM

Performs a dynamic aggregation on a specified Salesforce object and returns the sum of the selected numeric field from all records that match the provided criteria.

CASE

Returns the corresponding return_value for the first compare_value equal to the provided value. If no values match, returns default_return_value_optional. If default_return_value_optional is omitted and no matches occur, the function returns $SKIP_ASSIGNMENT.

EVALUATEReturns the value of a formula stored in a custom field, evaluated at runtime. Optionally retrieves fields from related records.
EVALUATED_FIELD_VALUEReturns the evaluated value of a mapped target field that has already been processed prior to the current field’s evaluation within the Executable’s Mapping step. If the field has not yet been evaluated, the function returns NULL.
GET_PICKLIST_FIELD_OPTIONS

Returns a list of options for the specified picklist field on a given object.

HTML_TABLEGenerates a formatted HTML table string from records of the specified source object, filtered by matching field-value pairs and an optional query clause.
JOIN_JSON

Returns a filtered array containing objects from the provided JSON array that match the specified field name and field value criteria.

JOIN_OBJECT_CONNECTION

Returns records from a specified object through a named connection or a related connection, filtered by joining field-value pairs, with an optional additional filtering clause.

JOIN_OBJECT_SOURCE

Returns records from the specified object via the Source connection that match the provided joining field–value pairs, with an optional additional filtering clause.

JOIN_OBJECT_TARGET

Returns records from a specified object via the Target connection that match the provided joining field–value pairs, with an optional additional filtering clause.

JSON_GET_FIELD_VALUES

Returns a list containing the value of the specified field from each map in the provided list. Optionally excludes null values from the result.

JSON_SERIALIZE

Returns the provided value as a JSON string.

JSON_SERIALIZE_PRETTY

Serializes the provided object into a JSON string with pretty-printed formatting.

MAP_VALUE_CONTAINS

Returns the corresponding return_value for the first compare_substring found within the provided string (case-sensitive). If no substrings match, returns default_return_value_optional. If default_return_value_optional is omitted and no matches occur, the function returns $SKIP_ASSIGNMENT.

MAP_VALUE_CONTAINS_IGNORE_CASE

Returns the corresponding return value for the first compare substring found within the provided string, performing case-insensitive matching. If no substrings match, returns default return value optional. If default return value optional is omitted and no match occurs, the function returns $SKIP_ASSIGNMENT.

MAP_VALUE_STARTS_WITH

Returns the corresponding return_value for the first compare_substring that matches the beginning of the provided string (case-sensitive). If no substrings match, returns default_return_value_optional. If default_return_value_optional is omitted and no matches occur, the function returns $SKIP_ASSIGNMENT.

MAP_VALUE_STARTS_WITH_IGNORE_CASE

Returns the corresponding return_value for the first compare_substring that matches the beginning of the provided string, performing case-insensitive matching. If no substrings match, returns default_return_value_optional. If default_return_value_optional is omitted and no matches occur, the function returns $SKIP_ASSIGNMENT.

MATCHES

Returns TRUE if the provided string matches any of the specified regular expressions; otherwise, returns FALSE.

TO_PDFCreates a binary object out of the given string, encoding it as a PDF file.
VLOOKUP

Performs a dynamic lookup on a Salesforce object and returns the specified field value(including relational fields up to 5 levels), from the first matching record.

VLOOKUP_ALL

Queries the specified object and returns the designated fields (plus the record Id and lookup field) from all records that match one or more field-value pairs, with an optional additional filtering clause.

VLOOKUP_CONNECTION

Performs a dynamic lookup on a Salesforce object through a connection and returns the specified field value (including relational fields up to 5 levels), from the first matching record.

VLOOKUP_RECORD

Performs a dynamic lookup on a Salesforce object and returns the full Object record from the first record that matches the provided field-value pairs.

VLOOKUP_RECORD_CONNECTION

Performs a dynamic lookup on a Salesforce object through a connection and returns the full Object record from the first record that matches the provided field-value pairs.