---
title: "Block"
summary: "@slack/web-api / Block"
url: "https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/interfaces/Block"
type: "guide"
---

Source: https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/interfaces/Block

[@slack/web-api](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api.md) / Block

# Interface: Block

Defined in: packages/types/dist/block-kit/blocks.d.ts:3

## Extended by {#extended-by}

*   [`ActionsBlock`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/interfaces/actionsblock.md)
*   [`AlertBlock`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/interfaces/alertblock.md)
*   [`CardBlock`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/interfaces/cardblock.md)
*   [`CarouselBlock`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/interfaces/carouselblock.md)
*   [`ContainerBlock`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/interfaces/containerblock.md)
*   [`ContextBlock`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/interfaces/contextblock.md)
*   [`ContextActionsBlock`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/interfaces/contextactionsblock.md)
*   [`DataTableBlock`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/interfaces/datatableblock.md)
*   [`DividerBlock`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/interfaces/dividerblock.md)
*   [`FileBlock`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/interfaces/fileblock.md)
*   [`HeaderBlock`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/interfaces/headerblock.md)
*   [`InputBlock`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/interfaces/inputblock.md)
*   [`MarkdownBlock`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/interfaces/markdownblock.md)
*   [`RichTextBlock`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/interfaces/richtextblock.md)
*   [`SectionBlock`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/interfaces/sectionblock.md)
*   [`TableBlock`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/interfaces/tableblock.md)
*   [`TaskCardBlock`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/interfaces/taskcardblock.md)
*   [`PlanBlock`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/interfaces/planblock.md)
*   [`VideoBlock`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/interfaces/videoblock.md)

## Properties {#properties}

### block_id? {#block_id}

```
optional block_id?: string;
```

Defined in: packages/types/dist/block-kit/blocks.d.ts:15

#### Description {#description}

A string acting as a unique identifier for a block. If not specified, a `block_id` will be generated. You can use this `block_id` when you receive an interaction payload to [identify the source of the action](https://docs.slack.dev/interactivity/handling-user-interaction.md#payloads). Maximum length for this field is 255 characters. `block_id` should be unique for each message and each iteration of a message. If a message is updated, use a new `block_id`.

* * *

### type {#type}

```
type: string;
```

Defined in: packages/types/dist/block-kit/blocks.d.ts:7

#### Description {#description-1}

The type of block.
