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

# Enrichers for Custom Transformations

This enricher type allows you to add custom transformation logic using CDAP’s extensive Wrangler Directives. The below listed are some of the commonly used directives, for more such directives that might suit your use case, refer to the [GitHub](https://github.com/data-integrations/wrangler/tree/develop/wrangler-docs/directives) [help documentation](https://github.com/data-integrations/wrangler/tree/develop/wrangler-docs/directives).

<Note>
  **Note:**

  This transformation is applied to the Source column. Hence, for the Directive where the Source and Destination column name must be defined, ensure that it refers to your Source column name in both places.On clicking the below links, you are redirected to the relevant GitHub help documentation for directive code examples and references.
</Note>

| **DIRECTIIVES**                                                                                                                                                                                                              | **DESCRIPTION**                                                               |
| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------- |
| **Parsers**                                                                                                                                                                                                                  |                                                                               |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/json-path.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/json-path.md)                         | It uses a DSL (a JSON path expression) for parsing JSON records.              |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/parse-as-currency.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/parse-as-currency.md)         | It is used to parse a string representation of currency into a number.        |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/parse-as-datetime.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/parse-as-datetime.md)         | It is used to parse strings with DateTime values to CDAP DateTime type.       |
| **Transformations**                                                                                                                                                                                                          |                                                                               |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/changing-case.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/changing-case.md)                 | It is used to change the case of column values.                               |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/cut-character.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/cut-character.md)                 | It selects parts of a string value.                                           |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/set-column.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/set-column.md)                       | It sets the column value to the result of an expression execution.            |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/find-and-replace.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/find-and-replace.md)           | It is used to transform the string column values using a sed-like expression. |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/quantize.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/quantize.md)                           | It quantises a column based on the specified ranges.                          |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/extract-regex-groups.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/extract-regex-groups.md)   | It extracts the data from a regex group into its own column.                  |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/set-charset.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/set-charset.md)                     | It sets the encoding and then converts the data to a UTF-8 string.            |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/split-by-separator.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/split-by-separator.md)       | It splits a column into two columns based on a separator.                     |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/split-url.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/split-url.md)                         | It splits a URL into its constituents.                                        |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/text-distance.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/text-distance.md)                 | It measures the difference between the two sequences of characters.           |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/text-metric.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/text-metric.md)                     | It measures the difference between the two sequences of characters            |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/url-decode.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/url-decode.md)                       | It decodes from the application/x-www-form-urlencoded MIME format.            |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/url-encode.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/url-encode.md)                       | It encodes to the application/x-www-form-urlencoded MIME format.              |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/trim.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/trim.md)                                   | It is used to trim the white spaces around string data.                       |
| **Encoders and Decoders**                                                                                                                                                                                                    |                                                                               |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/decode.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/decode.md)                               | It decodes a column value as one of base32, base64 or hex.                    |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/encode.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/encode.md)                               | It encodes a column value as one of base32, base64 or hex.                    |
| **Date Transformations**                                                                                                                                                                                                     |                                                                               |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/diff-date.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/diff-date.md)                         | It calculates the difference between two dates.                               |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/format-date.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/format-date.md)                     | It is used for custom date-time formatting patterns.                          |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/format-unix-timestamp.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/format-unix-timestamp.md) | It formats a UNIX timestamp as a date.                                        |
| **DateTime Transformations**                                                                                                                                                                                                 |                                                                               |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/current-datetime.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/current-datetime.md)           | It generates the current DateTime using the given zone or UTC, by default.    |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/datetime-to-timestamp.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/datetime-to-timestamp.md) | It converts a DateTime value to timestamp with the given zone.                |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/format-datetime.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/format-datetime.md)             | It formats a DateTime value to custom date time pattern strings.              |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/timestamp-to-datetime.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/timestamp-to-datetime.md) | It converts a timestamp value to DateTime.                                    |
| **Hashing & Masking**                                                                                                                                                                                                        |                                                                               |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/hash.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/hash.md)                                   | It generates a message digest.                                                |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/mask-number.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/mask-number.md)                     | It applies substitution masking on the column values.                         |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/mask-shuffle.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/mask-shuffle.md)                   | It applies shuffle masking on the column values.                              |
| **Column Operations**                                                                                                                                                                                                        |                                                                               |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/merge.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/merge.md)                                 | It merges two columns by inserting a third column.                            |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/swap.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/swap.md)                                   | It swaps the column names of two columns.                                     |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/set-type.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/set-type.md)                           | It converts the data type of a column.                                        |
| **Transient Aggregators & Setters**                                                                                                                                                                                          |                                                                               |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/increment-variable.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/increment-variable.md)       | It increments a transient variable with a record of processing.               |
| [https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/set-variable.md](https://github.com/data-integrations/wrangler/blob/develop/wrangler-docs/directives/set-variable.md)                   | It sets a transient variable with a record of processing.                     |

<Note>
  **Note:**

  You cannot add Custom Transformer for the Country and ID fields. To know more about how to configure this enricher, refer to [Configuring the Custom Transformer Enrichers](/articles/unify-customer/configuring-the-custom-transformation-enricher).
</Note>
