Data Transformation Language (DTL)
Data Transformation Language (DTL) is a powerful data manipulation toolset that allows you to extract, manipulate, and transform data. You can use DTL to describe how to transform one set of data into another, validate input data, or perform complex calculations.
The DTL block within the Checkpoint Studio allows you to harness this toolset: providing highly configurable and flexible data mapping functionality to your workflows.
Adding DTL Transformations to a Checkpoint
- From the Step Palette click on the Advanced tab. Scroll down until you see the Dodgeball Custom Data Transformation dropdown, then drag the Data Transformation: DTL step into the checkpoint flow diagram.
- Connect the step into the diagram where you want it to run. You will need to place the transformation after any steps that output data required by the transformation. For example, if you are using Kount to generate a Risk Score, you will need to add the transformation step after Kount in the workflow.
- Click on the Transformation Step to open up the flyout configuration.
From the flyout:
- Fill out the Description field and click Save to optionally provide a description of the transformations, which will display on the workflow view.
- Click on Manage Transformations to open a modal where you can configure the transformations happening within the step.
Managing Transformations for a Step
The Manage Transformations modal has four sections:
1: Example Available Data
This section contains a JSON representation of mocked data that may be available to the workflow at this step. This input data can be temporarily modified for testing, but any changes will not be saved. It is sent as input data to the Transformation block in order to generate the result. Data is calculated based on the combination of possible input fields for the checkpoint and the possible outputs of steps prior to the Custom Data Transformation Block.
2: Transformation
This block is where you enter a DTL transformation. See the DTL documentation for examples of proper usage.
Transformations must be provided as a string enclosed by double quotes, or a valid JSON object. Some quick examples:
"(: $event.someIntegration.isAuthorized :)"— Returns the value sent into the checkpoint forsomeIntegration.isAuthorized{ "myCustomValue": "(: $event.someIntegration.isAuthorized :)"}— Returns an object with the keymyCustomValuecontaining the value ofsomeIntegration.isAuthorized
Warning: Do not send secrets into a DTL transformation. Data returned from DTL is logged in Developer Logs and may be passed on throughout the application. For example, a transformation like
{ "myCustomValue": "A MANUALLY TYPED SECRET" }would not hide the secret later in the workflow.
3: Result
You can preview the result of your DTL calculation based on the Example Available Data in the Result block. This lets you verify your transformation logic before saving.
4: Destination
In order to have the output of your DTL step available later in the workflow, export it in the Destination Block:
- Click Add Exported Data Element.
- Choose a Source Path. To return the value inside
myCustomValue, typemyCustomValue. To return the entire result, type*. - Configure the Destination Field — the name under which the exported value will be available later in the workflow. Click the pencil icon to edit the field name. Make sure to choose a type that matches the value of your result (e.g.
Boolean).
You can also map DTL results directly to fields expected by a future integration step. This is useful when you want to craft an entire payload for a downstream integration using complex transformation logic. You can export multiple fields if needed.
5: Remember to Save
Once you have set up your transformation, click the Save button in the bottom right of the modal.
Using Transformed Values
Once you have exported transformed values, you can use them throughout your workflow — in Condition Editor blocks, Input Data Mapping, and more.
Troubleshooting
When you run a Custom Data Transformation: DTL Step, logs for the step will appear in the Developer Logs section of your application. You can examine the result received from your transformation as well as the transformation itself in these logs.
Updated about 2 hours ago
