Connect Slack to AI agents

Connect Slack to Claude, Codex, Cursor, or other AI agents for your entire team. Metorial security, governance, observability, and gives your team a unified Magic MCP url to connect.

Supported Tools

manage_pins

Manage Pins

Pin or unpin messages in a Slack channel, or list all pinned items. Pinned messages are highlighted and easily accessible by all channel members.

manage_channel_members

Manage Channel Members

Invite users to or remove users from a Slack channel. Also supports listing current channel members and joining/leaving channels.

get_user_info

Get User Info

Look up a Slack user's profile and status. Search by user ID, email address, or list all workspace members.

get_team_info

Get Team Info

Retrieve information about the Slack workspace (team), including its name, domain, email domain, and icon.

manage_user_groups

Manage User Groups

Create, update, enable, disable, or list user groups (also known as @mention handle groups) in Slack. Manage group membership by setting the full member list.

send_message

Send Message

Send a message to a Slack channel, group DM, or direct message conversation. Supports plain text, rich Block Kit formatting, threaded replies, and ephemeral messages visible only to a specific user.

schedule_message

Schedule Message

Schedule a message to be sent to a Slack channel at a future time. The message will be delivered automatically at the specified time.

manage_reminders

Manage Reminders

Create, complete, delete, or list Slack reminders. Reminders notify a user at a specified time with a custom message.

manage_channel

Manage Channel

Create, update, archive, unarchive, or configure a Slack channel. Combine multiple channel operations in a single action — create a new channel, rename it, set its topic/purpose, or manage its lifecycle.

get_conversation_history

Get Conversation History

Retrieve message history from a Slack channel, DM, or group DM. Supports pagination, time range filtering, and fetching thread replies.

manage_bookmarks

Manage Bookmarks

Add, edit, remove, or list bookmarks (saved links) in a Slack channel. Bookmarks appear at the top of a channel for quick access.

manage_files

Manage Files

Upload, list, get info about, or delete files in Slack. Upload text content as a file snippet, retrieve file metadata, or list files shared in a channel or by a user.

update_message

Update Message

Update or delete an existing Slack message. Use this to edit message content or remove a message entirely.

manage_reactions

Manage Reactions

Add, remove, or list emoji reactions on a Slack message. Use this to react to messages, remove existing reactions, or see all reactions on a message.

search_messages

Search Messages

Search for messages across a Slack workspace by keyword query. Results include the message text, channel, sender, and timestamp. Requires a user token with the `search:read` user scope.

list_conversations

List Conversations

List Slack conversations (channels, private channels, DMs, and group DMs) accessible to the authenticated user or bot. Supports filtering by conversation type and pagination.

get_conversation_info

Get Conversation Info

Retrieve stable metadata for a Slack conversation, including channel type, membership, topic, purpose, member count, and timestamps.

manage_scheduled_messages

Manage Scheduled Messages

List or delete Slack messages that are scheduled to be sent later.

search_files

Search Files

Search for files across a Slack workspace by keyword query. Requires a user token with the `search:read` scope.

open_conversation

Open Conversation

Open or resume a Slack direct message or group direct message with one or more users.

manage_user_status

Manage User Status

Get, set, or clear the authorized Slack user's custom status.

search_users

Search Users

Find Slack people by partial name, email, title, department, role, or other profile terms and return stable user IDs for messages and mentions. Use this query-driven discovery tool when the identity is not yet known; use get_user_info for a known user ID or exact email, a full profile lookup, or paginated member listing.

search_public_and_private

Search Public and Private Content

Consent-sensitive Real-time Search across public channels and the private channels, DMs, and group DMs accessible to the connected Slack user. Invoke this tool only after the user explicitly consents to searching private or direct-message content. It never expands access beyond conversations that connected user can already read. By default it searches messages across public channels, private channels, DMs, and group DMs.

create_canvas

Create Canvas

Create a persistent Slack Canvas for meeting notes, plans, reports, or other structured documents. Canvas Markdown is distinct from Slack message mrkdwn.

update_user_profile

Update User Profile

Update the connected Slack user's profile fields without changing their status or email address.

get_message_permalink

Get Message Permalink

Get a stable Slack permalink for a known message so users and downstream workflows can open it directly.

edit_canvas

Edit Canvas

Insert, replace, delete, or rename Slack Canvas content. A replace operation without sectionId replaces the entire Canvas document and is destructive.

read_file

Read File

Download the contents of a Slack file by file ID. The result includes file metadata and a Slack permalink when available. Use manage_files with action "get" when only metadata is needed.

search_channels

Search Channels

Find Slack channels by partial name, topic, purpose, or description with bounded Real-time Search. Use this query-driven tool to resolve a channel ID before reads or writes; use list_conversations when you need to browse and paginate the full accessible conversation list. Public-channel search is the default. Private-channel requests search only channels accessible to the connected user and require search:read.private.

search_public

Search Public Content

Search messages and other discoverable content in public Slack channels with Real-time Search. This tool never searches private channels, DMs, or group DMs; use search_public_and_private only after the user has consented to that broader search. Results default to messages. File and user result types require the connected user token to have the matching granular search scopes.

search_emojis

Search Emojis

Search workspace custom emoji by name or alias target before using one in a message or reaction.

upload_file

Upload File

Upload a document, image, or other binary file to Slack from base64-encoded bytes using Slack’s external upload flow. Use manage_files with action "upload" for text-snippet convenience uploads.

lookup_canvas_sections

Lookup Canvas Sections

Find section IDs in a known Slack Canvas by section type or contained text so later edits can target a section safely. This does not read the complete Canvas document.

read_thread

Read Thread

Read a known Slack thread, returning its parent message, replies, pagination state, and permalink. Use search or channel history first when the thread timestamp is unknown.

