One button on an action card — a pre-filled invocation of a self-sufficient action. Clicking it dispatches action on the resolved handler with scope as the action context's scope and skipDialog set, so the action proceeds without prompting (the card already supplied the parameters).

interface ActionCardButton {
    action: string;
    handlerUuid: string;
    iconFAClass?: string;
    label: string;
    scope?: Record<string, unknown>;
    skipDialog?: boolean;
}

Properties

action: string

The action/executor name (or method name) to dispatch.

handlerUuid: string

The button's handler — the document whose owner may click it — as a document uuid, or the @self sentinel (sohl.document.chat.SELF_HANDLER) for an open button any player may answer (their own default character responds).

iconFAClass?: string

Optional Font Awesome icon class shown before the label.

label: string

The button label.

scope?: Record<string, unknown>

The parameters handed to the action as its context scope.

skipDialog?: boolean

Whether the click runs the action with skipDialog. Defaults to true — an action card pre-fills the parameters, so the dialog is unnecessary.