GAIA Logo
PricingAboutDocs
GAIA Marketplace Wallpaper
  1. Home
  2. Marketplace
  3. Communication
slack Icon

Slack

Send messages, manage channels, and automate team communication

Category
Communication
Type
Native
Auth
OAuth

Available Tools (63)

SLACK CUSTOM GATHER CONTEXT

Get Slack workspace context: messages, @mentions, and unread count. Zero required parameters. Returns current workspace state for situational awareness.

SLACK ADD EMOJI

Adds a custom emoji to a Slack workspace given a unique name and an image URL; subject to workspace emoji limits.

SLACK ADD REACTION TO AN ITEM

Adds a specified emoji reaction to an existing message in a Slack channel, identified by its timestamp; does not remove or retrieve reactions.

SLACK CREATE A REMINDER

Creates a Slack reminder with specified text and time; time accepts Unix timestamps, seconds from now, or natural language (e.g., 'in 15 minutes', 'every Thursday at 2pm').

SLACK CREATE CANVAS

Creates a new Slack Canvas with the specified title and optional content.

SLACK CREATE CHANNEL

Initiates a public or private channel-based conversation in a Slack workspace. Immediately creates the channel; invoke only after explicit user confirmation.

SLACK CREATE CHANNEL BASED CONVERSATION

Creates a new public or private Slack channel with a unique name; the channel can be org-wide, or team-specific if `team_id` is given (required if `org_wide` is false or not provided).

SLACK DELETE CANVAS

Deletes a Slack Canvas permanently and irreversibly. Always confirm with the user before calling this tool.

SLACK DELETES A MESSAGE FROM A CHAT

Deletes a message, identified by its channel ID and timestamp, from a Slack channel, private group, or direct message conversation; the authenticated user or bot must be the original poster.

SLACK DELETE USER PROFILE PHOTO

Deletes the Slack profile photo for the user identified by the token, reverting them to the default avatar; this action is irreversible and succeeds even if no custom photo was set.

SLACK EDIT CANVAS

Edits a Slack Canvas with granular control over content placement. Supports replace, insert (before/after/start/end) operations for flexible content management.

SLACK ENABLE PUBLIC SHARING OF A FILE

Enables public sharing for an existing Slack file by generating a publicly accessible URL; this action does not create new files. Once enabled, the file is accessible to anyone with the URL — verify intent before sharing sensitive or confidential files.

SLACK END SNOOZE

Ends the current user's snooze mode immediately.

SLACK FETCH CONVERSATION HISTORY

Fetches a chronological list of messages and events from a specified Slack conversation, accessible by the authenticated user/bot, with options for pagination and time range filtering. IMPORTANT LIMITATION: This action only returns messages from the main channel timeline. Threaded replies are NOT returned by this endpoint. To retrieve threaded replies, use the SLACK_FETCH_MESSAGE_THREAD_FROM_A_CONVERSATION action (conversations.replies API) instead. The oldest/latest timestamp filters work reliably for filtering the main channel timeline, but cannot be used to retrieve individual threaded replies - even if you know the exact reply timestamp, setting oldest=latest to that timestamp will return an empty messages array. To get threaded replies: 1. Use this action to get parent messages (which include thread_ts, reply_count, latest_reply fields) 2. Use SLACK_FETCH_MESSAGE_THREAD_FROM_A_CONVERSATION with the parent's thread_ts to fetch all replies in that thread

SLACK FETCH ITEM REACTIONS

Fetches reactions for a Slack message, file, or file comment. Exactly one identifier path must be provided: `channel`+`timestamp`, `file`, or `file_comment`. Mixing identifiers (e.g., providing both `channel`+`timestamp` and `file`) causes errors. If the response omits the `reactions` field, the item has zero reactions.

SLACK FETCH MESSAGE THREAD FROM A CONVERSATION

