---
sourceDocument: Zurich Build workflows
sourceDocumentLink: https://www.servicenow.com/docs/r/zurich/build-workflows

 Release :

    - zurich

ft:locale :

    - en-US

ft:publication_title :

    - Zurich Build workflows

ft:clusterId :

    - crworkflow

bundleId :

    - crworkflow

workflow :

    - Creator


---

# Transform functions

# Transform functions {#ariaid-title1}

* Release version: Zurich
* 
* Updated July 31, 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 minutes to read

Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) Summarized using AI  
This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.  

## Summary of Transform functions

Transform functions in ServiceNow allow you to manipulate data pill values without scripting.
They enable reformatting text, performing calculations, sanitizing inputs to prevent security risks, and converting complex objects into raw XML.
This functionality supports data integration and transformation across flows, ensuring data is correctly formatted and secure before use in various automation tasks.
Show full answer Show less  

## Key Features

* **Categories:** Includes date and time, string, utilities, simple math, sanitize shell arguments, sanitize SQL, and complex data transform functions.
* **Use Cases:** Examples include trimming whitespace, adjusting date/time values for time zones, sanitizing SQL inputs to prevent injection attacks, retrieving mapped priority values, and serializing complex objects to XML for REST requests.
* **Application:** Apply transform functions by selecting the f(x) icon on a data pill in flow design, choosing from available functions, providing required inputs, and applying them sequentially.
* **Multiple Transforms:** You can apply several transform functions in order, such as converting a string to a date and then adding time.
* **Automatic Suggestions:** The system suggests appropriate transform function categories for certain inputs like SQL statements in JDBC steps or commands in SSH steps to enhance security and data integrity.

## Practical Guidance

* **Data Type Compatibility:** Always verify the data pill type matches the transform function to avoid errors or skipped transformations.
* **Independent Application:** Transform functions create runtime values per input and do not alter original data pills; apply transforms to each input individually if reused.
* **Result Verification:** Use flow execution details to view final transformed values and conduct testing to ensure expected outcomes.
* **Error Handling:** Invalid transformations, such as producing an unparsable date, will result in errors; careful configuration is necessary.

## Transform Function Categories

* **Date and Time:** Adjust or reformat date/time data pills.
* **String:** Modify or calculate string values.
* **Utilities:** Extract values from arrays or complex objects.
* **Simple Math:** Perform basic calculations on numbers.
* **Sanitize Shell Arguments:** Remove unsafe characters to prevent command injection in shell scripts.
* **Sanitize SQL:** Escape special characters to prevent SQL injection.
* **Complex Data:** Serialize complex objects into XML format for REST requests.  
Transform data pill values without the need to write a script. Use transform functions to reformat text, perform mathematical calculations, sanitize potentially unsafe SQL statements, and serialize complex objects to raw XML.

