Skip to main content

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

InputTypeDescriptionDefault
RunEventTriggers the node to send the message to Slack.-
Channel IDTextThe Slack channel ID (e.g., C1234567890) or conversation ID to send the message to.-
MessageTextThe plain text message content. Required if Blocks is not provided.-
Thread TsTextOptional thread timestamp (e.g., 1234567890.123456) to reply in a specific thread.-
BlocksDictionaryOptional Slack Block Kit blocks for rich formatting. Must be a valid JSON object or array. Required if Message is not provided.-
ConnectionsConnectionThe Slack connection to use for authentication. Configure this in the properties panel.-

Outputs

OutputTypeDescription
DoneEventFires when the message has been sent or if an error occurs.
StatusDataReturns "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:

  1. Connect a Start node or button event to the Run input.
  2. Set Channel ID to a Slack channel ID (e.g., "C1234567890").
  3. Set Message to "Hello from Intellectible!".
  4. Select your Slack connection in the Connections property.
  5. When triggered, the message will be posted to the channel.

Replying in a thread:

  1. Use the Slack: Get Conversation History node to retrieve messages and their timestamps.
  2. Extract the ts field from a message (e.g., "1234567890.123456").
  3. Pass this value to the Thread Ts input of the Send Message node.
  4. The new message will appear as a reply in that thread.

Using Block Kit for rich formatting:

  1. Instead of using the Message input, provide a Blocks dictionary containing Slack Block Kit JSON:
    [
    {
    "type": "section",
    "text": {
    "type": "mrkdwn",
    "text": "Hello, *world*!"
    }
    }
    ]
  2. This will render formatted content in Slack rather than plain text.