--- title: "Event Transformation" url: https://docs.catalyst.zoho.com/en/signals/help/targets/event-body-setup/event-transformation/ description: "Customize the event body before delivering it to the targets for operational efficiency." last_updated: 2026-08-17T12:16:04Z service: Signals type: general --- # Event Transformation You can tailor the event schema for each target system. This allows you to build complex orchestration flows with different schemas for the same event across diverse targets. Signals simplifies the process without coding by using JSON path and mapping logic for schema transformation. ### Extraction This approach allows extracting a single key from the schema and forwarding only that specific key to the designated target. #### How to extract data? 1. Create a rule following the instructions in [this](https://docs.catalyst.zoho.com/en/signals/help/rules/create-rule/) document. 2. While configuring *Target Input*, select **Extraction** under *Target Input*. 3. Click the box for **Path** to view all keys in the event schema. Choose the required key and save the rule. ![Extracting a key from the event body](https://catalyst-docs-development.zohostratus.in/images/help/signals/help/targets/event-transformation/extraction.webp) ### Transformation Data transformation relies on a mapping concept utilizing JSON path. #### How to transform data? 1. Create a rule following the instructions in [this](https://docs.catalyst.zoho.com/en/signals/help/rules/create-rule/) document. 2. While configuring *Target Input*, select **Transformation** under *Target Input*. 3. In the new template, provide the key name and in place of its value specify the JSON path of the desired key from the sample event schema. ![Simple transformation of an event body](https://catalyst-docs-development.zohostratus.in/images/help/signals/help/targets/event-transformation/simple.gif) 4. Employ the **for-each method** to create an array in your template. This will help you to access specific objects/keys from any array in the sample schema. Deploy this syntax **forEach((var{n})->{JSON_path_of_desired_key} )** next to the key that you want to be an array. In the syntax, **var{n}** designates the variable name of the array and the specific index in the array. In the place of **JSON_path** in the syntax, you can also employ a new key or a JSON object, which may or may not carry a for-each method within it. ![Complex transformation of an event body](https://catalyst-docs-development.zohostratus.in/images/help/signals/help/targets/event-transformation/complex.gif) To map a key value within the syntax, specify the **var{n}** (variable) that you have set in the argument and navigate to your desired key. > **Note:** Catalyst Signals provides **suggestions of JSON paths** in the template compiler pane based on the provided sample event schema. This eases the task of searching for keys and their order from the sample schema.