You can create a custom transformation by writing custom Groovy code in the Transformation Editor. After you save the custom transformation, it is added as one individual execution step to the transformation script.
The Transformation Editor provides access to lists of functions and attributes to insert into a transformation script. The individual Groovy functions are documented in Transform Function Reference.
Also note that like other scripting languages, Groovy has a set of reserved keywords that have special meanings and therefore can't be used as variable or function names in transformation scripts. For details, see Unsupported Groovy language features.
To create a custom transformation:
If you are done making changes to the project data set, you can commit the changes. See Running the transformation script against a project data set.