A field can carry a JS function body that reshapes its value before rendering. Two bindings are in scope: value (the field's resolved value) and data (the full payload). Expected return by field type:
- text / multiline — a string (requires
format: "custom") - checkbox — a boolean
- radio — a 0-based option index
The sandbox has no network or timers, and each call is capped at 50 ms. Returning null means "no value": text falls back to the untransformed value, checkboxes stay unchecked, radios stay blank.
Failures (throw, timeout, compile error) follow the request's ignoreErrors flag: false aborts with 400 transform_failed listing every failed field; true applies the null behaviour and reports the failure count in the X-Pluma-Transform-Errors response header.
Need help?
Open a ticket from the in-app Support page, or email [email protected].