Retrieves replies to a specific parent message in a Slack conversation, using the channel ID and the parent message's timestamp (`ts`). Note: The parent message in the response contains metadata (reply_count, reply_users, latest_reply) that indicates expected thread activity. If the returned messages array contains fewer replies than reply_count indicates, check: (1) has_more=true means pagination is needed, (2) recently posted replies may have timing delays, (3) some replies may be filtered by permissions or deleted. The composio_execution_message field will warn about any detected mismatches.

SLACK FETCH TEAM INFO

Fetches comprehensive metadata about the current Slack team, or a specified team if the provided ID is accessible.

SLACK FIND CHANNELS

Find channels in a Slack workspace by any criteria - name, topic, purpose, or description. Returns channel IDs (C*/G* prefixed) required by most Slack tools — always resolve names to IDs here before passing to other tools. NOTE: This action searches channels and conversations visible to the authenticated user. Empty results may indicate: - No channels match the search query in name, topic, or purpose - The target private channel or DM is not accessible to the authenticated user because they are not a member - The connection lacks required read scopes (channels:read, groups:read, im:read, mpim:read). If empty, retry with exact_match=false or exclude_archived=false to avoid false negatives. In large workspaces, paginate using next_cursor to avoid missing matches. Check 'composio_execution_message' and 'total_channels_searched' in the response for details.

SLACK FIND USER BY EMAIL ADDRESS

Retrieves the Slack user object for an active user by their registered email address; requires the users:read.email OAuth scope. Fails with 'users_not_found' if the email is unregistered, the user is inactive, the account is a guest, or the email is hidden by workspace privacy settings.

SLACK FIND USERS

Find users in a Slack workspace by any criteria - email, name, display name, or other text. Includes optimized email lookup for exact email matches. Zero results may reflect email visibility restrictions or workspace policies, not global absence. Repeated calls may trigger HTTP 429; honor the Retry-After header.

SLACK GET CANVAS

DEPRECATED: Use SLACK_RETRIEVE_DETAILED_INFORMATION_ABOUT_A_FILE instead. Retrieves a specific Slack Canvas by its ID, including its content and metadata.

SLACK GET CHANNEL CONVERSATION PREFERENCES

Retrieves conversation preferences (e.g., who can post, who can thread) for a specified channel, primarily for use within Slack Enterprise Grid environments.

SLACK GET REMOTE FILE

Retrieve information about a remote file added to Slack via the files.remote API. Does not work for standard Slack-hosted file uploads.

SLACK INVITE USERS TO A SLACK CHANNEL

Invites users to an existing Slack channel using their valid Slack User IDs. Response is always HTTP 200; inspect `ok`, `error`, and `errors` fields to confirm users were added.

SLACK JOIN AN EXISTING CONVERSATION

Joins an existing Slack conversation (public channel, private channel, or multi-person direct message) by its ID, if the authenticated user has permission. Joining an already-joined channel returns a non-fatal no-op response. Private or restricted channel joins may fail with a permission error.

SLACK LEAVE A CONVERSATION

(DEPRECATED: use `SLACK_LEAVE_CONVERSATION`) Leaves a Slack conversation given its channel ID; fails if leaving as the last member of a private channel or if used on a Slack Connect channel.

SLACK LIST ALL CHANNELS

Lists conversations available to the user with various filters and search options. Always use resolved `channel_id` (not display names) for downstream operations, as names may be non-unique. The `created` field in results is a Unix epoch timestamp (UTC). Pagination across large workspaces may return HTTP 429 with a `Retry-After` header; honor the delay and resume from the last successful cursor.

SLACK LIST ALL USERS

Retrieves a paginated list of all users with profile details, status, and team memberships in a Slack workspace; data may not be real-time. Filter response fields `is_bot`, `is_app_user`, and `deleted` to build human-only rosters. Profile fields like `email` and `phone` may be absent depending on OAuth scopes and workspace privacy settings. Guest/restricted accounts may be omitted based on scopes—do not treat results as a complete directory. High-frequency calls risk HTTP 429; honor the `Retry-After` header and throttle to ~1–2 requests/second. Use stable user IDs rather than display names for mapping. Prefer SLACK_FIND_USERS for targeted lookups; cache results to avoid full-workspace fetches.

