> For the complete documentation index, see [llms.txt](https://docs.skyone.cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.skyone.cloud/english/skyone-studio/integrations/flows/tool-modules/data-transform-module.md).

# Data Transform Module

* [Definition](#definicao)
* [Configuration of the Data Transform module](#configuracao-do-modulo-transformacao-de-dados)
  * [Variable configuration](#variable-configuration)
    * [Result](#result)

### **Definition** <a href="#definicao" id="definicao"></a>

The "**Data Transform**" module, the platform's standard module for use in any flow, was created for data transformation using  [JSONATA](https://jsonata.org/), thus facilitating the creation of complex operations.&#x20;

JSONata is a lightweight language designed to query and transform JSON data structures.

The "**Data Transform**" module consists of a single operation that allows the manipulation of multiple data points and the transformation of these data into the desired format. This module always initializes the data parameter, which enables us, as seen in Object Handling, not only to obtain a data set but also to filter so that only a specific subset is invoked.

{% hint style="info" %}
"**Data Transform**" is ideal for more complex data manipulations with an internal response within the flow. For less complex data manipulations, we recommend using an [SMOP](/english/skyone-studio/integrations/flows/data-operations/smop-small-operations.md). For more complex data manipulations that require a response to an HTTP request, we recommend using the "**Return"** module.
{% endhint %}

### Configuration of the Data Transform module <a href="#configuracao-do-modulo-transformacao-de-dados" id="configuracao-do-modulo-transformacao-de-dados"></a>

The "**Data Transform**" module appears in the **Tools** option when editing a flow. As soon as you click to add it, the modal opens for configuration:

<figure><img src="/files/gRYN3RpZX2bFXekbSsj1" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
[Find out about the Module Header here](/english/skyone-studio/integrations/flows/module-header.md).
{% endhint %}

#### Variable Configuration

In this section, under the "**Data Source**" tab, you will find the following fields:

* **Key:** variable identifier
* **Value**: type or drag a variable
* **Type:** choose the most appropriate data type. Options are: text, number, boolean, object, and array.

If you prefer, you can fill in the Source JSON

After completing the configurations, click "**Next**".

#### **Result**

On this screen, you can execute and view the data transformation information and manipulate it with JSONata.

To finalize the module configuration, click "**Save**".

***

### JSONata and extra functions

The **Data Transformation** module uses extra JSONata functions for advanced string manipulation, encryption, and file handling.

Below are the functions available to optimize your integration flows:

* **md5(value):** Generates an MD5 hash in hexadecimal format. Useful for quick integrity checks.
* **sha256(value, digest?):** Generates a SHA-256 hash, which is more robust than MD5. The default output is hex.&#x20;
* **generateHmac(value, secret):** Creates a hash-based message authentication code to securely sign data.
* **removeValues(value, callback):** Recursively removes keys from an object or array based on a condition.
* **removeKeys(value, targetKey):** Cleans unwanted fields in nested structures by removing all occurrences of a specific key.
* **splitPDF(value):** Processes a Base64 PDF and separates it into an array, where each item is an individual page.

#### How to use the functions in practice

To use the functions in your **Data Transformation** module:

1. Click **Edit** in the module to access the editor.
2. Enter the JSONata expression using the desired extra function, such as `md5(source_field)`.
3. Click **Run** to validate the hash generation or structure cleanup.
4. Check the result in the output panel before saving the configuration.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.skyone.cloud/english/skyone-studio/integrations/flows/tool-modules/data-transform-module.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
