Slack: Send Message
Controlled node
Overview
Sends a message to a Slack channel, private channel, or direct message conversation. This node supports both plain text messages and rich formatting using Slack's Block Kit UI framework. You can also reply to existing messages by providing a thread timestamp.
To use this node, you must have a Slack connection configured in your project with appropriate permissions (typically chat:write and chat:write.public scopes).
Inputs
| Input | Type | Description | Default |
|---|---|---|---|
| Run | Event | Triggers the node to send the message to Slack. | - |
| Channel ID | Text | The Slack channel ID (e.g., C1234567890) or conversation ID to send the message to. | - |
| Message | Text | The plain text message content. Required if Blocks is not provided. | - |
| Thread Ts | Text | Optional thread timestamp (e.g., 1234567890.123456) to reply in a specific thread. | - |
| Blocks | Dictionary | Optional Slack Block Kit blocks for rich formatting. Must be a valid JSON object or array. Required if Message is not provided. | - |
| Connections | Connection | The Slack connection to use for authentication. Configure this in the properties panel. | - |
Outputs
| Output | Type | Description |
|---|---|---|
| Done | Event | Fires when the message has been sent or if an error occurs. |
| Status | Data | Returns "success" if the message was sent successfully, or an error object with a message if the operation failed. |
Runtime Behavior and Defaults
The node validates inputs before sending:
- Either Message or Blocks must be provided (but not necessarily both).
- If Blocks is provided, it must be a valid JSON object or array conforming to Slack's Block Kit format.
- The Channel ID must be a valid Slack channel or conversation ID.
- If Thread Ts is provided, the message will be posted as a reply in that thread.
On success, the Status output will contain "success". On failure, it will contain an error object with details about what went wrong (e.g., missing connection, invalid channel, or API errors).
Example Usage
Sending a simple text message:
- Connect a Start node or button event to the Run input.
- Set Channel ID to a Slack channel ID (e.g.,
"C1234567890"). - Set Message to
"Hello from Intellectible!". - Select your Slack connection in the Connections property.
- When triggered, the message will be posted to the channel.
Replying in a thread:
- Use the Slack: Get Conversation History node to retrieve messages and their timestamps.
- Extract the
tsfield from a message (e.g.,"1234567890.123456"). - Pass this value to the Thread Ts input of the Send Message node.
- The new message will appear as a reply in that thread.
Using Block Kit for rich formatting:
- Instead of using the Message input, provide a Blocks dictionary containing Slack Block Kit JSON:
[
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "Hello, *world*!"
}
}
] - This will render formatted content in Slack rather than plain text.