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
- type
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