> ## Documentation Index
> Fetch the complete documentation index at: https://developer.jtl-software.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ButtonNode

> A button that runs an action.



**Kind**: `object`

## Implements

- `SettingsNode`

## Fields

**`kind`**: `SettingsNodeKind!`

Discriminator of the node kind.

---

**`id`**: `String!`

The stable ID of the node. For an input it equals the setting key, for example sales.invoice.dueDays.

---

**`parentId`**: `String`

The ID of the group the node belongs to. Absent for a top-level node.

---

**`level`**: `Int!`

The depth in the tree. A top-level node has level 1.

---

**`sortOrder`**: `Int!`

The position among the nodes of the same parent. Lower comes first.

---

**`label`**: `String`

The text shown for the node, in the language of the caller.

---

**`description`**: `String`

A further text, in the language of the caller.

---

**`helpUrl`**: `String`

A link to a help page.

---

**`keywords`**: `[String!]!`

Extra words the search finds the node by.

---

**`scopes`**: `[SettingsScope!]!`

The scopes the setting can be stored for. Almost every setting has only Global.

---

**`requiredPermission`**: `String`

The Wawi permission the caller needs to see and change the node.

---

**`isReadOnly`**: `Boolean!`

Whether the caller cannot change the setting.

---

**`dependencies`**: `[SettingsDependency!]!`

Rules that make the node visible, enabled or required depending on other settings.

---

**`actionId`**: `String!`

The ID of the action. Run it with the executions route.

---

**`isDestructive`**: `Boolean!`

Whether the action changes or removes data.

---

**`confirmationText`**: `String`

A text to confirm before the action runs.

---

**`parameters`**: `[ActionParameter!]!`

Values to ask for before the action runs.

---

**`runsLong`**: `Boolean!`

Whether the action can take long, so the frontend should expect Running and poll.

