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

Admin.apps

Approve An App Installation In A Workspace

Approve an app for installation on a workspace.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_APPROVE_AN_APP_INSTALLATION_IN_A_WORKSPACE])

Restrict App Installation On Workspace

Restrict an app for installation on a workspace.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_RESTRICT_APP_INSTALLATION_ON_WORKSPACE])

Admin.apps.approved

List Approved Apps For Org Or Workspace

List approved apps for an org or workspace.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_APPROVED_APPS_FOR_ORG_OR_WORKSPACE])

Admin.apps.requests

List Team Workspace App Requests

List app requests for a team/workspace.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_TEAM_WORKSPACE_APP_REQUESTS])

Admin.apps.restricted

List Restricted Apps For An Org Or Workspace

List restricted apps for an org or workspace.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_RESTRICTED_APPS_FOR_AN_ORG_OR_WORKSPACE])

Admin.conversations

Archive A Public Or Private Channel

Archive a public or private channel.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_ARCHIVE_A_PUBLIC_OR_PRIVATE_CHANNEL])

Convert Public Channel To Private

Convert a public channel to a private channel.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_CONVERT_PUBLIC_CHANNEL_TO_PRIVATE])

Create Channel Based Conversation

Create a public or private channel-based conversation.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_CREATE_CHANNEL_BASED_CONVERSATION])

Delete A Public Or Private Channel

Delete a public or private channel.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_DELETE_A_PUBLIC_OR_PRIVATE_CHANNEL])

Disconnect Channel From Workspaces

Disconnect a connected channel from one or more workspaces.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_DISCONNECT_CHANNEL_FROM_WORKSPACES])

Get Channel Conversation Preferences

Get conversation preferences for a public or private channel.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_GET_CHANNEL_CONVERSATION_PREFERENCES])

Get Channel S Connected Workspaces In Enterprise

Get all the workspaces a given public or private channel is connected to within this Enterprise org.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_GET_CHANNEL_S_CONNECTED_WORKSPACES_IN_ENTERPRISE])

Invite User To Channel

Invite a user to a public or private channel.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_INVITE_USER_TO_CHANNEL])

Rename A Slack Channel

Rename a public or private channel.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_RENAME_A_SLACK_CHANNEL])

Search Channels In An Enterprise Organization

Search for public or private channels in an Enterprise organization.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_SEARCH_CHANNELS_IN_AN_ENTERPRISE_ORGANIZATION])

Set Channel Posting Permissions

Set the posting permissions for a public or private channel.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_SET_CHANNEL_POSTING_PERMISSIONS])

Set Workspace Connections For A Channel

Set the workspaces in an Enterprise grid org that connect to a public or private channel.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_SET_WORKSPACE_CONNECTIONS_FOR_A_CHANNEL])

Unarchive A Public Or Private Channel

Unarchive a public or private channel.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_UNARCHIVE_A_PUBLIC_OR_PRIVATE_CHANNEL])

Admin.conversations.ekm

List Disconnected Channels With Original Ids For Ekm

List all disconnected channels—i.e., channels that were once connected to other workspaces and then disconnected—and the corresponding original channel IDs for key revocation with EKM.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_DISCONNECTED_CHANNELS_WITH_ORIGINAL_IDS_FOR_EKM])

Admin.conversations.restrictAccess

Add Idp Group Allowlist To Channel

Add an allowlist of IDP groups for accessing a channel
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_ADD_IDP_GROUP_ALLOWLIST_TO_CHANNEL])

List Idp Groups Linked To A Channel

List all IDP Groups linked to a channel
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_IDP_GROUPS_LINKED_TO_A_CHANNEL])

Remove Idp Group From Private Channel

Remove a linked IDP group linked from a private channel
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_REMOVE_IDP_GROUP_FROM_PRIVATE_CHANNEL])

Admin.emoji

Add A Custom Emoji To A Slack Team

Add an emoji.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_ADD_A_CUSTOM_EMOJI_TO_A_SLACK_TEAM])

