# LayoutAction > Something the server does when a layout element is interacted with. `gg.lode.lecternapi.api.ui.LayoutAction` --- ## Signature ```java public record LayoutAction(String element, Trigger trigger, Type type, String value) ``` --- ## Notes Actions are the reason a layout can be a menu rather than a display. An element names itself with a reference; an action binds a trigger on that reference to an effect, run a command, play a sound, open another layout. The client reports the interaction, the server decides what it means, which is the only arrangement that keeps a clicked button from being something a client can simply claim to have run. An action with an empty `element()` belongs to the layout itself rather than to any one element, which is how `Trigger.OPEN` and `Trigger.CLOSE` are usually written. --- ## Variants | Type | Description | |---|---| | `Trigger` | What has to happen for an action to fire. Values: `CLICK`, `RIGHT_CLICK`, `HOVER`, `HOVER_END` | | `Type` | What an action does. Values: `COMMAND`, `CONSOLE`, `MESSAGE`, `SOUND`, `TELEPORT`, `REDIRECT`, `CLOSE` | --- ## Methods ### isLayoutScoped ```java public boolean isLayoutScoped() ``` Whether this action belongs to the layout rather than to a single element. ---