Block Kit
Block Kit is how a chat app lays out its messages, modals and Home tab: a list of blocks, stacked top to bottom. Blocks hold text, images and block elements — buttons, menus, pickers and inputs — and share small composition objects such as text and options.
It is Slack’s Block Kit: the same JSON renders in Repzo Chat on the web and in the mobile app. Where Workstation behaves differently, the reference page says so under How Repzo Chat differs from Slack.
{ "blocks": [ { "type": "header", "text": { "type": "plain_text", "text": "Refund request #4821" } }, { "type": "section", "text": { "type": "mrkdwn", "text": "*Acme Ltd* asked for a refund of *JOD 129.00*." }, "accessory": { "type": "image", "image_url": "https://picsum.photos/id/164/200/200", "alt_text": "Order photo" } }, { "type": "actions", "elements": [ { "type": "button", "action_id": "approve", "style": "primary", "text": { "type": "plain_text", "text": "Approve" }, "value": "4821" }, { "type": "button", "action_id": "reject", "style": "danger", "text": { "type": "plain_text", "text": "Reject" }, "value": "4821" } ] } ]}Reference
Section titled “Reference”- Blocks — section, header, actions, card, carousel, data table, charts, input and more
- Block elements — buttons, menus, pickers and inputs
- Composition objects — text, options, confirmation dialogs, attachments
- Rich text elements — the pieces of a rich text block
Limits and validation
Section titled “Limits and validation”- Up to 50 blocks in a message and 100 in a modal or Home view.
block_idandaction_idare generated when you leave them out. Keepaction_idunique within a block andblock_idunique within a message.- Blocks are never rejected. Anything outside the rules is reported in the API response’s
warnings, and the rest of the message still posts. - Controls only work in messages posted by an app; the app that posted the message is the one that hears about them.
Where to go next
Section titled “Where to go next”- Sending messages
- Interactivity
- Formatting text
- The REST API’s models for every block, element and object: /api/v1/docs