Use Slack with Langchain 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.users.session

Invalidate A User Session By Id

Invalidate a single session for a user by session_id
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_INVALIDATE_A_USER_SESSION_BY_ID])

Wipe User Sessions Across Devices

Wipes all valid sessions on all devices for a given user
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_WIPE_USER_SESSIONS_ACROSS_DEVICES])

Admin.users

Promote User To Admin Status

Set an existing guest, regular user, or owner to be an admin user.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_PROMOTE_USER_TO_ADMIN_STATUS])

Set Expiration For A Guest User

Set an expiration for a guest user
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_SET_EXPIRATION_FOR_A_GUEST_USER])

Promote User To Workspace Owner

Set an existing guest, regular user, or admin user to be a workspace owner.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_PROMOTE_USER_TO_WORKSPACE_OWNER])

Set User To Regular Status

Set an existing guest user, admin user, or owner to be a regular user.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_SET_USER_TO_REGULAR_STATUS])

Api

Checks Api Call And Returns Success Or Error

Checks API calling code.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_CHECKS_API_CALL_AND_RETURNS_SUCCESS_OR_ERROR])

Apps.event.authorizations

List Event Authorizations For Apps

Get a list of authorizations for the given event context. Each authorization represents an app installation that the event is visible to.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_EVENT_AUTHORIZATIONS_FOR_APPS])

Apps.permissions

List App Permissions On A Team

Returns list of permissions this app has on a team.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_APP_PERMISSIONS_ON_A_TEAM])

Apps Permissions List Permissions

Returns list of permissions this app has on a team.<<DEPRECATED use list_app_permissions_on_a_team>>
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_APPS_PERMISSIONS_LIST_PERMISSIONS])

Request Additional App Permissions

Allows an app to request additional scopes
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_REQUEST_ADDITIONAL_APP_PERMISSIONS])

Apps.permissions.resources

List App Resource Grants On A Team

Returns list of resource grants this app has on a team.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_APP_RESOURCE_GRANTS_ON_A_TEAM])

Apps.permissions.scopes

List App Permissions Scopes On A Team

Returns list of scopes this app has on a team.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_APP_PERMISSIONS_SCOPES_ON_A_TEAM])

Apps Permissions Scopes Get List

Returns list of scopes this app has on a team.<<DEPRECATED use list_app_permissions_scopes_on_a_team>>
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_APPS_PERMISSIONS_SCOPES_GET_LIST])

Apps.permissions.users

List App User Grants And Scopes On Team

Returns list of user grants and corresponding scopes this app has on a team.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_APP_USER_GRANTS_AND_SCOPES_ON_TEAM])

Trigger User Permissions Modal

Enables an app to trigger a permissions modal to grant an app access to a user access scope.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_TRIGGER_USER_PERMISSIONS_MODAL])

Apps

Uninstall App From Workspace

Uninstalls your app from a workspace.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_UNINSTALL_APP_FROM_WORKSPACE])

Auth

Revokes A Token With Optional Test Mode

Revokes a token.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_REVOKES_A_TOKEN_WITH_OPTIONAL_TEST_MODE])

Checks Authentication And Identity

Checks authentication & identity.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_CHECKS_AUTHENTICATION_AND_IDENTITY])

Bots

Fetch Bot User Information

Gets information about a bot user.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_FETCH_BOT_USER_INFORMATION])

Calls

Registers A New Call With Participants

Registers a new Call.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_REGISTERS_A_NEW_CALL_WITH_PARTICIPANTS])

End A Call With Duration And Id

Ends a Call.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_END_A_CALL_WITH_DURATION_AND_ID])

Retrieve Call Information

Returns information about a Call.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_RETRIEVE_CALL_INFORMATION])

Update Slack Call Information

Updates information about a Call.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_UPDATE_SLACK_CALL_INFORMATION])

Calls.participants

Registers New Call Participants

Registers new participants added to a Call.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_REGISTERS_NEW_CALL_PARTICIPANTS])

Register Call Participants Removal

Registers participants removed from a Call.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_REGISTER_CALL_PARTICIPANTS_REMOVAL])

Chat

Deletes A Message From A Chat

Deletes a message.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_DELETES_A_MESSAGE_FROM_A_CHAT])

Delete A Scheduled Message In A Chat

Deletes a pending scheduled message from the queue.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_DELETE_A_SCHEDULED_MESSAGE_IN_A_CHAT])

Share A Me Message In A Channel

Share a me message into a channel.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_SHARE_A_ME_MESSAGE_IN_A_CHANNEL])

Sends Ephemeral Messages To Channel Users

Sends an ephemeral message to a user in a channel.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_SENDS_EPHEMERAL_MESSAGES_TO_CHANNEL_USERS])

Sends A Message To A Slack Channel

Sends a message to a channel.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL])

Chat Post Message

Sends a message to a channel.<<DEPRECATED use sends_a_message_to_a_slack_channel>>
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_CHAT_POST_MESSAGE])

Schedules A Message To A Channel At A Specified Time

Schedules a message to be sent to a channel.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME])

Customize Url Unfurling In Messages

Provide custom unfurl behavior for user-posted URLs
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_CUSTOMIZE_URL_UNFURLING_IN_MESSAGES])

Updates A Slack Message

Updates a message.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_UPDATES_A_SLACK_MESSAGE])

Chat.scheduledMessages

List Scheduled Messages In A Channel

Returns a list of scheduled messages.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_SCHEDULED_MESSAGES_IN_A_CHANNEL])

Conversations

Archive A Slack Conversation

Archives a conversation.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_ARCHIVE_A_SLACK_CONVERSATION])

Close Dm Or Multi Person Dm

Closes a direct message or multi-person direct message.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_CLOSE_DM_OR_MULTI_PERSON_DM])

Initiates Channel Based Conversations

Initiates a public or private channel-based conversation
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_INITIATES_CHANNEL_BASED_CONVERSATIONS])

Fetch Conversation History

Fetches a conversation's history of messages and events.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_FETCH_CONVERSATION_HISTORY])

Conversations History

Fetches a conversation's history of messages and events.<<DEPRECATED use fetch_conversation_history>>
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_CONVERSATIONS_HISTORY])

Retrieve Conversation Information

Retrieve information about a conversation.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_RETRIEVE_CONVERSATION_INFORMATION])

Conversations Info

Retrieve information about a conversation.<<DEPRECATED use retrieve_conversation_information>>
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_CONVERSATIONS_INFO])

Invite Users To A Slack Channel

Invites users to a channel.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_INVITE_USERS_TO_A_SLACK_CHANNEL])

Join An Existing Conversation

Joins an existing conversation.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_JOIN_AN_EXISTING_CONVERSATION])

Remove A User From A Conversation

Removes a user from a conversation.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_REMOVE_A_USER_FROM_A_CONVERSATION])

Leave A Conversation

Leaves a conversation.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LEAVE_A_CONVERSATION])

List All Slack Team Channels With Various Filters

Lists all channels in a Slack team.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_LIST_ALL_SLACK_TEAM_CHANNELS_WITH_VARIOUS_FILTERS])

Conversations List

Lists all channels in a Slack team.<<DEPRECATED use list_all_slack_team_channels_with_various_filters>>
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.SLACK_CONVERSATIONS_LIST])

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🧪