> ## Documentation Index
> Fetch the complete documentation index at: https://developer.dromo.io/llms.txt
> Use this file to discover all available pages before exploring further.

# AI Editing with User Transformations

## Overview

Dromo's Transform Data feature allows your users to create bulk transformations from natural language and execute them on the dataset. The feature is available on the Pro plan.

<Check>
  Enable Transform Data with the [`reviewStep.enableUserTransformations` setting](/reference/settings/settings#enableusertransformations).
</Check>

With `enableUserTransformations` enabled, you will see a "Transform Data" button on the Data Review step.

<img src="https://mintcdn.com/dromo-88ab5238/JhcPQeQwUXntQUrW/images/guides/review_screen_button.png?fit=max&auto=format&n=JhcPQeQwUXntQUrW&q=85&s=0d7d34fd511fa0b7b0a470cb87a5349f" alt="Transform data button" width="1266" height="408" data-path="images/guides/review_screen_button.png" />

Click this button to open the Transform Data modal. You will be prompted for what you would like to do to your data.

<img src="https://mintcdn.com/dromo-88ab5238/JhcPQeQwUXntQUrW/images/guides/empty_prompt.png?fit=max&auto=format&n=JhcPQeQwUXntQUrW&q=85&s=0128bc185ee196824855b26886e03f3c" alt="Transform data prompt" width="1424" height="844" data-path="images/guides/empty_prompt.png" />

Transform Data takes a user's request and turns it in to a transformation that can be applied to the data. If the request was successfully able to produce a transformation, the result is previewed to the user so they can optionally accept or reject it.

<img src="https://mintcdn.com/dromo-88ab5238/JhcPQeQwUXntQUrW/images/guides/last-comma-first.png?fit=max&auto=format&n=JhcPQeQwUXntQUrW&q=85&s=6b6926da824420b754a001908bfdc210" alt="Data Change Preview" width="1594" height="1570" data-path="images/guides/last-comma-first.png" />

The feature can edit values and remove rows. It cannot add rows.

<img src="https://mintcdn.com/dromo-88ab5238/JhcPQeQwUXntQUrW/images/guides/remove-cheap-rows.png?fit=max&auto=format&n=JhcPQeQwUXntQUrW&q=85&s=be98526a7f61e8b8dd6599a246f22f5e" alt="Remove low value rows" width="1642" height="1430" data-path="images/guides/remove-cheap-rows.png" />

## Best Practices

### Include context about inputs

The AI building the transformation function never has access to the import data, so including context about both the input and output is often helpful.

For example, given a column containing dates formatted like "Jul-8-1999" where you wish to convert them to "07/08/1999," you should request "Change the date format from 'Jul-8-1999' to MM-DD-YYYY." A request unlikely to succeed would be "Change the dates to US format" because the AI does not have access to the current format.

<img src="https://mintcdn.com/dromo-88ab5238/JhcPQeQwUXntQUrW/images/guides/date-format.png?fit=max&auto=format&n=JhcPQeQwUXntQUrW&q=85&s=6af9e5e2c3bbe37f3038aa6216ea2dc6" alt="date-example" width="1478" height="1704" data-path="images/guides/date-format.png" />

### Only apply transformations to one row at a time

A transformation only has access to an individual row. If you need to perform an operation that requires knowledge of other rows or information outside of the table, the transformation will not succeed.

<img src="https://mintcdn.com/dromo-88ab5238/JhcPQeQwUXntQUrW/images/guides/failed-prompt.png?fit=max&auto=format&n=JhcPQeQwUXntQUrW&q=85&s=35ef9248e817aae49bf4351d4a441949" alt="failed prompt" width="1508" height="844" data-path="images/guides/failed-prompt.png" />

### Keep expectations realistic

Transform data performs best when it is given a simple, well-scoped task. Changing values based on simple criteria, adjusting date and time formats, and removing rows based on simple conditions are all great uses for the transform data feature.

## Privacy

Dromo sends the request to OpenAI along with some information about the schema, but absolutely no user data is transmitted as part of this process.
