Slack
Arcade Optimized
Arcade.dev LLM tools for Slack
47tools
Arcade's Slack toolkit provides LLM-callable tools for the Slack platform, enabling agents to read, write, and manage messages, channels, files, canvases, lists, reactions, and user profiles within a Slack workspace.
Capabilities
- Messaging & scheduling: Send, reply, edit, delete, forward, and schedule messages; cancel pending scheduled messages; mark conversations as read.
- Channels, DMs & membership: Create and list conversations (public/private channels, DMs, group DMs); invite users; list and inspect channel members and metadata.
- Search & discovery: Search messages, files, channels, and people via classic Slack search or Slack AI real-time search (public and private variants); find custom emoji; look up users by name or email.
- Files & canvases: Upload, finalize, download, and search files; create, read, update, delete, and share canvases; locate canvas sections for targeted edits.
- Lists: Create and update lists with typed schemas; create, update, and delete records; replace schemas with incremental record migration.
- Reactions, pins & profiles: Add/remove reactions; list pinned messages; read detailed user profiles; identify the authenticated account.
OAuth
This toolkit uses OAuth 2.0 with Slack as the identity provider. See the Slack auth provider docs for setup details.
Available tools(47)
47 of 47 tools
Operations
Behavior
| Tool name | Description | Secrets | |
|---|---|---|---|
Cancel an undelivered API-scheduled message using its schedule identifier. Delivered
messages require message deletion; inspect pending schedules if cancellation has an unknown
outcome. | |||
Check the connected Slack account with broad access prepared up front.
Use when the user wants one authorization for all supported Slack features.
Individual task tools request fewer permissions. This check requires combined
read and write scopes for conversations, messages, reactions, search, files,
canvases, lists and profiles, then validates the token with Slack and returns
the connected user and workspace IDs. It changes no Slack content. Required
scopes are not a live grant inventory; workspace app approval, membership,
plan limits and private-search consent still apply. | |||
Create a new canvas and optionally tab it in a channel or send it to people. Returns
canvas_id even if direct sharing fails; finish sharing that existing ID instead of creating
a duplicate. For an unknown creation, inspect Slack before retrying. | |||
Create a channel with invitations and topic/purpose setup, or explicitly open/resume a DM or
group DM. Returns conversation_id even if later setup is partial.
Reuse a returned ID as a message destination; do not recreate a channel after partial
success. Inspect existing conversation memberships before retrying an unknown creation. | |||
Allocate a temporary upload_url and file_id for a client to upload bytes. POST exactly
length bytes to the URL without an Authorization header, then finalize the file ID;
allocation alone does not make the file visible.
A one-step upload accepts supplied text/base64 or opens a local file picker instead. Keep
any returned file_id when allocation is partial, and check it before allocating again. | |||
Create a new list with typed columns and choices, returning its F-prefixed list ID. Read the
list's schema if Slack has not returned assigned column IDs. For an unknown creation,
inspect Slack before retrying to avoid a duplicate list. | |||
Create one typed list record or subtask and return its new Rec-prefixed record ID. Updating
an existing record is a separate action; after an unknown creation, inspect the list before
creating another row. | |||
Schedule a future message or thread reply and return the scheduled_message_id used for
cancellation. For an unknown outcome, inspect pending schedules before creating another. | |||
Permanently delete an entire canvas. A targeted section edit can delete one section instead;
verify an uncertain deletion before repeating it. | |||
Permanently delete list records, with one confirmed, rejected or unknown outcome per ID.
Read the list to check uncertain outcomes before repeating a deletion. | |||
Permanently delete an existing message the authenticated account may delete. Undelivered
scheduled messages must be cancelled by their schedule identifier instead. | |||
Read bounded private file text and open a preview/download App.
Ordinary results omit file bytes. The App fetches them itself for supported image/text
preview and exact-byte saving, up to 8 MiB. Non-App clients can explicitly request
include_binary=True for client code; direct SDK MCP transports attach supported native
image/PDF content. Encoded JSON and a private URL alone do not give model vision. | |||
Complete previously uploaded file bytes and optionally share the files in a conversation or
thread. This does not upload bytes itself. Inspect stage, file_ids and
last_operation_status; check the existing files before retrying an unknown finalization. | |||
Post an attributed text copy with a link to the original message. Files remain linked and
reactions are not copied.
The returned fidelity is attributed_copy. Inspect the destination before retrying an unknown
outcome to avoid a duplicate copy. | |||
Prepare a Markdown message draft for review and return its text and targeting fields.
Nothing is sent or saved in Slack. Clients that show interactive previews let the user edit
the draft and send or schedule it from the preview; otherwise posting or scheduling is a
separate action. | |||
Read a known canvas as Markdown in bounded parts. Follow next_cursor until null for its
complete body; section lookup finds IDs for targeted edits. | |||
Read one conversation's topic, purpose, membership and available activity/read-state
metadata. Unavailable fields remain null; message history is a separate read. | |||
Read a list's metadata, typed column schema and records in Slack's row order, or one exact
record. Follow next_cursor for more records. Unavailable description/task-mode metadata
remain null; use returned column selectors with record mutations. | |||
Read one exact message's complete text, including forwarded text, in bounded parts with file
IDs and a permalink. Follow next_cursor until empty. Read its thread for surrounding
replies; attached file IDs can be used to download file content. | |||
Read a thread's parent and replies, including a parent with no replies. Follow next_cursor
for remaining messages; continue an exact-message read for truncated text.
Slack controls page order; use posted_at for chronology. Conversation-wide history is a
separate listing. | |||
Read one person's detailed profile, including status, pronouns, timezone and labeled custom
fields. Search people first to disambiguate a name, or inspect the authenticated identity
for your own account. | |||
Invite people to an existing channel and report per-person outcomes. Already-present members
succeed with changed=false; inspect channel membership to check uncertain invitations before
retrying. | |||
List a conversation's member identities in Slack's order, retaining inaccessible profiles as
unresolved user IDs. Follow next_cursor for more; request a selected member's profile for
detailed fields. | |||
List conversations the authenticated user belongs to, in Slack's order, including archived
memberships by default. Follow next_cursor for more. Real-time content search can discover
accessible unjoined channels; a known conversation can be read for detailed metadata. | |||
Read conversation history newest first, with message references, author names, file IDs and
compact text excerpts. Read an individual thread for its replies. When text_complete is
false, continue an exact-message read using that message_ref and content_cursor. Follow
next_cursor for older messages. |
Page 1 of 2(25 of 47)
Last updated on
Overview
Browse Arcade's catalog of pre-built MCP servers — integrations for GitHub, Slack, Google Workspace, Salesforce, and dozens of other services, ready to use with any MCP-compatible client via the Arcade Engine.
Nimble
Search, extract, crawl, and map the web. Nimble (Nimbleway) is available in Arcade as a Partner MCP server.