Logo

Slack

Authentication Type: API Key
Description: Send and manage messages in Slack workspaces. Requires a Slack bot token (starts with xoxb-) with appropriate permissions.


Messaging

Send, schedule, and manage Slack messages.

Send Message

Send a message to a Slack channel or direct message. Supports rich formatting with blocks and attachments, threading, and various message options.

Operation Type: Mutation (Write)

Parameters:

  • channel string (required): Channel ID or channel name (e.g., #general, @username, or C1234567890)
  • text string (required): The main message text to send
  • attachments string (nullable): JSON string of legacy structured message attachments (optional)
  • blocks string (nullable): JSON string of Block Kit layout blocks (optional)
  • threadTs string (nullable): Timestamp of parent message to reply in thread (optional)
  • replyBroadcast boolean (nullable): Used in conjunction with thread_ts to make reply visible to everyone in channel (optional)
  • unfurlLinks boolean (nullable): Pass true to enable unfurling of primarily text-based content (optional)
  • unfurlMedia boolean (nullable): Pass false to disable unfurling of media content (optional)
  • asUser boolean (nullable): Pass true to post the message as the authed user instead of as a bot (optional)

Returns:

  • ok boolean: Whether the message was sent successfully
  • channel string: The channel where the message was sent
  • ts string: Timestamp of the sent message
  • message object: The sent message object
    • type string: Message type
    • subtype string (nullable): Message subtype
    • text string: Message text
    • ts string: Message timestamp
    • username string (nullable): Username
    • botId string (nullable): Bot ID
    • blocks string (nullable): Message blocks
    • attachments string (nullable): Message attachments

Example Usage:

{
  "channel": "#general",
  "text": "Hello team! Here's the project update.",
  "blocks": "[{\"type\": \"section\", \"text\": {\"type\": \"mrkdwn\", \"text\": \"*Project Status:* On track\"}}]"
}

Schedule Message

Schedule a message to be sent at a specific time in the future. Perfect for reminders, announcements, or time-zone appropriate messaging.

Operation Type: Mutation (Write)

Parameters:

  • channel string (required): Channel ID or channel name where message will be sent
  • text string (required): The message text to schedule
  • postAt number (required): Unix timestamp when the message should be sent
  • attachments string (nullable): JSON string of legacy structured message attachments (optional)
  • blocks string (nullable): JSON string of Block Kit layout blocks (optional)
  • threadTs string (nullable): Timestamp of parent message to reply in thread (optional)
  • replyBroadcast boolean (nullable): Used in conjunction with thread_ts to make reply visible to everyone in channel (optional)
  • unfurlLinks boolean (nullable): Pass true to enable unfurling of primarily text-based content (optional)
  • unfurlMedia boolean (nullable): Pass false to disable unfurling of media content (optional)
  • asUser boolean (nullable): Pass true to post the message as the authed user instead of as a bot (optional)

Returns:

  • ok boolean: Whether the message was scheduled successfully
  • channel string: The channel where the message will be sent
  • scheduledMessageId string: ID of the scheduled message
  • postAt number: Unix timestamp when the message will be sent
  • dateCreated number: Unix timestamp when the scheduled message was created

Example Usage:

{
  "channel": "#announcements",
  "text": "Daily standup starts in 15 minutes!",
  "postAt": 1672531200
}

Common Use Cases

Team Communication:

  • Send project updates and announcements to channels
  • Schedule reminders for meetings and deadlines
  • Use threading for organized discussions

Rich Messaging:

  • Format messages with Block Kit for interactive elements
  • Include attachments for file sharing and media
  • Control link and media unfurling behavior

Automated Workflows:

  • Schedule messages for different time zones
  • Post as user or bot depending on context
  • Broadcast threaded replies when needed