The minimal spec for buildScriptActionDef — what a module supplies to attach a Script Action. Only name and executor are required; the rest default to match the sheet's createAction authoring path.

interface ScriptActionSpec {
    executor: string;
    group?: string;
    iconFAClass?: string;
    minActorOwnership?: number;
    name: string;
    scope?: string;
    title?: string;
    trigger?: string;
    visible?: string;
}

Properties

executor: string

The UUID of the Foundry Macro to run — a reference, never inline code. Must be non-blank. Running the action invokes Macro#execute (permission-gated).

group?: string

Context-menu sort group; defaults to GENERAL.

iconFAClass?: string

FontAwesome icon class; defaults to fa-solid fa-bolt.

minActorOwnership?: number

Minimum Foundry document-ownership level to execute (0–3); defaults to 3 (OWNER). GMs always pass.

name: string

The action's identity — becomes both the shortcode (what sohl.schedule / the [Perform] reminder address) and, unless title overrides it, the display title. Must be non-blank.

scope?: string

Execution scope selecting which logic the executor runs against (SELF / ITEM / ACTOR); defaults to SELF.

title?: string

Display title; defaults to name.

trigger?: string

sohl.entity.expr.SafeExpression gating whether the action may run; defaults to "true".

visible?: string

sohl.entity.expr.SafeExpression gating whether the action appears in the UI; defaults to "true".