FlowTruxFlowTrux/Docs
Docsmcp

Slack MCP Server

Send messages, manage channels, and interact with Slack workspaces from workflows

The Slack MCP server lets your workflows send messages, read channel history, manage reactions, upload files, and search across your Slack workspace.

Setup

1. Create a Slack App

  1. Go to https://api.slack.com/apps.
  2. Click Create New App > From scratch.
  3. Name the app (e.g., "FlowTrux Bot") and select your workspace.

2. Configure Bot Token Scopes

Navigate to OAuth & Permissions and add the following Bot Token Scopes:

ScopeRequired For
chat:writeSending messages
channels:readListing channels
channels:historyReading channel messages
users:readListing users and user info
reactions:writeAdding emoji reactions
files:writeUploading files

3. Install to Workspace

  1. Click Install to Workspace at the top of the OAuth & Permissions page.
  2. Authorize the app.
  3. Copy the Bot User OAuth Token (starts with xoxb-).

4. Add to FlowTrux

  1. Go to Settings > MCP Servers > Add Server.
  2. Select Slack.
  3. Paste the Bot Token.
  4. Optionally set a Default Channel (used when no channel is specified in tool calls).
  5. Click Save.

5. Invite Bot to Channels

The bot can only post to channels it has been invited to. In each Slack channel:

/invite @FlowTrux Bot

Tools

send_message

Send a text message to a channel.

ParameterTypeRequiredDescription
channelstringYesChannel name or ID (e.g., #general or C01234ABCDE)
textstringYesMessage text (supports Slack markdown)

send_blocks

Send a rich message using Slack's Block Kit format.

ParameterTypeRequiredDescription
channelstringYesChannel name or ID
blocksarrayYesArray of Block Kit block objects

list_channels

List public channels in the workspace. No required parameters.

get_channel_history

Get recent messages from a channel.

ParameterTypeRequiredDescription
channelstringYesChannel name or ID
limitnumberNoMaximum messages to return (default: 10)

add_reaction

Add an emoji reaction to a message.

ParameterTypeRequiredDescription
channelstringYesChannel where the message was posted
timestampstringYesMessage timestamp (from get_channel_history or send_message response)
emojistringYesEmoji name without colons (e.g., thumbsup)

list_users

List users in the workspace. No required parameters.

get_user_info

Get details about a specific user.

ParameterTypeRequiredDescription
userIdstringYesSlack user ID (e.g., U01234ABCDE)

upload_file

Upload a file to a channel.

ParameterTypeRequiredDescription
channelstringYesChannel to upload to
contentstringYesFile content
filenamestringYesFile name (e.g., report.csv)

search_messages

Search messages across the workspace.

ParameterTypeRequiredDescription
querystringYesSearch query (supports Slack search syntax)

send_formatted_report

Send a pre-styled report with metrics and sections.

ParameterTypeRequiredDescription
channelstringYesChannel to send to
titlestringYesReport title
sectionsarrayYesArray of report section objects

Example Workflow

A common pattern is to combine an Agent node with Slack tools:

  1. Trigger -- Cron schedule (daily at 9am)
  2. Action -- HTTP request to fetch data from an API
  3. Agent -- Analyze data with AI, tools: slack:send_formatted_report
  4. The agent processes the data and sends a formatted summary to your Slack channel.