who_am_i

Who Am I

Identify the Slack user or bot connected to this integration and the workspace where it is authenticated.

manage_slack_list_access

Manage Slack List Access

Grant, change, or revoke user or channel access to a Slack List. Each invocation targets either users or channels, never both.

update_slack_list_items

Update Slack List Items

Replace one or more typed cell values in existing Slack List rows using stable row and column IDs.

create_slack_list_item

Create Slack List Item

Create one new row in an existing Slack List with optional typed field values.

manage_presence

Manage Presence

Read a Slack user presence or set the connected actor presence to automatic or away. Get requires users:read; set requires users:write.

delete_canvas

Delete Canvas

Permanently delete one Slack Canvas by its explicit ID. This action is destructive and irreversible.

mark_conversation_read

Mark Conversation Read

Advance the connected Slack user's read marker in a channel, private channel, DM, or group DM to an exact message timestamp.

create_slack_list

Create Slack List

Create a Slack List for structured team tracking, such as an action register, project tracker, or task list.

manage_canvas_access

Manage Canvas Access

Set or revoke access to a Slack Canvas for an explicit collection of users or channels.

list_slack_list_items

List Slack List Items

List and paginate rows in a Slack List, including the stable row and column identifiers needed for later updates or deletion.

delete_slack_list_items

Delete Slack List Items

Permanently delete one or more explicitly identified rows from a Slack List. Multi-item deletion is all-or-nothing: if Slack cannot delete every requested item, the batch fails.

get_message

Get Message

Retrieve one exact Slack channel-level message by timestamp with its permalink, full message content, hydrated author details when available, and optional bounded preceding context or thread replies.

download_slack_list

Download Slack List

Start a Slack List export, wait for the bounded asynchronous job to finish, and return the completed export file for download.

manage_dnd

Manage Do Not Disturb

Read Do Not Disturb state or end/set DND for the connected Slack user. Reads require dnd:read; end, end_snooze, and set_snooze require dnd:write.

More integrations teams use with Slack

Sharepoint

Manage SharePoint sites, document libraries, lists, and files. Create, read, update, and delete lists and list items with custom columns. Resolve site users to numeric Person/Group LookupId values. Upload, download, move, copy, and version files in document libraries. Search across sites, files, folders, lists, and list items using Microsoft Search. Manage permissions at site, list, and item levels with granular access control. Define and manage content types and site columns. Subscribe to webhooks for list and library change notifications. Retrieve site properties and search for sites across Microsoft 365.

Microsoft Outlook

Send, read, reply to, forward, and manage email messages in user mailboxes. Organize messages into folders, apply categories, flags, and importance levels. Manage file and item attachments. Create, update, delete, and respond to calendar events and meetings. Find available meeting times, manage attendees, handle recurrence, and work with shared or delegated calendars. Create, read, update, and delete contacts, organize them into contact folders, and manage contact photos. Manage tasks and task lists via Microsoft To Do, including due dates, reminders, recurrence, and checklist items. Subscribe to webhook notifications for changes to messages, calendar events, and contacts. Support for Focused Inbox, @-mentions, mail tips, send-on-behalf, and send-as capabilities.

Discord

Send, edit, and delete messages in channels. Manage servers (guilds), channels, roles, members, invites, webhooks, threads, scheduled events, auto moderation rules, audit logs, application commands, and custom guild emojis. Add or remove users, assign roles, kick or ban members, and receive supported message, guild, channel, member, and inbound webhook triggers.

Confluence

Create, read, update, and delete pages, blog posts, comments, and attachments in Confluence spaces. Manage spaces, permissions, labels, and content restrictions. Search content using Confluence Query Language (CQL). Upload and download file attachments with versioning. Manage users, groups, and group memberships. Create and manage whiteboards, databases, folders, and templates. View and update inline tasks. Access audit logs. Listen for webhooks on page, blog, comment, attachment, space, label, and user events.

Gmail

Send, read, and search email messages with support for recipients, attachments, and HTML content. Create, update, and send drafts. Manage conversation threads and organize messages with labels. Search mailboxes using Gmail query syntax (from, to, subject, date, attachment filters). Configure mail settings including forwarding rules, filters, vacation responders, signatures, aliases, and delegates. Import and insert messages for migration. Sync mailbox changes incrementally via history API. Subscribe to mailbox change notifications via push notifications.

Microsoft Teams

Send, read, update, and delete messages in channels and chats. Create and manage teams, channels, and memberships. Schedule and manage online meetings, access call recordings and transcripts. Monitor user presence status in real time. Manage shifts, schedules, and time-off requests for frontline workers. Install and configure apps and tabs within teams. Send activity feed notifications to users. Subscribe to change notifications (webhooks) for messages, chats, teams, channels, memberships, presence, and meeting events. Create and manage tags for @mentioning user groups. Generate usage reports and import historical message data from other platforms.

Technical notes for Slack

Slack: connect with bot OAuth or user OAuth to work with messages, conversations, search, files, Canvases, Lists, profiles, reactions, reminders, and workspace productivity settings.

Connect Slack to production AI agents

See how Metorial gives Slack access the governance, tracing, and security controls teams need.

Frequently asked questions

Common questions about connecting Slack to AI agents with Metorial.

  1. Can Metorial connect Slack to AI agents?
    Yes. Metorial connects AI agents to Slack through a governed integration layer, so teams can use the provider while keeping access controlled and observable.
  2. Metorial is MCP compatible and lets teams expose approved provider tools to MCP-capable agents and clients through a controlled access layer.
  3. Metorial applies policies across users, groups, providers, agents, and individual tools, then records the context around every agent interaction.
  4. Yes. Metorial records provider activity so teams can inspect tool calls, troubleshoot integrations, and give security teams the visibility they need.