These blocks include more advanced features from the helper library.
Trace
Trace works server-side and browser-side. When the form is being displayed in a browser the trace messages appear in the form debug panel (if you've turned it on) and in the browser's developer console. Server-side trace messages appear in the API Server console.
You can plug anything into this block to have its value recorded in the tracing. See Debugging and Tracing for more information. You can also set the trace level - one of "Info", "Warn" or "Error"
Tracing needs to be enabled in your form's settings, and should be disabled when you make your form available to the public.
Get Site Variable
This block works server-side as a page loads, it implements the .getSiteVariable function.
The block can return variables that the website sets, like the current article ID, the page URL, or whether or not the current user is logged in. Expand the block's drop-down box for the full list.
Removing Actions
These blocks remove unprocessed actions when a form page is submitted.
You can pick a field (the second block in the image above) and the actions of that field won't be processed, or enter any string.
See .utilRemoveAction and .utilRemoveAllActions for a full description of the functions.
Action Results
Returns the responses of form actions that have completed so far. See .utilGetActionResults.
Assisted Mode
The Assisted Service template allows one user to act on behalf of another. This block lets returns true if the current form is being completed by a user who is proxying another.
Is the Page Being Submitted?
This function returns true while the form page is being submitted. It is useful when you are writing validation functions that only need to be triggered when the page is submitted. It's only available client-side.
Remove Page Data
This block can only be used in wizard and navigation buttons, in the functions that determine which page should be displayed next. This is known as the "control phase" of a form's lifecycle. It removes all of the page's data from the form session, so the form will be submitted as if the named page didn't exist.
Typically you'd use this field with some of the logic blocks, clearing all of the data from a page if something else happens. It's a useful one to use if you've got a complicated multipage form with branching paths through it and you're worried about users navigating backwards and forwards through the form.
The second block that plugs into this block will (currently) always be a variable called sessionData.
Create a Custom Function
Defines a custom function with any number of parameters. Setting a scope (either server only or server and client) defines where your function can be called from.
See .createCustomFn for an example.
Invoking Custom Functions
Use this block to invoke custom functions created using the block above, or in the "Custom Code" section of your form settings. Use the gear icon to add parameters.
List Callable Functions
Uses .getCallableCustomFnNames to return an array of the names of any custom functions in the current scope.