---
schema_version: "1"
id: 256f7a18df7ecc58c92bfb1c3a313c529aaab9d01097a44f4403ccbeee380835
title: Layout Components
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/salesforce-slack-sdk/apex-slack-sdk/guides/components/layout.md
canonical_url: https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/layout.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: d083bff83147f3c81876bbb91554d52c24df2dffda67614e12235ab08678b8f3
products:
  - Apex SDK for Slack (Beta)
---
# Layout Components

Groups element components together, such as a header or section.

Use layout components to position content in a surface. Most layout components can contain other components. The contained components must be [elements](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/elements.md).

**note:** Layout components must be rendered within a [surface](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/surface.md) or an [iteration](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/uisf.md#iteration).

Layout components have a `visibility` property, which defaults to `true`.

Use these layout components to build your views.

## Actions

Available in: [Modal](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/surface.md#modal) | [Message](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/surface.md#message) | [Home tab](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/surface.md#home)

Use an actions component to group interactive elements together.

**Examples**

This example shows an action block with a [`select` component](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/elements.md#select).

```yaml
components:
  - definition: actions
    name: "action_block"
    components:
      - definition: select
        properties:
          name: "select_options"
          value: "option_1"
          placeholder: "Please select an option."
          options:
            - identifier: "option_1"
              label: "Option 1"
              description: "This is option 1"
            - identifier: "option_2"
              label: "Option 2"
      - definition: button
        properties:
          label: "Button"
          name: "my_button"
```

This example shows an action block with a [`checkboxGroup`](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/elements.md#checkbox-group), [`radioGroup`](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/elements.md#radio-group), and a [`button`](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/elements.md#button) component.

```yaml
description: "This view contains an actions block"
components:
  - definition: modal
    properties:
      title: "Actions Block Example"
    components:
      - definition: actions
        name: "my_actions_block"
        components:
          - definition: checkboxGroup
            properties:
              name: "exampleCheckboxGroupName"
              options:
                - identifier: "option_1"
                  label: "Option 1"
                  value: true
                - identifier: "option_2"
                  label: "Option 2"
                  value: true
          - definition: radioGroup
            properties:
              name: "exampleRadioGroupName"
              options:
                - identifier: "option_1"
                  label: "Option 1"
                  description: "This is a radio button"
                - identifier: "option_2"
                  label: "Option 2"
          - definition: button
            properties:
              label: "Action Button Example"
              name: "actionButton"
              value: "hello"
            events:
              onclick:
                definition: "apex__action__SelectOption"
```

This example creates an action block with `onchange` events.

```yaml
description: "This is a simple view to test block actions via events"
components:
  - definition: modal
    properties:
      title: "Events Example"
    components:
      - definition: actions
        name: "actions_block"
        components:
          - definition: select
            properties:
              placeholder: "Static Select"
              name: "exampleSelect"
              options:
                - identifier: "option_1"
                  label: "Option 1"
                  description: "This item is option 1"
                - identifier: "option_2"
                  label: "Option 2"
            events:
              onchange:
                definition: "apex__action__SelectOption"
                properties:
                  actionDescription: "select onchange"
          - definition: conversationsSelect
            properties:
              name: "exampleConversationsSelect"
              placeholder: "Conversations Select"
            events:
              onchange:
                definition: "apex__action__SelectConversation"
                properties:
                  actionDescription: "conversationsSelect onchange"
          - definition: usersSelect
            properties:
              name: "exampleUsersSelect"
              placeholder: "Users Select"
            events:
              onchange:
                definition: "apex__action__SelectUsers"
                properties:
                  actionDescription: "usersSelect onchange"
```

This example creates an action block with `onchange` and `onclick` events.

```yaml
description: "This is a simple view to test block actions via events"
components:
  - definition: modal
    properties:
      title: "Events Example"
    components:
      - definition: actions
        name: "checkbox_action_block"
        components:
          - definition: checkboxGroup
            properties:
              name: "exampleCheckboxGroupName"
              options:
                - identifier: "option_1"
                  label: "Option 1"
                  value: true
                - identifier: "option_2"
                  label: "Option 2"
                  value: true
            events:
              onchange:
                definition: "apex__action__SelectOptions"
                properties:
                  actionDescription: "checkbox onchange"
          - definition: radioGroup
            properties:
              name: "exampleRadioGroupName"
              options:
                - identifier: "option_1"
                  label: "Option 1"
                  description: "This is a radio button"
                - identifier: "option_2"
                  label: "Option 2"
            events:
              onchange:
                definition: "apex__action__SelectOptionChange"
                properties:
                  actionDescription: "radioGroup onchange"
          - definition: button
            properties:
              label: "Action Button Example"
              value: "abc123"
            events:
              onclick:
                definition: "apex__action__ClickButton"
                properties:
                  actionDescription: "button onclick"
          - definition: button
            properties:
              label: "Action Button With Name and Event"
              name: "button_with_events"
              value: "abc123"
            events:
              onclick:
                definition: "apex__action__ClickButton"
                properties:
                  actionDescription: "button onclick"
          - definition: overflow
            properties:
              name: "exampleOverflow"
              options:
                - identifier: "overflow_1"
                  label: "Overflow 1"
                - identifier: "overflow_2"
                  label: "Overflow 2"
            events:
              onclick:
                definition: "apex__action__ClickOverflow"
                properties:
                  actionDescription: "overflow onclick"
```

**Keys**

| Key          | Type                                             | Required | Description                                                                                         |
| ------------ | ------------------------------------------------ | -------- | --------------------------------------------------------------------------------------------------- |
| `definition` | String                                           | Yes      | The value must be `actions`.                                                                        |
| `components` | Array                                            | Yes      | A maximum of 25 components to render inside the **actions** component.                              |
| `name`       | String, [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md)  | No       | The name to uniquely identify this component within the view.                                       |
| `visibility` | Boolean, [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md) | No       | Indicates whether the component is shown (`true`) or hidden (`false`). The default value is `true`. |

## Context

Available in: [Modal](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/surface.md#modal) | [Message](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/surface.md#message) | [Home tab](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/surface.md#home)

Displays message context, which can include images and text.

![Context Example](https://developer.salesforce.com/media/context.png)

**Example**

This example shows a context component with some text and an image.

```yaml
description: "Example usage of the context component"
components:
  - definition: modal
    properties:
      title: "Context Example"
      submitLabel: "Submit"
      closeLabel: "Cancel"
    components:
      - definition: context
        name: "context_block"
        components:
          - definition: text
            properties:
              text:
                text: "*This* is :smile: markdown"
                type: "mrkdwn"
          - definition: image
            properties:
              url: "https://image.freepik.com/free-photo/red-drawing-pin_1156-445.jpg"
              altText: "Book cover"
          - definition: text
            properties:
              text: "Author: KA Applegate"
```

**Keys**

| Key          | Type                                             | Required | Description                                                                                                                       |
| ------------ | ------------------------------------------------ | -------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `definition` | String                                           | Yes      | The value must be `context`.                                                                                                      |
| `components` | Array                                            | Yes      | A maximum of 10 [text](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/elements.md#text) and [image](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/elements.md#inline-image) components to render inside the context component. |
| `name`       | String, [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md)  | No       | The name to uniquely identify this component within the view.                                                                     |
| `visibility` | Boolean, [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md) | No       | Indicates whether the component is shown (`true`) or hidden (`false`). The default value is `true`.                               |

## Divider

Available in: [Modal](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/surface.md#modal) | [Message](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/surface.md#message) | [Home tab](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/surface.md#home)

A content divider, like an `<hr>`, to split up different components inside a message.

**Examples**

Here's a simple divider.

```yaml
components:
  - definition: divider
```

This divider is added after the header in a message.

```yaml
components:
  - definition: message
    components:
      - definition: header
        properties:
          text: "{!view.properties.headerText}"
      - definition: divider
```

**Keys**

| Key          | Type                                             | Required | Description                                                                                         |
| ------------ | ------------------------------------------------ | -------- | --------------------------------------------------------------------------------------------------- |
| `definition` | string                                           | Yes      | The value must be `divider`.                                                                        |
| `name`       | String, [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md)  | No       | The name to uniquely identify this component within the view.                                       |
| `visibility` | Boolean, [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md) | No       | Indicates whether the component is shown (`true`) or hidden (`false`). The default value is `true`. |

## Header

Available in: [Modal](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/surface.md#modal) | [Message](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/surface.md#message) | [Home tab](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/surface.md#home)

A header with large, bold text.

![Header Example](https://developer.salesforce.com/media/header_standard.png)

**Example**

```yaml
components:
  - definition: header
    name: "headerId"
    properties:
      text: "Header text value"
```

**Keys**

| Key               | Type                                                                                     | Required | Description                                                                                         |
| ----------------- | ---------------------------------------------------------------------------------------- | -------- | --------------------------------------------------------------------------------------------------- |
| `definition`      | String                                                                                   | Yes      | The value must be `header`.                                                                         |
| `properties`      | Object                                                                                   | Yes      | The component's properties.                                                                         |
| `properties.text` | String, [Plain Text](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/composition.md#plain-text), [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md) | Yes      | The text for the header component.                                                                  |
| `name`            | String, [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md)                                          | No       | The name to uniquely identify this component within the view.                                       |
| `visibility`      | Boolean, [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md)                                         | No       | Indicates whether the component is shown (`true`) or hidden (`false`). The default value is `true`. |

## Image

Available in: [Modal](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/surface.md#modal) | [Message](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/surface.md#message) | [Home tab](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/surface.md#home)

A simple image block, designed to make photos pop.

![Image layout component example](https://developer.salesforce.com/media/image_block.png)

**tip:** For a component that holds an image and text or other content, see [inline image](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/elements.md#inline-image). Both image components use `- definition: image`. However, they're available in different containing components, and the layout image has a `title` property.

**Examples**

This example creates a standalone image.

```yaml
components:
  - definition: image
    name: "standalone_image"
    properties:
      url: "https://via.placeholder.com/150"
      altText: "Placeholder image"
      title: "Placeholder image title"
```

This example creates several images in a section and context component.

```yaml
description: "Example usage of the image component"
components:
  - definition: modal
    properties:
      title: "Image Example"
    components:
      - definition: image
        name: "standaloneImage"
        properties:
          url: "http://placekitten.com/500/500"
          altText: "Cat photo"
          title: "Enjoy this cat photo"
      - definition: divider
      - definition: section
        properties:
          text: "An inline image in a section block."
        components:
          - definition: image
            properties:
              url: "http://placekitten.com/500/500"
              altText: "Cat photo"
      - definition: divider
      - definition: context
        name: "imageInContext"
        components:
          - definition: image
            properties:
              url: "http://placekitten.com/500/500"
              altText: "Cat photo"
```

**Keys**

| Key                  | Type                                                                                     | Required | Description                                                                                             |
| -------------------- | ---------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------- |
| `definition`         | String                                                                                   | Yes      | The value must be `image`.                                                                              |
| `properties`         | Object                                                                                   | Yes      | The component's properties.                                                                             |
| `properties.url`     | String, [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md)                                          | Yes      | The URL of the image to display. URLs must use a valid protocol scheme such as `http://` or `https://`. |
| `properties.altText` | String, [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md)                                          | Yes      | A plain text description of the image.                                                                  |
| `properties.title`   | String, [Plain Text](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/composition.md#plain-text), [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md) | No       | The title for the image. This value can be provided only for a standalone image.                        |
| `name`               | String, [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md)                                          | No       | The name to uniquely identify this component within the view.                                           |
| `visibility`         | Boolean, [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md)                                         | No       | Indicates whether the component is shown (`true`) or hidden (`false`). The default value is `true`.     |

## Input

Available in: [Modal](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/surface.md#modal) | [Message](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/surface.md#message) | [Home tab](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/surface.md#home)

A layout component that can contain input elements in a `components` array.

**Examples**

This example creates an input block with a [text input](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/elements.md#text-input) component.

```yaml
components:
  - definition: input
    name: "input_block"
    properties:
      required: true
      label: "Input Block"
    components:
      - definition: textInput
        properties:
          value: "default value"
```

This example creates an input block with a [checkbox](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/elements.md#checkbox) component.

```yaml
components:
  - definition: input
        name: "checkbox"
        properties:
          label: "Checkbox"
        components:
          - definition: checkbox
            properties:
              name: "single_checkbox"
              value: true
```

This example creates input blocks with nested elements.

```yaml
description: "Input Blocks with nested elements"
components:
  - definition: modal
    properties:
      title: "Input Block Example"
    components:
      - definition: input
        name: "my_text_input_block"
        properties:
          required: true
          label: "My text input block"
        components:
          - definition: textInput
            properties:
              value: "hello world"
              name: "my_input_element"
              multiline: false
              placeholder: "Enter Text Here"
              minLength: 2
              maxLength: 25
      - definition: input
        name: "my_radio_group_input_block"
        properties:
          required: true
          label: "My radioGroup input block"
        components:
          - definition: radioGroup
            properties:
              name: "simple_radio_buttons"
              value: "option_1"
              options:
                - identifier: "option_1"
                  label: "Option 1"
                  description: "This item is option 1"
                - identifier: "option_2"
                  label: "Option 2"
              confirm:
                title: "Confirm Selection"
                text: "Please confirm your selected option."
                confirm: "Confirm"
                deny: "Cancel"
                style: "primary"
```

**Keys**

| Key                         | Type                                                                                     | Required | Description                                                                                                                                                                                                                                                                                                                                                                                                              |
| --------------------------- | ---------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `definition`                | String                                                                                   | Yes      | The value must be `input`.                                                                                                                                                                                                                                                                                                                                                                                               |
| `properties`                | Object                                                                                   | Yes      | The component's properties.                                                                                                                                                                                                                                                                                                                                                                                              |
| `properties.label`          | String, [Plain Text](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/composition.md#plain-text), [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md) | Yes      | The input label                                                                                                                                                                                                                                                                                                                                                                                                          |
| `properties.hint`           | String, [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md)                                          | No       | A hint that can be used to convey format or other input requirements for the input component rendered within the input.                                                                                                                                                                                                                                                                                                  |
| `properties.required`       | Boolean, [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md)                                         | No       | If `true`, the form can't be submitted when a field in the input component is empty. The default value is `false`.                                                                                                                                                                                                                                                                                                       |
| `properties.dispatchAction` | Boolean, [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md)                                         | No       | If `true`, an element within the input dispatches to an action bound to it. The default value is `false`.                                                                                                                                                                                                                                                                                                                |
| `components`                | Array                                                                                    | Yes      | A single component to render inside the input. The component can be a [checkbox group](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/elements.md#checkbox-group), a [conversations-select](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/elements.md#conversations-select), [date picker](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/elements.md#date-picker), [radio group](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/elements.md#radio-group), [select](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/elements.md#select), [text input](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/elements.md#text-input), [time picker](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/elements.md#time-picker), or [users select](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/elements.md#users-select). |
| `name`                      | String, [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md)                                          | No       | The name to uniquely identify this component within the view.                                                                                                                                                                                                                                                                                                                                                            |
| `visibility`                | Boolean, [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md)                                         | No       | Indicates whether the component is shown (`true`) or hidden (`false`). The default value is `true`.                                                                                                                                                                                                                                                                                                                      |

**warning:** When `properties.required` is `false`, Slack appends `(optional)` on the field label. `(optional)` isn't currently localized when your Slack locale and Salesforce locale are different. To ensure labels are localized correctly, update your [Slack locale](https://slack.com/help/articles/215058658-Manage-your-language-preferences) to match your [Salesforce locale](https://help.salesforce.com/s/articleView?id=xcloud.admin_language_locale_currency.htm&type=5).

## Section

Available in: [Modal](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/surface.md#modal) | [Message](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/surface.md#message) | [Home tab](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/surface.md#home)

Use a section to render [plain text](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/composition.md#plain-text) or [mrkdwn](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/composition.md#mrkdwn) and optionally a single component, like an image.

**Examples**

This example renders plain text.

```yaml
components:
  - definition: section
    properties:
      text: "Hello, world!"
```

This example renders markdown.

```yaml
components:
  - definition: section
    properties:
      text:
        text: "This text includes *bold* and _italic_."
        type: "mrkdwn"
```

Use markdown to render a field value based on a view property.

```yaml
schema:
  properties:
    fieldName:
      type: string
    fieldValue:
      type: string
components:
  - definition: modal
    properties:
      title: "My Field"
    components:
      - definition: section
        properties:
          text:
            text: "*{!view.properties.fieldName}:* {!view.properties.fieldValue}"
            type: "mrkdwn"
```

A section can contain up to 10 text fields.

```yaml
components:
  - definition: section
    properties:
      fields:
        - text: "This the *first* field."
          type: "mrkdwn"
        - text: "This the *second* field."
          type: "mrkdwn"
```

You can include a single component in a section.

```yaml
components:
  - definition: section
    name: "my_section_block"
    properties:
      text: "This is a text field"
    components:
      - definition: image
        properties:
          url: "https://via.placeholder.com/150"
          altText: "Placeholder image"
```

This example contains a few sections with text and text fields.

```yaml
components:
  - definition: modal
    properties:
      title: "An Example Section"
    components:
      - definition: section
        name: "section_text"
        properties:
          text: "Section block with text only"
      - definition: section
        name: "section_markdown"
        properties:
          fields:
            - text: "Section block with a section input component"
              emoji: true
      - definition: section
        name: "simple_markdown_section_text_fields"
        properties:
          text: "text field"
          fields:
            - text: "Field 1 :smile:"
              emoji: true
            - text: "Field 2"
            - text: "Field 3"
            - text: "Field 4"
            - text: "Field 5"
            - text: "Field 6"
            - text: "Field 7"
            - text: "Field 8"
            - text: "Field 9"
            - text: "Field with link: https://www.salesforce.com/"
              type: "mrkdwn"
              verbatim: false
        components:
          - definition: select
            properties:
              name: "section_select"
              placeholder: "Section Select Input"
              options:
                - identifier: "option_1"
                  label: "Option 1"
                  description: "This is option 1"
                - identifier: "option_2"
                  label: "Option 2"
```

**Keys**

| Key                 | Type                                                                                                                                             | Required | Description                                                                                                                                                                                                     |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `definition`        | String                                                                                                                                           | Yes      | The value must be `section`.                                                                                                                                                                                    |
| `properties`        | Object                                                                                                                                           | Yes      | The component's properties.                                                                                                                                                                                     |
| `properties.text`   | String, [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md), [Plain Text](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/composition.md#plain-text), [Mrkdwn](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/composition.md#mrkdwn)                        | No       | The text for the component. Required if the `fields` property is empty or absent. If the value is a string, the component renders plain text. To render mrkdwn, use the [mrkdwn object](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/composition.md#mrkdwn). |
| `properties.fields` | Array of items of type String, [Plain Text](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/composition.md#plain-text), [Mrkdwn](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/guide/composition.md#mrkdwn), [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md) | No       | An array of text fields to render within the component. Required if the `text` property is absent. The maximum number of text fields is 10.                                                                     |
| `components`        | Array                                                                                                                                            | No       | A single component to render inside the input.                                                                                                                                                                  |
| `name`              | String, [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md)                                                                                                  | No       | The name to uniquely identify this component within the view.                                                                                                                                                   |
| `visibility`        | Boolean, [Expression](https://developer.salesforce.com/docs/platform/salesforce-slack-sdk/build/expressions.md)                                                                                                 | No       | Indicates whether the component is shown (`true`) or hidden (`false`). The default value is `true`.                                                                                                             |
