Slack
Arcade Optimized
Arcade.dev LLM tools for Slack
46tools
Arcade's Slack toolkit provides LLM-callable tools for interacting with Slack workspaces. It enables agents to read and write messages, threads, files, canvases, lists, reactions, channels, and user profiles through the Slack API.
Capabilities
- Messaging & scheduling: Send, edit, delete, forward, and schedule messages; post thread replies; cancel pending scheduled messages; mark conversations as read.
- Channels, DMs & members: Create and list conversations (channels, DMs, group DMs); invite users; list and resolve members; retrieve conversation metadata.
- Files & canvases: Upload, finalize, download, and search files; create, read, update, delete, and share canvases; search canvas sections for targeted edits.
- Lists & records: Create and update lists with typed column schemas; add, update, and delete records; replace list schemas with incremental record migration.
- Search & discovery: Search messages, files, channels, people, and custom emoji (classic and Slack AI–powered search); look up user profiles with full detail.
- Reactions, pins & identity: Add or remove reactions; list pinned items; check authenticated identity; enumerate workspace users and their profiles.
OAuth
This toolkit uses OAuth 2.0 via the Slack provider. See the Arcade Slack auth provider docs for configuration details.
Available tools(46)
46 of 46 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 local draft from supplied Slack mrkdwn text and return its targeting fields.
Nothing is sent or saved; 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 46)
Last updated on