Skip to main content

Preview in Block Kit Builder

Generate a Block Kit Builder URL locally. The preview below decodes that exact URL; generating it does not send a Slack message.

Output

Local preview of the selected language’s tested example. Slack client appearance may differ; controls here do not send requests.

Build #482 passed ✅

All 1,247 tests green in 3m 12s.

Author @nick
Branch main
Generated Builder URL
"https://app.slack.com/block-kit-builder/#%7B%22blocks%22%3A%5B%7B%22type%22%3A%22header%22%2C%22block_id%22%3A%22build%22%2C%22text%22%3A%7B%22type%22%3A%22plain_text%22%2C%22text%22%3A%22Build%20%23482%20passed%20%3Awhite_check_mark%3A%22%7D%7D%2C%7B%22type%22%3A%22section%22%2C%22block_id%22%3A%22summary%22%2C%22text%22%3A%7B%22type%22%3A%22mrkdwn%22%2C%22text%22%3A%22All%201%2C247%20tests%20green%20in%203m%2012s.%22%7D%7D%2C%7B%22type%22%3A%22divider%22%2C%22block_id%22%3A%22divider%22%7D%2C%7B%22type%22%3A%22section%22%2C%22block_id%22%3A%22details%22%2C%22fields%22%3A%5B%7B%22type%22%3A%22mrkdwn%22%2C%22text%22%3A%22%2AAuthor%2A%5Cn%40nick%22%7D%2C%7B%22type%22%3A%22mrkdwn%22%2C%22text%22%3A%22%2ABranch%2A%5Cn%60main%60%22%7D%5D%7D%5D%7D"

Code​

Use block_kit_builder_url to build a Block Kit Builder URL and open it in your browser to verify a message before posting it. Useful while iterating on layout — no Slack credentials needed.

from slackblocks import (
block_kit_builder_url,
DividerBlock,
HeaderBlock,
Markdown,
SectionBlock,
)

blocks = [
HeaderBlock("Build #482 passed :white_check_mark:", block_id="build"),
SectionBlock(text=Markdown("All 1,247 tests green in 3m 12s."), block_id="summary"),
DividerBlock(block_id="divider"),
SectionBlock(fields=["*Author*\n@nick", "*Branch*\n`main`"], block_id="details"),
]

print(block_kit_builder_url(blocks))
# https://app.slack.com/block-kit-builder/#%7B%22blocks%22%3A%5B...%5D%7D

block_kit_builder_url accepts:

  • A single Block, Element, or anything else with a _resolve() method.
  • A list of Block objects (wrapped in {"blocks": [...]} automatically).
  • A Message, WebhookMessage, MessageResponse, or View.
  • A raw dict (escape hatch).

Pass team_id="T0123ABCD" for a workspace-specific URL.