Use Slack with CrewAI Python

Slack is a channel-based messaging platform. With Slack, people can work together more effectively, connect all their software tools and services, and find the information they need to do their best work — all within a secure, enterprise-grade environment.
🔗 Connect and Use Slack
1. 🔑 Connect your Slack account
2. ✅ Select an action
3. 🚀 Go live with the agent
What do you want to do?
Actions
admin.apps
- Approve an app installation in a workspace
admin.apps.approved
admin.apps.requests
admin.apps.restricted
admin.conversations
admin.conversations.ekm
admin.conversations.restrictAccess
admin.emoji
admin.inviteRequests
admin.inviteRequests.approved
admin.inviteRequests.denied
admin.teams.admins
admin.teams
admin.teams.owners
admin.teams.settings
admin.usergroups
admin.users
admin.users.session
api
apps.event.authorizations
apps.permissions
apps.permissions.resources
apps.permissions.scopes
apps.permissions.users
apps
auth
bots
calls
calls.participants
chat
chat.scheduledMessages
conversations
dialog
dnd
emoji
files.comments
files
files.remote
migration
oauth
oauth.v2
pins
reactions
reminders
rtm
search
stars
team
team.profile
usergroups
usergroups.users
users
users.profile
views
workflows
Main

API actions for Slack for AI assitants/agents

Language
JS
PYTHON
Framework

Conversations

Set Read Cursor In A Conversation

Sets the read cursor in a channel.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_SET_READ_CURSOR_IN_A_CONVERSATION])

Retrieve Conversation Members List

Retrieve members of a conversation.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_RETRIEVE_CONVERSATION_MEMBERS_LIST])

Open Or Resume Direct Or Multi Person Messages

Opens or resumes a direct message or multi-person direct message.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_OPEN_OR_RESUME_DIRECT_OR_MULTI_PERSON_MESSAGES])

Rename A Conversation

Renames a conversation.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_RENAME_A_CONVERSATION])

Fetch Message Thread From A Conversation

Retrieve a thread of messages posted to a conversation
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_FETCH_MESSAGE_THREAD_FROM_A_CONVERSATION])

Set A Conversation S Purpose

Sets the purpose for a conversation.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_SET_A_CONVERSATION_S_PURPOSE])

Set The Topic Of A Conversation

Sets the topic for a conversation.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_SET_THE_TOPIC_OF_A_CONVERSATION])

Reverse A Conversation S Archival Status

Reverses conversation archival.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_REVERSE_A_CONVERSATION_S_ARCHIVAL_STATUS])

Dialog

Open User Dialog With Json Defined Ui

Open a dialog with a user
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_OPEN_USER_DIALOG_WITH_JSON_DEFINED_UI])

Dnd

End User Do Not Disturb Session

Ends the current user's Do Not Disturb session immediately.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_END_USER_DO_NOT_DISTURB_SESSION])

End User Snooze Mode Immediately

Ends the current user's snooze mode immediately.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_END_USER_SNOOZE_MODE_IMMEDIATELY])

Retrieve Current User Dnd Status

Retrieves a user's current Do Not Disturb status.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_RETRIEVE_CURRENT_USER_DND_STATUS])

Activate Or Modify Do Not Disturb Duration

Turns on Do Not Disturb mode for the current user, or changes its duration.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_ACTIVATE_OR_MODIFY_DO_NOT_DISTURB_DURATION])

Fetch Dnd Status For Multiple Team Members

Retrieves the Do Not Disturb status for up to 50 users on a team.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_FETCH_DND_STATUS_FOR_MULTIPLE_TEAM_MEMBERS])

Emoji

List Team Custom Emojis

Lists custom emoji for a team.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_TEAM_CUSTOM_EMOJIS])

Files.comments

Delete A Comment On A File

Deletes an existing comment on a file.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_DELETE_A_COMMENT_ON_A_FILE])

Files

Delete A File By Id

Deletes a file.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_DELETE_A_FILE_BY_ID])

Retrieve Detailed Information About A File

Gets information about a file.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_RETRIEVE_DETAILED_INFORMATION_ABOUT_A_FILE])

List Files With Filters In Slack

List for a team, in a channel, or from a user with applied filters.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_FILES_WITH_FILTERS_IN_SLACK])

Revoke Public Sharing Access For A File

Revokes public/external sharing access for a file
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_REVOKE_PUBLIC_SHARING_ACCESS_FOR_A_FILE])

Enable Public Sharing Of A File

Enables a file for public/external sharing.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_ENABLE_PUBLIC_SHARING_OF_A_FILE])

Upload Or Create A File In Slack

Uploads or creates a file.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_UPLOAD_OR_CREATE_A_FILE_IN_SLACK])

Files.remote

Add A Remote File From A Service

