What can you do with it?

The Slack integration enables comprehensive team communication including sending direct messages, posting to channels, scheduling messages, and retrieving conversation history. You can find users and channels by name, send formatted messages with rich text, schedule messages for later delivery, and search through message history with keyword filtering. This integration is perfect for teams looking to automate their Slack communications, send notifications, and integrate with other business processes.

How to use it?

Basic Command Structure

/your-slack-connection [action] [required-parameters] [optional-parameters]

Parameters

Required:

  • action - The operation you want to perform (get_users, send_message, get_channels, schedule_message, get_messages)

Optional:

  • channel - Channel ID or name for channel operations
  • user - User ID or name for user operations
  • text - Message content for sending messages

Tools

Get Users List

Retrieve all users in the workspace

Parameters:

  • action (required) - Set to “get_users”

Example:

/your-slack-connection
action: get_users

Response:

{
  "ok": true,
  "members": "[Array of user objects with id, name, real_name, and profile information including email]"
}

Send Direct Message

Send a direct message to a specific user

Parameters:

  • action (required) - Set to “send_direct_message”
  • user_id (required) - User ID to send message to
  • text (required) - Message content

Example:

/your-slack-connection
action: send_direct_message
user_id: U080G8LGU4F
text: Hello John, how are you?

Response:

{
  "ok": true,
  "channel": "[Direct message channel ID]",
  "ts": "[Message timestamp]",
  "message": {
    "user": "[Sender user ID]",
    "type": "message",
    "text": "[Message content]",
    "team": "[Team ID]"
  }
}

Get Channels List

Retrieve all channels in the workspace

Parameters:

  • action (required) - Set to “get_channels”

Example:

/your-slack-connection
action: get_channels

Response:

{
  "ok": true,
  "channels": "[Array of channel objects with id and name]"
}

Send Message to Channel

Post a message to a specific channel

Parameters:

  • action (required) - Set to “send_channel_message”
  • channel (required) - Channel ID or name (with # prefix)
  • text (required) - Message content

Example:

/your-slack-connection
action: send_channel_message
channel: #team-updates
text: Weekly project status summary: Key milestones achieved, current blockers identified

Response:

{
  "ok": true,
  "channel": "[Channel ID]",
  "ts": "[Message timestamp]",
  "message": {
    "user": "[Sender user ID]",
    "type": "message",
    "text": "[Message content]",
    "team": "[Team ID]",
    "bot_profile": "[Bot profile information if sent by bot]"
  }
}

Schedule Message

Schedule a message to be sent at a specific time

Parameters:

  • action (required) - Set to “schedule_message”
  • channel (required) - Channel ID or name
  • text (required) - Message content
  • post_at (required) - Unix timestamp for when to send the message

Example:

/your-slack-connection
action: schedule_message
channel: @marketing-team
text: This week's content calendar: Monday - Blog post, Tuesday - Social media
post_at: 1702560000

Response:

{
  "ok": true,
  "scheduled_message_id": "[Scheduled message ID]",
  "post_at": "[Unix timestamp]",
  "channel": "[Channel ID]"
}

Get Messages with Keywords

Retrieve messages from a channel with optional keyword filtering

Parameters:

  • action (required) - Set to “get_messages”
  • channel (required) - Channel ID to retrieve messages from
  • limit (optional) - Number of messages to retrieve (default: 100)
  • keywords (optional) - Array of keywords to filter messages

Example:

/your-slack-connection
action: get_messages
channel: C1234567890
limit: 100
keywords: urgent, support

Response:

{
  "ok": true,
  "messages": "[Array of message objects with type, user, text, timestamp, and channel information]",
  "has_more": "[Boolean indicating if more messages are available]",
  "response_metadata": {
    "next_cursor": "[Cursor for pagination]"
  }
}

Notes

Slack uses unique IDs for users (starting with U), channels (starting with C), and teams (starting with T). You can reference channels by ID or name with # prefix. Direct messages create a special channel between users. Message timestamps are in Unix format with microsecond precision. Scheduled messages use Unix timestamps for the post_at parameter. The integration can only access public channels that the bot has been added to. Message filtering with keywords is done client-side after retrieving messages. Rich text formatting is supported through blocks in message responses.