SLACK LIST AUTH TEAMS

Obtains a paginated list of workspaces your org-wide app has been approved for. Use when you need to discover all workspaces within an organization where the app is installed.

SLACK LIST CANVASES

DEPRECATED: Use SLACK_LIST_FILES_WITH_FILTERS_IN_SLACK instead (pass types="canvas" for equivalent behavior). Lists Slack Canvases with filtering by channel, user, timestamp, and page-based pagination. Uses Slack's files.list API with types=canvas filter. Only canvases accessible to the authenticated app are returned; missing canvases indicate permissions restrictions, not empty data. Use `paging.pages` in the response to determine total pages; iterate `page` with `count` to retrieve all results. Known limitations: - The 'user' filter may return canvases accessible to the specified user, not just canvases they created. - The 'ts_from' and 'ts_to' timestamp filters may not work reliably for canvas types. Consider client-side filtering on the 'created' field in the response if precise date filtering is required.

SLACK LIST CONVERSATIONS

List conversations (channels/DMs) accessible to a specified user (or the authenticated user if no user ID is provided), respecting shared membership for non-public channels. Returns conversation IDs (C* for channels, G* for group DMs), not display names. Absence of private channels, DMs, or MPIMs from results indicates token scope or membership limits, not that the conversation is nonexistent.

SLACK LIST FILES WITH FILTERS IN SLACK

Lists files and their metadata within a Slack workspace, filterable by user, channel, timestamp, or type; returns metadata only, not file content. Results are limited to files visible to the authenticated user — files in private channels or restricted to certain members require appropriate membership and permissions. For large workspaces, check `paging.pages` in the response to determine total pages when paginating.

SLACK LIST REMINDERS

Lists all reminders with their details for the authenticated Slack user; returns an empty array if no reminders exist (valid state, not an error). Reminder text is not unique—perform client-side matching on returned objects before extracting a reminder ID for use with SLACK_DELETE_A_SLACK_REMINDER.

SLACK LIST REMOTE FILES

Retrieve information about a team's remote files.

SLACK LIST SCHEDULED MESSAGES

Retrieves a list of pending (not yet delivered) messages scheduled in a specific Slack channel, or across all accessible channels if no channel ID is provided, optionally filtered by time and paginated.

SLACK LIST STARRED ITEMS

Lists items starred by a user. Returns classic starred items only — does not reflect Slack's 'saved for later' feature. Use SLACK_SEARCH_MESSAGES or SLACK_SEARCH_ALL for broader saved-content queries.

SLACK LIST USER REACTIONS

Lists all reactions added by a specific user to messages, files, or file comments in Slack, useful for engagement analysis when the item content itself is not required. Results are paginated; check `response_metadata.next_cursor` and iterate with the `cursor` parameter to retrieve complete reaction history.

SLACK LOOKUP CANVAS SECTIONS

Looks up section IDs in a Slack Canvas for use with targeted edit operations. Section IDs are needed for insert_after, insert_before, delete, and section-specific replace operations.

SLACK MANUALLY SET USER PRESENCE

(DEPRECATED: use `SLACK_SET_USER_PRESENCE`) Manually sets a user's Slack presence, overriding automatic detection; this setting persists across connections but can be overridden by user actions or Slack's auto-away (e.g., after 10 mins of inactivity).

SLACK OPEN DM

Opens or resumes a Slack direct message (DM) or multi-person direct message (MPIM) by providing either user IDs or an existing channel ID. Returns `already_open=true` when the DM exists — treat as success and reuse the returned `channel.id` (starts with 'D') for subsequent SLACK_SEND_MESSAGE calls; passing a username, email, or user ID directly to SLACK_SEND_MESSAGE causes `channel_not_found`. Avoid redundant calls when an existing DM channel ID is available.

SLACK REMOVE REACTION FROM ITEM

Removes an emoji reaction from a message, file, or file comment in Slack. Provide exactly one targeting method: channel+timestamp together, file, or file_comment. Mixing methods or omitting all returns invalid_arguments.

