Blocks
Message Blocks
respondWithMessage versus sendMessage; content, embeds, channels and interaction context.
💡 Resource: Find the full list and schema of all 112+ no-code actions in the Complete Blocks Dictionary, as well as the introductory guide in Introduction to Blocks.
| Action | Purpose | Payload |
|---|---|---|
respondWithMessage |
Reply to the active interaction; without an interaction, falls back to a channel send when a client and channel are available. | content string; optional embeds list, components list, ephemeral boolean, channelId string for fallback. |
sendMessage |
Send a channel message. | content string, channelId string (or available channel context), optional embeds and components lists. |
Slash example:
{"type":"respondWithMessage","key":"reply","payload":{"content":"Hello ((user.username))!","ephemeral":true}}
An embed response does not require a separate sendMessage:
{"type":"respondWithMessage","payload":{"embeds":[{"title":"Welcome","description":"Hello ((user.username))!","color":65280}]}}
A workflow message to an explicit channel:
{"type":"sendMessage","key":"notification","payload":{"channelId":"123456789012345678","content":"The workflow finished."}}
Replace example IDs with your channel IDs. A message must have content, an embed, components or an attachment. ephemeral belongs to interaction responses; it does not turn an ordinary channel message into a private response. Component lists have their own structure: do not insert $addButton strings as Blocks components.