# redpanda_data_transform

> For the complete documentation index, see [llms.txt](https://docs.redpanda.com/llms.txt). Component-specific: [connect-full.txt](https://docs.redpanda.com/connect-full.txt)

---
title: redpanda_data_transform
latest-connect-version: 4.93.0
latest-operator-version: v26.1.4
latest-console-tag: v3.7.3
latest-redpanda-tag: v26.1.9
docname: processors/redpanda_data_transform
page-component-name: connect
page-version: master
page-component-version: master
page-component-title: Connect
page-relative-src-path: processors/redpanda_data_transform.adoc
page-edit-url: https://github.com/redpanda-data/rp-connect-docs/edit/main/modules/components/pages/processors/redpanda_data_transform.adoc
page-git-created-date: "2024-08-15"
page-git-modified-date: "2026-05-26"
---

<!-- Source: https://docs.redpanda.com/connect/components/processors/redpanda_data_transform.md -->

**Available in:** Self-Managed

Executes a Redpanda Data Transform as a processor

Introduced in version 4.31.0.

#### Common

```yml
processors:
  label: ""
  redpanda_data_transform:
    module_path: "" # No default (required)
    input_key: "" # No default (optional)
    output_key: "" # No default (optional)
    input_headers:
      include_prefixes: []
      include_patterns: []
    output_metadata:
      include_prefixes: []
      include_patterns: []
```

#### Advanced

```yml
processors:
  label: ""
  redpanda_data_transform:
    module_path: "" # No default (required)
    input_key: "" # No default (optional)
    output_key: "" # No default (optional)
    input_headers:
      include_prefixes: []
      include_patterns: []
    output_metadata:
      include_prefixes: []
      include_patterns: []
    timestamp: "" # No default (optional)
    timeout: 10s
    max_memory_pages: 1600
```

This processor executes a Redpanda Data Transform WebAssembly module, calling OnRecordWritten for each message being processed.

You can find out about how transforms work here: [https://docs.redpanda.com/current/develop/data-transforms/how-transforms-work/](https://docs.redpanda.com/current/develop/data-transforms/how-transforms-work/)

## [](#fields)Fields

### [](#input_headers)`input_headers`

Determine which (if any) metadata values should be added to messages as headers.

**Type**: `object`

### [](#input_headers-include_patterns)`input_headers.include_patterns[]`

Provide a list of explicit metadata key regular expression (re2) patterns to match against.

**Type**: `array`

**Default**: `[]`

```yaml
# Examples:
include_patterns:
  - .*

# ---

include_patterns:
  - _timestamp_unix$
```

### [](#input_headers-include_prefixes)`input_headers.include_prefixes[]`

Provide a list of explicit metadata key prefixes to match against.

**Type**: `array`

**Default**: `[]`

```yaml
# Examples:
include_prefixes:
  - foo_
  - bar_

# ---

include_prefixes:
  - kafka_

# ---

include_prefixes:
  - content-
```

### [](#input_key)`input_key`

An optional key to populate for each message. This field supports [interpolation functions](https://docs.redpanda.com/connect/configuration/interpolation/#bloblang-queries).

**Type**: `string`

### [](#max_memory_pages)`max_memory_pages`

The maximum amount of wasm memory pages (64KiB) that an individual wasm module instance can use

**Type**: `int`

**Default**: `1600`

### [](#module_path)`module_path`

The path of the target WASM module to execute.

**Type**: `string`

### [](#output_key)`output_key`

An optional name of metadata for an output message key.

**Type**: `string`

### [](#output_metadata)`output_metadata`

Determine which (if any) message headers should be added to the output as metadata.

**Type**: `object`

### [](#output_metadata-include_patterns)`output_metadata.include_patterns[]`

Provide a list of explicit metadata key regular expression (re2) patterns to match against.

**Type**: `array`

**Default**: `[]`

```yaml
# Examples:
include_patterns:
  - .*

# ---

include_patterns:
  - _timestamp_unix$
```

### [](#output_metadata-include_prefixes)`output_metadata.include_prefixes[]`

Provide a list of explicit metadata key prefixes to match against.

**Type**: `array`

**Default**: `[]`

```yaml
# Examples:
include_prefixes:
  - foo_
  - bar_

# ---

include_prefixes:
  - kafka_

# ---

include_prefixes:
  - content-
```

### [](#timeout)`timeout`

The maximum period of time for a message to be processed

**Type**: `string`

**Default**: `10s`

### [](#timestamp)`timestamp`

An optional timestamp to set for each message. When left empty, the current timestamp is used.

This field supports [interpolation functions](https://docs.redpanda.com/connect/configuration/interpolation/#bloblang-queries).

**Type**: `string`

```yaml
# Examples:
timestamp: ${! timestamp_unix() }

# ---

timestamp: ${! metadata("kafka_timestamp_ms") }
```