SLACK REMOVE USER FROM WORKSPACE

Tool to remove a user from a Slack workspace. Use when you need to revoke a user's access to a workspace.

SLACK RETRIEVE CONVERSATION INFORMATION

Retrieves metadata for a Slack conversation by ID (e.g., name, purpose, creation date, with options for member count/locale), excluding message content. The `channel` parameter is effectively required. Private channels, DMs, or channels where the app lacks membership may return restricted data; check `is_archived` and `is_member` fields in the response to diagnose access issues. Bulk lookups may trigger HTTP 429 rate limiting; honor the `Retry-After` response header.

SLACK RETRIEVE CONVERSATION MEMBERS LIST

Retrieves a paginated list of active member IDs (not names, emails, or presence) for a specified Slack public channel, private channel, DM, or MPIM. Returns only user IDs; use a user-lookup tool to enrich member data.

SLACK RETRIEVE CURRENT USER DND STATUS

Retrieves a Slack user's current Do Not Disturb (DND) status to determine their availability before interaction; any specified user ID must be a valid Slack user ID.

SLACK RETRIEVE DETAILED INFORMATION ABOUT A FILE

Retrieves detailed metadata and paginated comments for a specific Slack file ID; does not download file content.

SLACK RETRIEVE DETAILED USER INFORMATION

Retrieves comprehensive information for a valid Slack user ID, excluding message history and channel memberships. Sensitive fields like `email` and `phone` require the `users:read.email` scope and may be silently omitted based on workspace privacy policies.

SLACK RETRIEVE MESSAGE PERMALINK URL

Retrieves a permalink URL for a specific message in a Slack channel or conversation; the permalink respects Slack's privacy settings.

SLACK RETRIEVE USER PROFILE INFORMATION

Retrieves profile information for a specified Slack user (defaults to the authenticated user if `user` ID is omitted); a provided `user` ID must be valid. Sensitive fields like email and phone may be silently omitted if required scopes (e.g., `users:read.email`) are not granted or workspace privacy policies restrict access.

SLACK SCHEDULE MESSAGE

Schedules a message to a Slack channel, DM, or private group for a future time (`post_at`), requiring `text`, `blocks`, or `attachments` for content; scheduling is limited to 120 days in advance.

SLACK SEARCH ALL

Tool to search all messages and files. Use when you need unified content search across channels and files in one call. Results are scoped to content visible to the authenticated token; missing hits in private or restricted channels reflect permission/membership gaps. Response separates messages and files into distinct sections — explicitly read the files section for document results. Results are index-based and may lag several minutes behind real-time; use SLACK_FETCH_CONVERSATION_HISTORY for near-real-time per-channel coverage. Paginated searches exceeding ~1 req/sec may return HTTP 429 too_many_requests; honor the Retry-After header and resume from the last page.

SLACK SEARCH MESSAGES

