Enabling Agentforce agents to interact with Slack for messaging, channel management, and app interactions.
Tool Name | Description | Example Inputs |
---|---|---|
slack_send_message_to_channel | Sends a message to a specified Slack channel. | channel_id or channel_name , message_text , blocks_json (optional) |
slack_send_message_to_user | Sends a direct message to a specified Slack user. | user_id or user_email , message_text , blocks_json (optional) |
slack_send_ephemeral_message | Sends an ephemeral message visible only to a specific user in a channel. | channel_id , user_id , message_text , blocks_json (optional) |
slack_update_message | Updates an existing message in a channel or DM. | channel_id , timestamp_id (ts) , new_message_text or new_blocks_json |
slack_delete_message | Deletes a message from a channel or DM. | channel_id , timestamp_id (ts) |
slack_get_channel_history | Retrieves message history from a specific channel. | channel_id , limit (optional) , latest_ts (optional) , oldest_ts (optional) |
slack_get_user_info | Retrieves profile information for a Slack user. | user_id or user_email |
slack_list_channels | Lists public channels in the workspace. | exclude_archived (optional) , limit (optional) , cursor (for pagination) |
slack_create_channel | Creates a new public or private Slack channel. | channel_name , is_private (boolean, default: false) , user_ids_to_invite (optional) |
slack_archive_channel | Archives a Slack channel. | channel_id |
slack_invite_users_to_channel | Invites one or more users to a channel. | channel_id , user_ids_list |
slack_remove_user_from_channel | Removes a user from a channel. | channel_id , user_id |
slack_upload_file | Uploads a file to a channel, DM, or user. | channel_ids_list or user_ids_list , file_content_base64 or file_url , file_name , initial_comment (optional) |
slack_call_dialog_open | (Legacy) Opens a dialog for a user (requires interaction trigger). | trigger_id , dialog_json |
slack_call_views_open | Opens a modal view for a user (requires interaction trigger). | trigger_id , view_payload_json |
slack_call_views_update | Updates an existing modal view for a user. | view_id or external_id , view_payload_json |
api.slack.com/apps
).chat:write
, channels:read
, users:read
, files:write
, channels:manage
).xoxb-
) from the installed app is required for authentication.https://api.slack.com/apps
and click “Create New App”. Choose “From scratch”.channels:history
(to read channel messages)channels:join
(for bot to join channels)channels:manage
(to create/archive channels)channels:read
(to list channels, get channel info)chat:write
(to send messages)chat:write.public
(to send messages to channels bot is not in, requires user consent flow usually)files:read
(to access files)files:write
(to upload files)groups:history
(for private channel history)groups:read
(for private channel info)groups:write
(to manage private channels)im:history
(for DM history)im:read
(for DM info)im:write
(to send DMs)mpim:history
(for group DM history)mpim:read
(for group DM info)mpim:write
(to send group DMs)users:read
(to get user info)users:read.email
(to look up users by email)xoxb-
). Store this securely.slack_send_message_to_channel
to send a test message to a non-critical channel or slack_get_user_info
for your own Slack user ID to verify the token and basic API access.invalid_auth
, not_authed
):
xoxb-
.missing_scope
, restricted_action
):
channel_not_found
):
#
prefix for some API calls if using name instead of ID.user_not_found
):
message_too_long
):
ratelimited
):
invalid_blocks
, invalid_payload
):