Skip to main content

Overview

The Slack integration lets users connect their Slack workspace so Alysio can send and schedule messages, create drafts, search messages and files, find channels and users, read channel and thread history, view Canvas documents, read user profiles, and create Canvas documents on their behalf. Users can ask Alysio to post to channels or DMs, schedule a message, create a draft, search (public only or across all channels and DMs), find channels or users, read a channel or thread, view a Canvas doc, get a user’s profile, or create a new Canvas—all in natural language. The integration uses the user’s connected Slack account via OAuth 2.0. Use slack_search_channels or slack_search_users to find channel or user identifiers when sending or reading messages. Supported capabilities / objects
  • Messaging — Send messages to channels or DMs; schedule messages for a future time; create draft messages for later review or sending.
  • Search & discovery — Search messages and files in public channels only; search across all channels (public, private, DMs, group DMs); find channels by name or description; find users by name, email, or profile attributes.
  • Reading & viewing — Read message history from any channel; read all messages in a thread; view Slack Canvas document content; get detailed profile information for any user.
  • Canvas — Create new Canvas documents with formatted content.

Authentication

Method: OAuth 2.0 (Slack). The MCP sends requests using a Bearer token and a credential ID that identifies the user’s connected Slack workspace and identity. Requests go to the Slack Web API (and, where applicable, Slack Canvas APIs). Redirect URI: Configured when the Slack integration is set up in Alysio. The Slack app must list this redirect URI under OAuth & Permissions in the app configuration. Token handling
  • OAuth tokens for the connected Slack account are stored securely and refreshed automatically.
  • Each user/tenant has their own credential; the MCP uses the appropriate credential so calls are isolated per connection.
  • On disconnect, that credential is no longer used and Slack tools will not be available until the user reconnects Slack.
Bot Token Scopes (12 total)
  • team:read
  • chat:write.public
  • users:read
  • im:write
  • chat:write
  • channels:read
  • app_mentions:read
  • commands
  • assistant:write
  • im:history
  • groups:read
  • users:read.email
User Token Scopes (16 total — required for Slack MCP)
  • search:read.public
  • search:read.private
  • search:read.mpim
  • search:read.im
  • search:read.files
  • search:read.users
  • chat:write
  • channels:history
  • groups:history
  • mpim:history
  • im:history
  • canvases:read
  • canvases:write
  • users:read
  • users:read.email
  • team:read
Connection required: Users must connect Slack in Alysio before Slack tools work. If the connection is missing or expired, re-authorize in Settings → Integrations.
Scopes and Canvas: Search and read tools may require the app to be in the relevant channels or have the right scope (e.g. private channels need groups:read and groups:history). Canvas features may require a Slack plan that supports Canvas.

MCP Tools

The Slack MCP exposes the following tools. Users can invoke these capabilities through natural language in Alysio.

Messaging

ToolDescriptionExample user prompts
slack_send_messageSends messages to channels or direct messages to users.”Post this to #general”, “DM @john with the update.”
slack_schedule_messageSchedules messages to be sent at a specific future time.”Schedule a reminder for tomorrow 9am”, “Post this message Friday at noon.”
slack_send_message_draftCreates draft messages for later review or sending.”Draft a message to #sales”, “Create a draft for the team update.”

Search & discovery

ToolDescriptionExample user prompts
slack_search_publicSearches messages and files in public channels only.”Search public channels for ‘launch date’”, “Find messages about the project in public channels.”
slack_search_public_and_privateSearches across all channels (public, private, DMs, group DMs).”Search everywhere for ‘budget’”, “Find any message or file mentioning the client.”
slack_search_channelsFinds channels by name or description.”Find channels about engineering”, “List channels with ‘support’ in the name.”
slack_search_usersFinds users by name, email, or profile attributes.”Find user john@company.com”, “Search for users named Sarah.”

Reading & viewing

ToolDescriptionExample user prompts
slack_read_channelReads message history from any channel.”Read the last 20 messages in #general”, “Show channel history for #engineering.”
slack_read_threadReads all messages in a specific thread conversation.”Read the full thread for this message”, “Show all replies in this thread.”
slack_read_canvasViews the content of Slack Canvas documents.”Show the content of this Canvas”, “Read the Canvas doc for the project brief.”
slack_read_user_profileGets detailed profile information for any user.”What’s John’s Slack profile?”, “Get profile for @jane.”

Canvas documents

ToolDescriptionExample user prompts
slack_create_canvasCreates new Canvas documents with formatted content.”Create a Canvas with the meeting notes”, “New Canvas doc for the Q1 plan.”

App Behavior

  • API calls are made on-demand when the user asks for an action or data (e.g. send/schedule/draft a message, search, read channel/thread/Canvas, read profile, create Canvas). There is no background sync; each request triggers the relevant Slack API call. Channel, user, or Canvas identifiers may be resolved first via search tools when needed.
Example flow
  1. User asks: “Search all of Slack for ‘Q4 roadmap’ and then post a summary to #product.”
  2. Alysio routes the request to the Slack MCP.
  3. The MCP calls slack_search_public_and_private with the query “Q4 roadmap”, then uses slack_search_channels if needed to resolve #product, then calls slack_send_message with the channel and the composed summary.
  4. The request is sent to the Slack API using the user’s stored OAuth credential.
  5. The MCP returns the search results and send confirmation; Alysio presents them in chat.

Troubleshooting

Common issues
  • Missing or expired connection — User sees errors or Slack actions fail. Fix: Reconnect Slack in Settings → Integrations (re-authorize via OAuth 2.0).
  • 401 Unauthorized — Token invalid or expired. Fix: Re-authorize the Slack integration in Settings → Integrations.
  • 403 Forbidden or missing_scope — Insufficient OAuth scopes. Fix: In the Slack app configuration, add the required scopes (e.g. chat:write, channels:read, channels:history, users:read, search:read, canvas:read, canvas:write as applicable) and reinstall or re-authorize the app.
  • Channel or user not found — Send/read tools need a valid channel or user identifier. Fix: Use slack_search_channels to find channels by name or description and slack_search_users to find users by name or email; use the returned IDs in send/read calls.
  • Search returns nothing or limited results — Private channels and DMs require corresponding scopes (e.g. groups:read, im:read) and the app may need to be in the channel. Fix: Ensure the Slack app has the right scopes for the search type (public vs. public_and_private) and that the workspace has indexed the content.
  • Canvas not available — Canvas read/create may require a supported Slack plan or feature flag. Fix: Confirm the workspace has Canvas enabled and the app has canvas:read and canvas:write scopes.
Support