Workspace‑wide Slack message search with date ranges and filters. Use `query` modifiers (e.g., in:#channel, from:@user, before/after:YYYY-MM-DD), sorting (score/timestamp), and pagination.

SLACK SEND EPHEMERAL MESSAGE

Sends an ephemeral message visible only to the specified `user` in a channel; other channel members cannot see it. Both the bot and the target user must be members of the specified channel.

SLACK SEND MESSAGE

Posts a message to a Slack channel, DM, or private group. Provide exactly one visible content mode: `markdown_text` for normal Markdown content, or `blocks` for raw Slack Block Kit layouts. Use `fallback_text` only with `blocks`; it maps to Slack's top-level `text` fallback. Fails with `not_in_channel`, `channel_not_found`, or `channel_is_archived` if the bot lacks access. Rate-limited at ~1 req/sec (HTTP 429, honor `Retry-After`). Not idempotent — duplicate calls post duplicate messages.

SLACK SET DND DURATION

Turns on Do Not Disturb mode for the current user, or changes its duration.

SLACK SET PROFILE PHOTO

This method allows the user to set their profile image.

SLACK SET STATUS

(DEPRECATED: use `SLACK_SET_USER_PROFILE`) Updates a Slack user's profile, setting either individual fields or multiple fields via a JSON object.

SLACK SET THE TOPIC OF A CONVERSATION

Sets or updates the topic for a specified Slack conversation.

SLACK TEST AUTH

Checks authentication and tells you who you are. Use to verify Slack API authentication is functional and to retrieve identity information about the authenticated user or bot.

SLACK UNARCHIVE CHANNEL

Reverses conversation archival.

SLACK UPDATES A SLACK MESSAGE

Updates a Slack message by timestamp. Provide exactly one visible content mode: `markdown_text` for normal Markdown content, or `blocks` for raw Slack Block Kit layouts. Use `fallback_text` only with `blocks`; it maps to Slack's top-level `text` fallback.

SLACK UPDATE USER GROUP MEMBERS

Replaces all members of an existing Slack User Group with a new list of valid user IDs.

SLACK UPLOAD OR CREATE A FILE IN SLACK

Upload files, images, screenshots, documents, or any media to Slack channels or threads. Supports all file types including images (PNG, JPG, JPEG, GIF), documents (PDF, DOCX, TXT), code files, and more. Can share files publicly in channels or as thread replies with optional comments. Large files may fail with `upload_too_large`; use SLACK_ADD_A_REMOTE_FILE_FROM_A_SERVICE for large uploads. If the API returns `ok=false` with `method_deprecated`, fall back to SLACK_ADD_A_REMOTE_FILE_FROM_A_SERVICE or SLACK_SEND_MESSAGE with a URL.

What you can do with GAIA + Slack

GAIA connects to Slack via MCP (Model Context Protocol) and exposes every action as a natural-language command. Tell GAIA what you want — it handles the rest, automatically.

  • Use GAIA to slack custom gather context in Slack with a plain-English instruction
  • Use GAIA to slack add emoji in Slack with a plain-English instruction
  • Use GAIA to slack add reaction to an item in Slack with a plain-English instruction
  • Use GAIA to slack create a reminder in Slack with a plain-English instruction
  • Use GAIA to slack create canvas in Slack with a plain-English instruction

How it works

Set up your Slack automation in three simple steps — no code required.

  1. 1

    Connect Slack to GAIA

    Open the GAIA Marketplace, find the Slack integration, and click "Add to your GAIA". Authorise access in under two minutes — no code, no configuration files.

  2. 2

    Tell GAIA what to automate in plain English

    Describe the task in your own words: "summarise my Slack activity every morning" or "notify me on Slack when a new communication event happens". GAIA understands context and intent.

  3. 3

    GAIA handles it automatically, 24/7

    GAIA runs your Slack automations in the background around the clock. No manual triggers, no scripts to maintain — just results delivered to you.

Frequently asked questions

Everything you need to know about the GAIA Slack integration.

Yes, as long as the GAIA Slack app has been added to that private channel. You'll need to invite the app to private channels you want it to post in.



GAIA connects Slack with your entire stack

Slack is just one piece of the puzzle. GAIA integrates with 50+ tools across communication, communication, productivity, and more — letting you build cross-tool automations in plain English without writing a single line of code.

Browse all integrations
The Experience Company Logo
Life. Simplified.
Product
BotsCompareDownloadFeaturesIntegration MarketplaceRoadmapSelf-Host CLIUse Cases
Resources
AlternativesAutomation CombosBlogDocumentationGlossaryRelease NotesRequest a FeatureRSS FeedStatus
Built For
Startup FoundersSoftware DevelopersSales ProfessionalsProduct ManagersEngineering ManagersAgency Owners
View All Roles
Company
AboutBrandingContactManifestoTools We Love
Socials
DiscordGitHubLinkedInTwitterWhatsAppYouTube
Discord IconTwitter IconGithub IconWhatsapp IconYoutube IconLinkedin Icon
Copyright © 2025 The Experience Company. All rights reserved.
Terms of Use
Privacy Policy