Available transform function categories include [date and time](https://www.servicenow.com/docs/8V_jzgnqOwwEjnPv~_YDUg "Use date and time transform functions to recalculate or reformat data pills for Date/Time values."), [string](https://www.servicenow.com/docs/qpm2B5MYR6N_3SESVwJ0cw "Use string transform functions to reformat or perform calculations on String data pills."), [utilities](https://www.servicenow.com/docs/EGCKBC9whiJ27KuRb~3yUw "Use utilities transform functions to return a Complex Object from an Array, or a value associated with a specific key."), [simple math](https://www.servicenow.com/docs/E4NnVhr960mdHMq4Iko2ag "Use simple math transform functions to perform basic mathematical calculations on Number data pills."), [sanitize shell
arguments](https://www.servicenow.com/docs/crmkuCBYWraxhACxrsVtYQ "Use sanitize shell arguments transform functions to remove any potentially unsafe command injections in String data pills to be used for Bash shell scripting."), [sanitize
SQL](https://www.servicenow.com/docs/twVDld9KB4xng~ZjGSaTzg "Use sanitize SQL transform functions to escape special characters and prevent injection in String data pills to be used for SQL statements."), and [complex
data](https://www.servicenow.com/docs/InX2LpufH0a~vInBN8aZ2Q "Use complex data transform functions to serialize Complex Object data pills into an XML format."). Some examples of transform function uses include:  
* Trimming white space from a string before integrating it into the CMDB.
* Adding days, hours, minutes, and seconds to a date or time to localize for a specific time zone.
* Sanitizing SQL values to prevent injection as part of a [JDBC step](https://www.servicenow.com/docs/PKaaMz1STIY4AO41VxakCg "Create a reusable action to send SQL commands to a relational database.") for an Integration Hub spoke.
* Retrieving an appropriate value from a map of priorities that have equivalent values in a third-party database.
* Transforming a complex object into raw XML as part of a [REST step](https://www.servicenow.com/docs/tUVolvQ0m3Aj8P_5sMaShg "Send an outbound REST web service request to an external system.") Request Body field.
{#transform-functions__ul_n23_4cl_t3b}  
Note:  
Custom transform functions are not currently supported. For information on creating custom functions to transform Workflow Studio data, see [Inline scripts](https://www.servicenow.com/docs/idxx2DwRGdHGAXghLwjJSQ "Enable users with coding experience to write inline scripts that set and modify input values during the configuration of an action or flow. Use inline scripts to modify input values that require small format conversions, data transformations, or math operations.").

## Applying a transform function {#transform-functions__section_rjd_mhl_t3b}

You can apply a transform function to a data pill when you are designing or creating a
flow. To apply a transform function, point or tab to a data pill and select the
f(x) (![function icon]()) icon that appears. Selecting the icon displays the Available Transforms list.
Select the transform function that you want to apply to your data pill, enter information
into any required fields, and select Apply. Your selected transform
function appears in the Applied Transforms list.

## Applying multiple transform functions {#transform-functions__section_f5v_dqn_kjb}

You can apply multiple transform functions to the same data pill. The system applies
transform functions sequentially from top to bottom as listed in the Applied Transforms
list. For example, you can apply a String to Date transform function followed by the Add
Time transform function.

## Viewing applied transform functions {#transform-functions__section_afb_fng_r3b}

You can find out which transform functions are applied to a data pill by looking at the Applied Transforms list. When you are designing or creating a flow or action, point to or tab into the data pill and select the f(x) (![function icon selected]()) icon. You can also view applied transform functions in the [flow execution details](https://www.servicenow.com/docs/rLpldfsM4CNOFsLeZ2Wr_w "View run-time information about an action or flow directly from the design environment, such as the current state, items run, and values produced. Open related records from embedded ServiceNow AI Platform editors or in a new tab.").  
Note:  
The output values for applied transform functions are field values, not [Display values](https://www.servicenow.com/docs/access?context=c_DisplayValues&version=zurich&pubname=zurich-platform-administration&ft:locale=en-US).  
When a data pill is dropped into certain types of inputs, the system automatically suggests a transform function category that is related to the input. For example, the system suggests transform functions to escape special characters in SQL statements, prevent script injection in shell scripts, and validate API or operation requests. Currently, the system suggests transform function categories for these inputs:

* For data pills dropped in the JDBC step's SQL Statement input, the [sanitize SQL transform
  function category](https://www.servicenow.com/docs/twVDld9KB4xng~ZjGSaTzg "Use sanitize SQL transform functions to escape special characters and prevent injection in String data pills to be used for SQL statements.") is displayed automatically.
* For data pills dropped in the SSH step's Command input, the [sanitize shell arguments
  transform function category](https://www.servicenow.com/docs/crmkuCBYWraxhACxrsVtYQ "Use sanitize shell arguments transform functions to remove any potentially unsafe command injections in String data pills to be used for Bash shell scripting.") is displayed automatically.
{#transform-functions__ul_wd4_13d_ljb}

## General guidelines {#transform-functions__id_m33_yvb_ptb}

Apply transform functions to valid types of data pills for the input
:   Be sure to check the type of data pill for the input before applying a transform function. Applying a transform function to an invalid data pill type results in the system skipping the transform. An error also occurs if
    transform functions produce results that the system cannot parse. For example, when transforming a string into a date, the system throws an error if the transform does not produce a valid date.

Confirm applied transform functions for multiple inputs with the same
data
pill
:   A transform function creates a new value at runtime for a specific input, and does not change the original data pill. If you use the same data pill across multiple actions or steps,
    transform functions must therefore be applied to each individual input.

View final transformed values in the flow execution details{#transform-functions__final-transformed-value}
:   Only the final transformed value appears in the [flow execution details](https://www.servicenow.com/docs/rLpldfsM4CNOFsLeZ2Wr_w "View run-time information about an action or flow directly from the design environment, such as the current state, items run, and values produced. Open related records from embedded ServiceNow AI Platform editors or in a new tab."), and not the value for each applied transform.

Test transform functions to verify they produce expected results
:   Make sure that your transform functions produce the expected runtime values for the data pills. For more information, see [Test a flow](https://www.servicenow.com/docs/eLrc5UmGYTsSLCB7gHWktQ "Before activating a flow so other users can access it, test to make certain it works the way you expect.") and [Test an action](https://www.servicenow.com/docs/GikQMpC~7q9UAU7e2NKAKg "Test an action before publishing it for other users.").
* **[Date and time transform functions](https://www.servicenow.com/docs/8V_jzgnqOwwEjnPv~_YDUg)**   
  Use date and time transform functions to recalculate or reformat data pills for Date/Time values.
* **[String transform functions](https://www.servicenow.com/docs/qpm2B5MYR6N_3SESVwJ0cw)**   
  Use string transform functions to reformat or perform calculations on String data pills.
* **[Utilities transform functions](https://www.servicenow.com/docs/EGCKBC9whiJ27KuRb~3yUw)**   
  Use utilities transform functions to return a Complex Object from an Array, or a value associated with a specific key.
* **[Simple math transform functions](https://www.servicenow.com/docs/E4NnVhr960mdHMq4Iko2ag)**   
  Use simple math transform functions to perform basic mathematical calculations on Number data pills.
* **[Sanitize shell arguments transform functions](https://www.servicenow.com/docs/crmkuCBYWraxhACxrsVtYQ)**   
  Use sanitize shell arguments transform functions to remove any potentially unsafe command injections in String data pills to be used for Bash shell scripting.
* **[Sanitize SQL transform functions](https://www.servicenow.com/docs/twVDld9KB4xng~ZjGSaTzg)**   
  Use sanitize SQL transform functions to escape special characters and prevent injection in String data pills to be used for SQL statements.
* **[Complex data transform functions](https://www.servicenow.com/docs/InX2LpufH0a~vInBN8aZ2Q)**   
  Use complex data transform functions to serialize Complex Object data pills into an XML format.