Add An Emoji Alias In Slack

Add an emoji alias.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_ADD_AN_EMOJI_ALIAS_IN_SLACK])

List Enterprise Grid Organization Emojis

List emoji for an Enterprise Grid organization.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_ENTERPRISE_GRID_ORGANIZATION_EMOJIS])

Remove Enterprise Grid Org Emoji

Remove an emoji across an Enterprise Grid organization
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_REMOVE_ENTERPRISE_GRID_ORG_EMOJI])

Rename An Emoji

Rename an emoji.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_RENAME_AN_EMOJI])

Admin.inviteRequests

Approve Workspace Invite Request

Approve a workspace invite request.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_APPROVE_WORKSPACE_INVITE_REQUEST])

Deny Workspace Invite Request

Deny a workspace invite request.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_DENY_WORKSPACE_INVITE_REQUEST])

List Pending Workspace Invite Requests

List all pending workspace invite requests.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_PENDING_WORKSPACE_INVITE_REQUESTS])

Admin.inviteRequests.approved

List Approved Workspace Invite Requests

List all approved workspace invite requests.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_APPROVED_WORKSPACE_INVITE_REQUESTS])

Admin.inviteRequests.denied

List Denied Workspace Invite Requests

List all denied workspace invite requests.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_DENIED_WORKSPACE_INVITE_REQUESTS])

Admin.teams.admins

List Workspace Admins

List all of the admins on a given workspace.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_WORKSPACE_ADMINS])

Admin.teams

Create An Enterprise Team

Create an Enterprise team.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_CREATE_AN_ENTERPRISE_TEAM])

List All Teams In An Enterprise Organization

List all teams on an Enterprise organization
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_ALL_TEAMS_IN_AN_ENTERPRISE_ORGANIZATION])

Admin.teams.owners

List Workspace Owners

List all of the owners on a given workspace.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_WORKSPACE_OWNERS])

Admin.teams.settings

Fetch Workspace Settings Information

Fetch information about settings in a workspace
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_FETCH_WORKSPACE_SETTINGS_INFORMATION])

Set Workspace Default Channels

Set the default channels of a workspace.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_SET_WORKSPACE_DEFAULT_CHANNELS])

Set Workspace Description

Set the description of a given workspace.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_SET_WORKSPACE_DESCRIPTION])

Set Workspace Discoverability Settings

An API method that allows admins to set the discoverability of a given workspace
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_SET_WORKSPACE_DISCOVERABILITY_SETTINGS])

Set Workspace Icon

Sets the icon of a workspace.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_SET_WORKSPACE_ICON])

Set Workspace Name

Set the name of a given workspace.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_SET_WORKSPACE_NAME])

Admin.usergroups

Add Default Channels To Idp Group

Add one or more default channels to an IDP group.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_ADD_DEFAULT_CHANNELS_TO_IDP_GROUP])

Associate Default Workspaces With Idp Group

Associate one or more default workspaces with an organization-wide IDP group.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_ASSOCIATE_DEFAULT_WORKSPACES_WITH_IDP_GROUP])

List Org Level Idp Group Channels

List the channels linked to an org-level IDP group (user group).
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_ORG_LEVEL_IDP_GROUP_CHANNELS])

Remove Channels From Idp Group

Remove one or more default channels from an org-level IDP group (user group).
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_REMOVE_CHANNELS_FROM_IDP_GROUP])

Admin.users

Add Enterprise User To Workspace

Add an Enterprise user to a workspace.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_ADD_ENTERPRISE_USER_TO_WORKSPACE])

Invite User To Workspace With Optional Channel Invites

Invite a user to a workspace.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_INVITE_USER_TO_WORKSPACE_WITH_OPTIONAL_CHANNEL_INVITES])

List Workspace Users

List users on a workspace
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_WORKSPACE_USERS])

Remove User From Workspace

Remove a user from a workspace.
from composio_crewai import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_REMOVE_USER_FROM_WORKSPACE])

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🧪