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

# Transform

> Create computed fields using formula expressions or SQL

Creates new computed fields by applying formula expressions or raw SQL to your data. Use it for calculations, string operations, conditionals, and any rule-based transformation that doesn't require an LLM.

## Configuration

| Setting                 | Description                                               |
| ----------------------- | --------------------------------------------------------- |
| **Transforms**          | Formula-based field mappings (optional)                   |
| **SQL Transforms**      | DuckDB SQL-based field mappings (optional)                |
| **Virtual Object Name** | Namespace prefix for output fields (default: `transform`) |

### Formula Transforms

| Setting        | Description                                            |
| -------------- | ------------------------------------------------------ |
| **Field Name** | Name for the new computed field                        |
| **Formula**    | Expression using `{{Integration.Entity.Field}}` syntax |

### SQL Transforms

| Setting            | Description                     |
| ------------------ | ------------------------------- |
| **Field Name**     | Name for the new computed field |
| **SQL Expression** | DuckDB SQL expression           |

## How It Works

<Steps>
  <Step title="Add field mappings">
    Define one or more new fields. For each, provide a name and either a formula or SQL expression.
  </Step>

  <Step title="Reference upstream fields">
    Use `{{Integration Label.Entity.Field}}` syntax to reference existing fields in your formulas. Virtual fields from earlier nodes use `{{virtual.node_name.field_name}}`.
  </Step>

  <Step title="Chain transforms">
    Later mappings within the same node can reference fields created by earlier mappings.
  </Step>
</Steps>

## Output

New computed columns are added to each record, named as `{virtual_object_name}.{field_name}`. These become available as **Mentions** in downstream nodes.

## Example

Calculate deal value and categorize:

* **Field 1:** `deal_value` = `{{Salesforce.Opportunity.Amount}} * {{Salesforce.Opportunity.Probability}}`
* **Field 2 (SQL):** `tier` = `CASE WHEN deal_value > 100000 THEN 'Enterprise' WHEN deal_value > 10000 THEN 'Mid-Market' ELSE 'SMB' END`

## Best Practices

* Use formulas for simple arithmetic and string operations
* Use SQL transforms for complex logic (CASE statements, string functions, date math)
* Give fields descriptive names - they appear as Mentions throughout your workflow
* Later fields can reference earlier fields defined in the same Transform node

## Related Nodes

* **[Data Normalization](/guide/nodes/transform/data-normalization-node)** - uses an LLM for intelligent cleaning instead of rule-based formulas
* **[Aggregation](/guide/nodes/transform/aggregation-node)** - computes summary statistics (SUM, AVG, COUNT) across groups
* **[Code Execution](/guide/nodes/code/code-execution-node)** - run custom Python code for transformations that go beyond formulas and SQL
