# Option object

A single item in a select menu, multi-select menu, checkbox group, radio button group or overflow menu.

| | |
|---|---|
| **Used in** | [Checkboxes element](https://workstation.repzo.com/docs/developers/block-kit/elements/checkboxes-element), [Multi-select menu element](https://workstation.repzo.com/docs/developers/block-kit/elements/multi-select-menu-element), [Overflow menu element](https://workstation.repzo.com/docs/developers/block-kit/elements/overflow-menu-element), [Radio button group element](https://workstation.repzo.com/docs/developers/block-kit/elements/radio-button-group-element), [Select menu element](https://workstation.repzo.com/docs/developers/block-kit/elements/select-menu-element) |

## Fields

| Field | Type | Description | Required? |
|---|---|---|---|
| `text` | [Text object](https://workstation.repzo.com/docs/developers/block-kit/objects/text-object) | A text object that defines the text shown for the option. Overflow, select and multi-select menus can only use `plain_text`; checkboxes and radio buttons can use `mrkdwn`. Maximum length for the `text` in this field is 75 characters. | Required |
| `value` | String | A unique string value that is passed to your app when this option is chosen. Maximum length for this field is 150 characters. | Required |
| `description` | [Text object](https://workstation.repzo.com/docs/developers/block-kit/objects/text-object) | A `plain_text` text object that defines a line of descriptive text shown below the option's `text` in select menus, multi-select menus, checkbox groups and radio button groups. Checkboxes and radio buttons can also use `mrkdwn`. Maximum length for the `text` in this field is 75 characters. | Optional |
| `url` | String | A URL to open in the reader's browser when the option is chosen. **Only available in overflow menus.** Maximum length for this field is 3000 characters. Your app still receives the interaction payload. | Optional |

> **How Repzo Chat differs from Slack**
>
> - Values must be unique within an element; a duplicate returns a warning.
> - In checkboxes and radio buttons, `mrkdwn` text and descriptions are accepted but the live control shows them as plain text, with the formatting marks removed.
> - Overflow menus don't show `description`.
> - An overflow option's `url` opens in the Repzo mobile app. On the web the choice only reaches your app (with `url` in `selected_option`) — use a link button when the link must open everywhere.
> - The `selected_option` your app receives is copied from the stored message, so a reader can only ever pick an option you offered.

## Examples

### Options in a select menu

```json
{
  "blocks": [
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "Set the priority for ticket *#4512 — Login fails on the mobile app*"
      },
      "accessory": {
        "type": "static_select",
        "action_id": "ticket_priority",
        "placeholder": {
          "type": "plain_text",
          "text": "Select a priority"
        },
        "options": [
          {
            "text": {
              "type": "plain_text",
              "text": "Urgent"
            },
            "value": "urgent",
            "description": {
              "type": "plain_text",
              "text": "First response within 1 hour"
            }
          },
          {
            "text": {
              "type": "plain_text",
              "text": "High"
            },
            "value": "high",
            "description": {
              "type": "plain_text",
              "text": "First response within 4 hours"
            }
          },
          {
            "text": {
              "type": "plain_text",
              "text": "Normal"
            },
            "value": "normal",
            "description": {
              "type": "plain_text",
              "text": "First response within 1 business day"
            }
          }
        ]
      }
    }
  ]
}
```

### Options as radio buttons

```json
{
  "blocks": [
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "How should we follow up with *Atlas Engineering*?"
      },
      "accessory": {
        "type": "radio_buttons",
        "action_id": "follow_up_channel",
        "initial_option": {
          "text": {
            "type": "plain_text",
            "text": "Phone call"
          },
          "value": "call"
        },
        "options": [
          {
            "text": {
              "type": "plain_text",
              "text": "Phone call"
            },
            "value": "call"
          },
          {
            "text": {
              "type": "plain_text",
              "text": "Email"
            },
            "value": "email",
            "description": {
              "type": "plain_text",
              "text": "Uses the follow-up template"
            }
          },
          {
            "text": {
              "type": "plain_text",
              "text": "On-site visit"
            },
            "value": "visit"
          }
        ]
      }
    }
  ]
}
```

## Related

- [Composition objects](https://workstation.repzo.com/docs/developers/block-kit/objects)
- [Block Kit overview](https://workstation.repzo.com/docs/developers/block-kit)
