Skip to main content
A template combines blocks into a message. Add blocks from the toolbox, configure their properties, and preview them with sample data. The editor’s template format is compiled into Slack’s delivery format; the two formats are not always identical.

Text and layout

Section mrkdwn uses Slack formatting, such as *bold*, _italic_, and <https://example.com|label>. Rich Text uses structured elements; it is not a field for pasting Markdown. Use placeholders inside supported text fields.

Media and cards

Use publicly retrievable image URLs appropriate for your audience. Avoid secrets in URLs. Keep card text short enough to scan on mobile and use distinct action IDs for card buttons.

Data and progress

Read Table and Data Table to choose a table format and Charts for data mapping. A legacy table template type is distinct from the editor’s Table block.

Interaction and forms

Use buttons for links, tracked clicks, webhooks, message updates, and opening modals. The action’s position determines which message-update strategies are valid. Availability in the toolbox does not guarantee that every block is valid on every Slack surface. Modal API authoring has its own supported block set; see Modals. Alert content is normalized for delivery, rather than sent as a native Slack alert block.

Start with a small layout

Use a Header for the subject, a Section for the essential information, Context for supporting detail, and Actions for the next decision. Add a table or chart only when it makes the data easier to understand. For exact API properties and enforced limits, read GET /v1/templates/block-schema. Validate the complete template with representative data before sending it. See Limits, Template design, and API examples.