Adds a file from a remote service
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_ADD_A_REMOTE_FILE_FROM_A_SERVICE])

Retrieve Remote File Info In Slack

Retrieve information about a remote file added to Slack
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_RETRIEVE_REMOTE_FILE_INFO_IN_SLACK])

List Slack S Remote Files With Filters

Retrieve information about a remote file added to Slack
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_SLACK_S_REMOTE_FILES_WITH_FILTERS])

Remove A Remote File

Remove a remote file.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_REMOVE_A_REMOTE_FILE])

Share Remote File In Channels

Share a remote file into a channel.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_SHARE_REMOTE_FILE_IN_CHANNELS])

Updates An Existing Remote File

Updates an existing remote file.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_UPDATES_AN_EXISTING_REMOTE_FILE])

Migration

Map User Ids For Enterprise Grid Workspaces

For Enterprise Grid workspaces, map local user IDs to global user IDs
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_MAP_USER_IDS_FOR_ENTERPRISE_GRID_WORKSPACES])

Oauth

Exchange Oauth Code For Access Token

Exchanges a temporary OAuth verifier code for an access token.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_EXCHANGE_OAUTH_CODE_FOR_ACCESS_TOKEN])

Exchange Oauth Code For Workspace Token

Exchanges a temporary OAuth verifier code for a workspace token.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_EXCHANGE_OAUTH_CODE_FOR_WORKSPACE_TOKEN])

Oauth.v2

Exchange Oauth Verifier For Access Token

Exchanges a temporary OAuth verifier code for an access token.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_EXCHANGE_OAUTH_VERIFIER_FOR_ACCESS_TOKEN])

Pins

Pins An Item To A Channel

Pins an item to a channel.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_PINS_AN_ITEM_TO_A_CHANNEL])

Lists Pinned Items In A Channel

Lists items pinned to a channel.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LISTS_PINNED_ITEMS_IN_A_CHANNEL])

Unpin Item From Channel

Un-pins an item from a channel.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_UNPIN_ITEM_FROM_CHANNEL])

Reactions

Add Reaction To An Item

Adds a reaction to an item.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_ADD_REACTION_TO_AN_ITEM])

Fetch Item Reactions

Gets reactions for an item.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_FETCH_ITEM_REACTIONS])

List User Reactions

Lists reactions made by a user.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_USER_REACTIONS])

Remove Reaction From Item

Removes a reaction from an item.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_REMOVE_REACTION_FROM_ITEM])

Reminders

Create A Reminder

Creates a reminder.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_CREATE_A_REMINDER])

Reminders Add

Creates a reminder.<<DEPRECATED use create_a_reminder>>
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_REMINDERS_ADD])

Mark Reminder As Complete

Marks a reminder as complete.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_MARK_REMINDER_AS_COMPLETE])

Delete A Slack Reminder

Deletes a reminder.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_DELETE_A_SLACK_REMINDER])

Get Reminder Information

Gets information about a reminder.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_GET_REMINDER_INFORMATION])

List User Reminders With Details

Lists all reminders created by or for a given user.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_USER_REMINDERS_WITH_DETAILS])

Rtm

Start Real Time Messaging Session

Starts a Real Time Messaging session.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_START_REAL_TIME_MESSAGING_SESSION])

Search For Messages With Query

Searches for messages matching a query.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_SEARCH_FOR_MESSAGES_WITH_QUERY])

Search Messages

Searches for messages matching a query.<<DEPRECATED use search_for_messages_with_query>>
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_SEARCH_MESSAGES])

Stars

Add A Star To An Item

Adds a star to an item.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_ADD_A_STAR_TO_AN_ITEM])

Lists User S Starred Items With Pagination

Lists stars for a user.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LISTS_USER_S_STARRED_ITEMS_WITH_PAGINATION])

Frequently asked questions

How do I integrate Composio with Slack?

To integrate Composio with Slack, first install the Composio app from the Slack App Directory. Then go to your Composio dashboard and click on 'Integrations'. Select Slack and follow the authorization steps to connect your Slack workspace. Once authorized, you can configure Composio to send notifications, accept commands, and interact with Slack users and channels.

Can I use Composio to build AI-powered Slack bots?

Yes, Composio makes it easy to create intelligent Slack bots without coding. Use Composio's visual agent builder to define your bot's capabilities, personality and knowledge base. Train it on custom datasets. Then deploy it to Slack with a few clicks. Your Slack bot can understand natural language, answer questions, take actions and learn from interactions, powered by Composio's agentic AI framework.
+ Integrate seamlessly with your agentic frameworks
Composio Works with All Shapes and SizesComposio Works with All Shapes and SizesComposio Works with All Shapes and SizesComposio Works with All Shapes and SizesComposio Works with All Shapes and Sizes
Building for AI across continents🧪