---
schema_version: "1"
id: a994074f8f68030290b69f4af0a589d139cf6e3f4b79ef10ec7c9f1bbd574ac8
title: Supported Data Mapper and Integration Procedure Functions
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/xcloud/264-0-0/os_omnistudio_data_mapper_and_integration_procedure_functions.md
canonical_url: https://help.salesforce.com/s/articleView?id=xcloud.os_omnistudio_data_mapper_and_integration_procedure_functions.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: f6e3293b86513ed5e2a0fc05cd3f85015255d58775da7956e3129dc3a57b16d6
description: Use functions to evaluate and manipulate data in formulas for Omnistudio Data Mappers and Integration Procedures. For example, functions can perform conditional operations that take different actions depending on the values you pass them. They can invoke queries and other functions, and they can operate on numbers, dates and times, strings, lists and arrays, and JSON objects.
products:
  - Omnistudio
release: "264"
---
# Supported Data Mapper and Integration Procedure Functions

Use functions to evaluate and manipulate data in formulas for Omnistudio Data Mappers and Integration Procedures. For example, functions can perform conditional operations that take different actions depending on the values you pass them. They can invoke queries and other functions, and they can operate on numbers, dates and times, strings, lists and arrays, and JSON objects.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-omnistudio-264-0-0-production-enus/f526eaa8-ae05-487a-8944-4bb99b0b78ac/images/icon_note.png)

