

# JSON configuration file schema
<a name="custom-visual-transform-json-config"></a>

The JSON config file defines your custom visual transform. It sets the name, description, function to call, and any parameters. The file supports the following fields:
+ `name` (required) – The system name for the transform. This name must follow Python naming rules. Start with a letter or underscore. Use only letters, digits, and underscores.
+ `displayName` (optional) – The name displayed in the Visual ETL editor. If not specified, `name` is used.
+ `description` (optional) – A description displayed in Visual ETL that is searchable.
+ `functionName` (required) – The Python function name to call.
+ `parameters` (optional) – An array of parameter objects. Each object can have the following fields:
  + `name` (required) – The name passed to the Python function.
  + `displayName` (optional) – The name shown in the UI.
  + `type` (required) – The Python data type. Valid values: `str`, `int`, `float`, `list`, `bool`.
  + `isOptional` (boolean) – Set to true if the parameter is optional.
  + `description` (optional) – Help text shown in the UI.

The following example shows a JSON config file. This transform adds a prefix to all column names:

```
{
  "name": "add_prefix_transform",
  "displayName": "Add Prefix (Custom Transform Example)",
  "description": "Prepends 'my_custom_prefix_' to all column names.",
  "functionName": "add_prefix_transform",
  "parameters": []
}
```