# RudderStack Transformation

RudderStack Transformation API allows you to manage transformations and libraries for customer data pipelines. Use it to create, update, and delete transformations programmatically.

- **Category:** analytics
- **Auth:** BASIC
- **Composio Managed App Available?** N/A
- **Tools:** 12
- **Triggers:** 0
- **Slug:** `RUDDERSTACK_TRANSFORMATION`
- **Version:** 00000000_00

## Tools

### Create Library

**Slug:** `RUDDERSTACK_TRANSFORMATION_CREATE_LIBRARY`

Tool to create a library in RudderStack Transformation. Use when you need to create reusable JavaScript or Python code that can be imported in transformations. Libraries enable code reusability and version maintenance.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | Yes | The library code. |
| `name` | string | Yes | Name of the library that you wish to create. This name is used as modules when it is imported in the transformation code. |
| `publish` | boolean | No | If true, publishes your library to the latest version; code is made live for incoming traffic. Default is false. |
| `language` | string ("javascript" | "pythonfaas") | Yes | Language of the library code. Acceptable values are 'javascript' and 'pythonfaas'. |
| `description` | string | No | Description of the library. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Transformation

**Slug:** `RUDDERSTACK_TRANSFORMATION_CREATE_TRANSFORMATION`

Tool to create a RudderStack transformation. When publish=false (default), creates an unpublished transformation not available to event traffic. When publish=true, publishes the transformation making it live for incoming events and connectable to destinations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | Yes | The transformation code to execute. For JavaScript, this should export a transformEvent function. For Python, implement the appropriate function signature. |
| `name` | string | Yes | Name of the transformation to create. This is a human-readable identifier for the transformation. |
| `events` | array | No | Array of test events (JSON objects) to validate your transformation code. Use this to test your transformation logic before deploying. |
| `publish` | boolean | No | Whether to publish the transformation. When false (default), RudderStack creates revisions but the transformation is not available to incoming event traffic. When true, the transformation can be connected to destinations and its code is made live for incoming traffic. |
| `language` | string ("javascript" | "pythonfaas") | Yes | Language of the transformation code. Must be either 'javascript' or 'pythonfaas'. |
| `description` | string | Yes | Description of the transformation. Use this to document what the transformation does. |
| `destination_ids` | array | No | Array of destination IDs to connect with this transformation. The transformation will apply to events sent to these destinations. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Transformation

**Slug:** `RUDDERSTACK_TRANSFORMATION_DELETE_TRANSFORMATION`

Delete a published transformation by ID. Note that RudderStack never deletes a transformation revision. Use this when you need to remove a transformation from the system.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the transformation to delete. This is the transformation ID returned when the transformation was created or listed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get library by ID

**Slug:** `RUDDERSTACK_TRANSFORMATION_GET_LIBRARY`

Retrieves a single published library by its unique identifier. Use when you need to fetch details of a specific library.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the library to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Library Version

**Slug:** `RUDDERSTACK_TRANSFORMATION_GET_LIBRARY_VERSION`

Tool to retrieve a single library version by library ID and version ID. Use when you need to fetch details of a specific library revision in RudderStack transformations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The library ID |
| `versionId` | string | Yes | The version ID of the library |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Transformation

**Slug:** `RUDDERSTACK_TRANSFORMATION_GET_TRANSFORMATION`

Tool to retrieve a published transformation by its ID from RudderStack. Use when you need to fetch details about a specific transformation including its code, version, and associated destinations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the transformation to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Transformation Version

**Slug:** `RUDDERSTACK_TRANSFORMATION_GET_TRANSFORMATION_VERSION`

Retrieve a single transformation revision by transformation ID and version ID. Use when you need to get details about a specific version of a RudderStack transformation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The transformation ID |
| `versionId` | string | Yes | The version ID of the transformation |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List All Libraries

**Slug:** `RUDDERSTACK_TRANSFORMATION_LIST_LIBRARIES`

Tool to retrieve all published libraries for a workspace. Use when you need to list available libraries for transformations.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Library Versions

**Slug:** `RUDDERSTACK_TRANSFORMATION_LIST_LIBRARY_VERSIONS`

Tool to get all library revisions for a library ID. Use when you need to retrieve all versions of a specific library in RudderStack Transformation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The library ID to retrieve versions for |
| `count` | integer | No | Gets the number of objects in your array. By default always returns the first 5 objects. |
| `orderBy` | string | No | Pass either 'asc' for ascending or 'desc' for descending. By default, it sets the order as ascending on createdAt. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List All Transformations

**Slug:** `RUDDERSTACK_TRANSFORMATION_LIST_TRANSFORMATIONS`

Tool to retrieve all published transformations for a workspace. Use when you need to list available transformations or find a specific transformation by name.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Transformation Versions

**Slug:** `RUDDERSTACK_TRANSFORMATION_LIST_TRANSFORMATION_VERSIONS`

Tool to list all transformation versions (revisions) for a given transformation ID. Use when you need to retrieve the version history of a specific transformation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The transformation ID for which to retrieve all versions |
| `count` | integer | No | Gets the number of objects in your array. By default always returns the first 5 objects. |
| `orderBy` | string | No | Pass either 'asc' for ascending or 'desc' for descending. By default, it sets the order as ascending on createdAt. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Transformation

**Slug:** `RUDDERSTACK_TRANSFORMATION_UPDATE_TRANSFORMATION`

Tool to update and optionally publish a RudderStack transformation. Use when you need to modify a transformation's name, description, or code. Updating creates a new revision and sets it as published if the publish flag is true.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The transformation ID to update. |
| `code` | string | No | Updated transformation code. Cannot change the language of the transformation code. |
| `name` | string | No | Updated transformation name. |
| `publish` | boolean | No | If true, publishes the transformation to the latest version. If false or omitted, only creates a new revision without publishing. |
| `description` | string | No | Updated transformation description. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