Note These functions work with Omnistudio Data Mappers and Integration Procedures. For information about functions that you can use with Omniscript formulas and aggregates, see [Create a Formula or Aggregate in an Omniscript](https://help.salesforce.com/s/articleView?id=xcloud.os_create_a_formula_or_aggregate_in_an_omniscript_23115.htm&release=264.0.0&type=5 "Create expressions to set calculated values and evaluate data across multiple fields using a Formula or Aggregate element. For example, if you are accepting information for a qualifying life event you may want to create a formula that determines if the date entered for the qualifying life event is within thirty days of today's date.").

Syntax conventions and a summary of recent changes follow the table.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
      <colgroup>
        <col style="width:20%">
        <col style="width:40%">
        <col style="width:40%">
      </colgroup>
      <thead class="slds-text-title_caps ">
        <tr class="">
          <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d97125e51">
            <p style="margin-bottom:0;">Omnistudio Functions</p>
          </th>
          <th scope="colgroup" class="slds-cell-wrap" colspan="2" style="vertical-align:top;" id="d97125e57">
            <p style="margin-bottom:0;">Supported Functions</p>
          </th>

        </tr>
      </thead>
      <tbody>
        <tr class="">
          <td data-label="Omnistudio Functions" class="slds-cell-wrap" style="vertical-align:top;" headers="d97125e51 ">
            <p style="margin-bottom:0;"><a href="https://help.salesforce.com/s/articleView?id=xcloud.os_omnistudio_conditional_functions.htm&amp;release=264.0.0&amp;type=5" title="Functions that perform conditional operations.">Conditional Functions</a></p>
          </td>

          <td data-label="Supported Functions" class="slds-cell-wrap" style="vertical-align:top;" headers="d97125e57 ">
            <p><code>IF(<var>expression</var>, <var>trueResult</var>, <var>falseResult</var>)</code></p>
            <p style="margin-bottom:0;"><code>ISBLANK(<var>expression</var>)</code></p>
          </td>

          <td class="slds-cell-wrap" style="vertical-align:top;" headers="d97125e57 ">
            <p style="margin-bottom:0;"><code>ISNOTBLANK(<var>expression</var>)</code></p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Omnistudio Functions" class="slds-cell-wrap" style="vertical-align:top;" headers="d97125e51 ">
            <p style="margin-bottom:0;"><a href="https://help.salesforce.com/s/articleView?id=xcloud.os_omnistudio_mathematical_functions.htm&amp;release=264.0.0&amp;type=5" title="Functions that operate on numbers.">Mathematical Functions</a></p>
          </td>

          <td data-label="Supported Functions" class="slds-cell-wrap" style="vertical-align:top;" headers="d97125e57 ">
            <p><code>ABS(<var>expression</var>)</code></p>
            <p style="margin-bottom:0;"><code>ROUND(<var>expression</var>, <var>precision</var>, <var>direction</var>)</code></p>
          </td>

          <td class="slds-cell-wrap" style="vertical-align:top;" headers="d97125e57 ">
            <p style="margin-bottom:0;"><code>SQRT(<var>expression</var>)</code></p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Omnistudio Functions" class="slds-cell-wrap" style="vertical-align:top;" headers="d97125e51 ">
            <p style="margin-bottom:0;"><a href="https://help.salesforce.com/s/articleView?id=xcloud.os_omnistudio_date_and_time_functions.htm&amp;release=264.0.0&amp;type=5" title="Functions that operate on dates and times.">Date and Time Functions</a></p>
          </td>

          <td data-label="Supported Functions" class="slds-cell-wrap" style="vertical-align:top;" headers="d97125e57 ">
            <p><code>ADDDAY(<var>date</var>, <var>days</var>)</code></p>
            <p><code>ADDMONTH(<var>date</var>, <var>months</var>)</code></p>
            <p><code>ADDYEAR(<var>date</var>, <var>years</var>)</code></p>
            <p><code>AGE(<var>birthDate</var>)</code></p>
            <p><code>AGEON(<var>birthDate</var>, <var>date</var>)</code></p>
            <p><code>DATEDIFF(<var>firstDate</var>, <var>secondDate</var>)</code></p>
            <p><code>DATETIMETOUNIX(<var>datetime</var>)</code></p>
            <p><code>DAY(<var>date</var>)</code></p>
            <p><code>EOM(<var>date</var>)</code></p>
            <p style="margin-bottom:0;"><code>FORMATDATETIME(<var>datetime</var>, <var>format</var>, <var>timezone</var>)</code></p>
          </td>

          <td class="slds-cell-wrap" style="vertical-align:top;" headers="d97125e57 ">
            <p><code>FORMATDATETIMEGMT(<var>datetime</var>, <var>timezone</var>, <var>format</var>)</code></p>
            <p><code>HOUR(<var>time</var>)</code></p>
            <p><code>MINUTE(<var>time</var>)</code></p>
            <p><code>MONTH(<var>date</var>)</code></p>
            <p><code>NOW(<var>format</var>)</code></p>
            <p><code>SECOND(<var>time</var>)</code></p>
            <p><code>TIMEDIFF(<var>firstTime</var>, <var>secondTime</var>)</code></p>
            <p><code>TODAY()</code></p>
            <p><code>UNIXTODATETIME(<var>timestamp</var>)</code></p>
            <p style="margin-bottom:0;"><code>YEAR(<var>date</var>)</code></p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Omnistudio Functions" class="slds-cell-wrap" style="vertical-align:top;" headers="d97125e51 ">
            <p style="margin-bottom:0;"><a href="https://help.salesforce.com/s/articleView?id=xcloud.os_omnistudio_string_functions.htm&amp;release=264.0.0&amp;type=5" title="Functions that operate on strings.">String Functions</a></p>
          </td>

          <td data-label="Supported Functions" class="slds-cell-wrap" style="vertical-align:top;" headers="d97125e57 ">
            <p><code>BASE64ENCODE(<var>data</var>)</code></p>
            <p><code>CONCAT(<var>string</var>...)</code></p>
            <p><code>JOIN(<var>string...</var>, <var>token</var>)</code></p>
            <p style="margin-bottom:0;"><code>MAXSTRING(<var>string</var>...)</code></p>
          </td>

          <td class="slds-cell-wrap" style="vertical-align:top;" headers="d97125e57 ">
            <p><code>SPLIT(<var>string</var>, <var>token</var>)</code></p>
            <p><code>STRINGINDEXOF(<var>string</var>, <var>substring</var>)</code></p>
            <p><code>SUBSTRING(<var>string</var>, <var>startIndex</var>, <var>endIndex</var>)</code></p>
            <p style="margin-bottom:0;"><code>TOSTRING(<var>data</var>)</code></p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Omnistudio Functions" class="slds-cell-wrap" style="vertical-align:top;" headers="d97125e51 ">
            <p style="margin-bottom:0;"><a href="https://help.salesforce.com/s/articleView?id=xcloud.os_omnistudio_list_functions.htm&amp;release=264.0.0&amp;type=5" title="Functions that operate on lists and arrays.">List and Array Functions</a></p>
          </td>

          <td data-label="Supported Functions" class="slds-cell-wrap" style="vertical-align:top;" headers="d97125e57 ">
            <p><code>AVG(<var>list</var>)</code></p>
            <p><code>FILTER(LIST(<var>list</var>), <var>condition</var>)</code></p>
            <p><code>LIST(<var>expression</var>)</code></p>
            <p><code>LISTMERGE(<var>mergeKey</var>..., LIST(<var>list</var>)...)</code></p>
            <p><code>LISTMERGEPRIMARY(<var>mergeKey</var>..., LIST(<var>list</var>)...)</code></p>
            <p style="margin-bottom:0;"><code>LISTSIZE(<var>list</var>)</code></p>
          </td>

          <td class="slds-cell-wrap" style="vertical-align:top;" headers="d97125e57 ">
            <p><code>MAPTOLIST(<var>jsonObject</var>)</code></p>
            <p><code>MAX(<var>list</var>)</code></p>
            <p><code>MIN(<var>list</var>...)</code></p>
            <p><code>SORTBY(LIST(<var>list</var>), <var>key</var>..., [:DSC])</code></p>
            <p style="margin-bottom:0;"><code>SUM(<var>list</var>)</code></p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Omnistudio Functions" class="slds-cell-wrap" style="vertical-align:top;" headers="d97125e51 ">
            <p style="margin-bottom:0;"><a href="https://help.salesforce.com/s/articleView?id=xcloud.os_omnistudio_json_object_functions.htm&amp;release=264.0.0&amp;type=5" title="Functions that operate on JSON objects.">JSON Object Functions</a></p>
          </td>

          <td data-label="Supported Functions" class="slds-cell-wrap" style="vertical-align:top;" headers="d97125e57 ">
            <p><code>DESERIALIZE(<var>jsonString</var>)</code></p>
            <p style="margin-bottom:0;"><code>RESERIALIZE(<var>jsonString</var>)</code></p>
          </td>

          <td class="slds-cell-wrap" style="vertical-align:top;" headers="d97125e57 ">
            <p><code>SERIALIZE(<var>jsonObject</var>)</code></p>
            <p style="margin-bottom:0;"><code>VALUELOOKUP(<var>startNode</var>, <var>node</var>...)</code></p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Omnistudio Functions" class="slds-cell-wrap" style="vertical-align:top;" headers="d97125e51 ">
            <p style="margin-bottom:0;"><a href="https://help.salesforce.com/s/articleView?id=xcloud.os_omnistudio_invocation_functions.htm&amp;release=264.0.0&amp;type=5" title="Functions that invoke or are related to invoking other functions and operations.">Invocation Functions</a></p>
          </td>

          <td data-label="Supported Functions" class="slds-cell-wrap" style="vertical-align:top;" headers="d97125e57 ">
            <p><code>COUNTQUERY(<var>query</var>)</code></p>
            <p style="margin-bottom:0;"><code>FUNCTION(<var>class</var>, <var>method</var>, <var>input</var>...)</code></p>
          </td>

          <td class="slds-cell-wrap" style="vertical-align:top;" headers="d97125e57 ">
            <p><code>GENERATEGLOBALKEY(<var>prefix</var>)</code></p>
            <p style="margin-bottom:0;"><code>QUERY(<var>query</var>)</code></p>
          </td>

        </tr>
      </tbody>
    </table>

## Omnistudio Function Syntax

Many Omnistudio functions use these parameters and conventions:

- expression refers to a single value or to a construct that contains variables, operators, and functions. The expression must resolve to the data type of the parameter.
- value refers to a single value that matches the data type of the parameter.
- data refers to multiple data types. The parameter can accept a value, an expression, or a list of values. The parameter description documents the valid data types.
- `...` (ellipses) indicate parameters that accept multiple arguments as a comma-separated list of values. The arguments must match the data type of the parameter.
- A formula can include only a single operation. It can include nested functions and operators, each of which can appear on a separate line, as can parameters and arguments. But a formula can't include two independent operations. The formula editor doesn't support line continuation characters (such as `\`) or termination characters (such as `;`) between independent operations. For an example of the error for invalid newlines in a formula, see [Supported Data Mapper and Integration Procedure Data Types](https://help.salesforce.com/s/articleView?id=xcloud.os_omnistudio_data_mapper_and_integration_procedure_data_types.htm&release=264.0.0&type=5 "Understand data types to determine the kinds of values you can use with operators and pass to functions. Data types also define the kinds of values that functions can return. Topics related to data types include constants that have special meaning and error cases that you can encounter.").

For more information about specifying different data types, using constants, and understanding the errors that a function can return, see [Supported Data Mapper and Integration Procedure Data Types](https://help.salesforce.com/s/articleView?id=xcloud.os_omnistudio_data_mapper_and_integration_procedure_data_types.htm&release=264.0.0&type=5 "Understand data types to determine the kinds of values you can use with operators and pass to functions. Data types also define the kinds of values that functions can return. Topics related to data types include constants that have special meaning and error cases that you can encounter.").

## Omnistudio Function Updates

Documentation about Omnistudio functions was updated Summer '25:

- Parameter names and syntax were changed for consistency and clarity. Unless otherwise noted, all functions have the same parameters and usage.
- These date and time functions were added to the documentation:
    
    - `DAY(date)`
    - `HOUR(time)`
    - `MINUTE(time)`
    - `SECOND(time)`
    - `TIMEDIFF(firstTime, secondTime)`
- The date and time `TODAY()` function no longer accepts a format parameter.
- These string functions were added to the documentation:
    
    - `JOIN(string..., token)`
    - `SPLIT(string, token)`
- The list and array function `MAPTOLIST(jsonObject)` was added to the documentation.
- These functions were removed from the documentation:
    
    - `BASEURL`
    - `InvokeIP`
    - `ORDERITEMATTRIBUTES`