Перейти к содержанию
100% локально

Конструктор Slack Block Kit

Преобразуйте простой текстовый план в готовый к отправке JSON Block Kit.

Входные данные
Выходные данные

Конструктор Slack Block Kit

Напишите сообщение так, как вы пишете документ, и этот инструмент преобразует его в JSON payload, который ожидает Block Kit от Slack. Заголовки, начинающиеся с #, становятся header блоками, простые абзацы становятся section блоками с mrkdwn текстом, а строка из трёх или более дефисов становится разделителем — без необходимости вручную писать вложенные объекты блоков или искать схему для каждого типа.

Строки с маркерами (начинающиеся с - или *) отображаются как один объединённый раздел или как отдельный блок для каждого элемента, контролируемый опцией «Списки с точками» — полезно, когда элементы должны обтекать независимо в узкой панели Slack. Строки вида «Метка: значение» становятся разделом полей, разбитые на группы по десять, так как это лимит Slack на раздел. Ссылки Markdown, такие как [метка](url), преобразуются в синтаксис Slack <url|метка>, а **жирный** становится жирным текстом Slack. Строка, начинающаяся с «context:», добавляет блок колонтитула context, а начинающаяся с «buttons:» (метки разделены трубой, с необязательным URL в скобках) добавляет блок actions с реальными кнопками.

Переключайтесь между incoming webhook и chat.postMessage — последний добавляет поле channel, которое вы можете редактировать прямо. Если текст какого-либо одного раздела превышает лимит Slack в 3000 символов, инструмент продолжает создавать валидный JSON, но указывает ровно, какой блок слишком длинный, как в живой сводке, так и выделяя проблемные строки в выводе, чтобы вы поймали это перед тем, как Slack API отклонит сообщение.

Всё работает в вашем браузере. План, который вы печатаете, и JSON, который он создаёт, никогда не покидают ваше устройство — ничего не загружается на какой-либо сервер, включая сам Slack. Когда payload выглядит правильно, скопируйте его, загрузите как .txt файл, чтобы вставить в ваш код, или отправьте в выход другого инструмента для дальнейшей работы.

FAQ

Валидирует ли он против точной схемы Block Kit Slack?
Он создаёт структурно правильный JSON для поддерживаемых типов блоков (header, section, divider, context, actions) и соблюдает лимит раздела в 3000 символов, но не вызывает API Slack для проверки полного payload.
Как мне добавить кнопки?
Напишите строку, начинающуюся с «buttons:» с последующими метками, разделёнными «|», например «buttons: Одобрить | Отклонить». Добавьте «(https://...)» после метки, чтобы создать кнопку со ссылкой.
Что такое разница между webhook и chat.postMessage payload?
Входящий webhook payload это просто { text, blocks }. Вызов chat.postMessage также требует поле «channel», которое инструмент добавляет при переключении опции «Payload для».
Почему мои строки ключ-значение превратились в «поля» вместо абзаца?
Любая короткая строка вида «Метка: значение» рассматривается как поле. Если вы имели в виду это как прозу, добавьте предложение без двоеточия или переформулируйте строку.
Мой текст сообщения загружается где-то?
Нет. План и JSON, который он создаёт, строятся полностью в вашем браузере и никогда не отправляются на какой-либо сервер, включая Slack.