Container block
Fields
| Field | Type | Description | Required? |
|---|---|---|---|
type | String | The type of block. For a container block, type is always container. | Required |
title | String | Title of the container, using plain_text formatting. Maximum of 150 characters. | Required |
child_blocks | Array | List of included blocks. Maximum of 10 blocks. | Required |
block_id | String | A unique identifier for a block. If not specified, a block_id will be generated. | Optional |
width | String | Sets the width of the container block. The narrow, standard, and wide options use a platform-determined constrained width. The full option expands to fill the available space. Default is standard. | Optional |
subtitle | String | Subtitle of the container, using plain_text or mrkdwn formatting. Maximum of 150 characters. | Optional |
icon | Image element | Link to the small image used next to the card's title and subtitle. Maximum length of 3000 characters. The alt_text property has a maximum length of 2000 characters. | Optional |
is_collapsible | Boolean | When true, the block can be collapsed to show only the title. Defaults to false. | Optional |
default_collapsed | Boolean | When true and is_collapsible are both true, the block initially renders in a collapsed state. Defaults to false. | Optional |
Supported child blocks
Example
A sample container block:
- JSON
{
"blocks": [
{
"type": "container",
"block_id": "bkb_container_bulk_update",
"title": {
"type": "plain_text",
"text": "Bulk update: 2 records selected"
},
"subtitle": {
"type": "plain_text",
"text": "Review changes before confirming"
},
"is_collapsible": true,
"child_blocks": [
{
"type": "section",
"block_id": "record-row-1",
"text": {
"type": "mrkdwn",
"text": "*DCW-1024*\nStatus: Open → Closed\nAssignee: @princessdonut → @carl"
}
},
{
"type": "divider",
"block_id": "bulk-div-1"
},
{
"type": "section",
"block_id": "record-row-2",
"text": {
"type": "mrkdwn",
"text": "*DCW-1025*\nStatus: In Progress → Closed\nAssignee: @mordecai → @carl"
}
},
{
"type": "divider",
"block_id": "bulk-div-2"
},
{
"type": "context",
"block_id": "bulk-status-bar",
"elements": [
{
"type": "mrkdwn",
"text": ":white_check_mark: 2 records will be updated • Status → Closed • Assignee → @carl"
}
]
},
{
"type": "actions",
"block_id": "bulk-actions",
"elements": [
{
"type": "button",
"text": {
"type": "plain_text",
"text": "Confirm All",
"emoji": true
},
"style": "primary",
"action_id": "bulk_confirm"
},
{
"type": "button",
"text": {
"type": "plain_text",
"text": "Cancel",
"emoji": true
},
"action_id": "bulk_cancel"
}
]
}
]
}
]
}