Slack: Send Block Kit Message
Send a rich Block Kit message to a Slack channel using structured blocks. Supports sections, buttons, images, dividers, and more. Ideal for: rich notifications, interactive messages, formatted alerts, dashboard summaries.
Catalog action Integrations slack
Send a rich Block Kit message to a Slack channel using structured blocks. Supports sections, buttons, images, dividers, and more. Ideal for: rich notifications, interactive messages, formatted alerts, dashboard summaries.
At a Glance
| Field | Value |
|---|---|
| Action ID | slack-send-block-kit-message |
| Category | Integrations |
| Connector | slack |
| Requires gas | No |
| Funds movement | None declared |
| Tags | slack, messaging, notification, write, chat |
Payload Schema
| Field | Type | Required | Description |
|---|---|---|---|
channel | string | Yes | Target channel ID, user ID, or group ID |
blocks | string | Yes | Block Kit blocks as a JSON string array (see https://api.slack.com/block-kit\) |
text | string | No | Fallback text for notifications and accessibility |
thread_ts | string | No | Message timestamp to reply to (creates a thread) |
unfurl_links | boolean | No | Enable link unfurling (default: false) |
unfurl_media | boolean | No | Enable media unfurling (default: false) |
Result Schema
| Field | Type | Required | Description |
|---|---|---|---|
success | boolean | Yes | Whether the message was sent successfully |
data | object | No | - |
Examples
json{ "type": "slack-send-block-kit-message", "payload": { "channel": "example-channel", "blocks": "example-blocks" }, "children": [], "connector": { "type": "slack", "id": "conn_slack" }}
bashcurl -X POST "https://api.b3os.org/v1/actions/slack-send-block-kit-message/test" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "inputs": { "channel": "example-channel", "blocks": "example-blocks" }}'
Payload fields can use workflow expressions such as {{$trigger.body.amount}}, {{$nodes.fetch.result.price}}, and {{$props.asset}} when the value should come from a trigger, prior node, or reusable workflow prop.
