Action system overview
The action system runs on event hooks (onChanged, onCreated, onBeforeSave, onAfterSave) and provides template automation without writing scripts.
Action input formats
Actions can be specified as:- A single action string
- A pipe-delimited chain:
action1 | action2 - A JSON array string
- A programmatic string array
Conditional actions
Actions can be guarded with awhen clause:
See Templates and syntax for the full conditional expression reference.
Runtime variables
Common runtime variables available in action expressions:
Nullish fallback is supported:
${selectedObject.DefaultStatus ?? "New"}
Built-in actions
Practical action patterns
Refresh dependent lists
Capture previous state
Conditional workflow update
Validation gate on save
Scripting
Integration paths
There are three ways to integrate scripts:autofillScriptonEditableField— field-triggered autofillScriptButton— explicit user-triggered executioncallScriptaction — part of an action chain
Script types
Caseflow uses three script types:- workview_autofill
- workview_action
- event_hook
Triggered by field changes. The request context includes:
- Application name
- Class name
- Object ID
- Trigger attribute and value
- Target attribute list
{"values": {...}}) which is applied to the target attributes.ScriptButton vs callScript
- Use
ScriptButtonfor explicit user-triggered operations — “run this script now” - Use
callScriptaction when the script should be part of an action chain, typically as a side effect after a change or save
Error handling
- Script failures can trigger toast feedback
onErrorhooks can execute fallback actionsthrowErrorcan intentionally halt save/action chains with user-facing messages
