Skip to content
Talk to an Engineer Dashboard

Slack

Connect to Slack workspace. Send Messages as Bots or on behalf of users

Connect to Slack workspace. Send Messages as Bots or on behalf of users

Slack logo

Supports authentication: OAuth 2.0

Sends a message to a Slack channel or direct message. Requires a valid Slack OAuth2 connection with chat:write scope.

NameTypeRequiredDescription
channelstringYesChannel ID, channel name (e.g. #general), or user ID for DM
textstringYesMessage text content
blocksstringNoJSON-encoded array of Block Kit block elements for rich message formatting
attachmentsstringNoJSON-encoded array of legacy attachment objects for additional message formatting
thread_tsstringNoTimestamp of parent message to reply in a thread
reply_broadcastbooleanNoWhen true, broadcasts a thread reply to the entire channel
unfurl_linksbooleanNoEnable or disable link previews
unfurl_mediabooleanNoEnable or disable media link previews

Updates/edits a previously sent message in a Slack channel or direct message. Requires a valid Slack OAuth2 connection with chat:write scope.

NameTypeRequiredDescription
channelstringYesChannel ID, channel name (e.g. #general), or user ID for DM where the message was sent
tsstringYesTimestamp of the message to update
textstringNoNew message text content
blocksstringNoJSON-encoded array of Block Kit block elements for rich message formatting
attachmentsstringNoJSON-encoded array of legacy attachment objects for additional message formatting

Deletes a message from a Slack channel or direct message. Requires a valid Slack OAuth2 connection with chat:write scope.

NameTypeRequiredDescription
channelstringYesChannel ID, channel name (e.g. #general), or user ID for DM where the message was sent
tsstringYesTimestamp of the message to delete

Add an emoji reaction to a message in Slack. Requires a valid Slack OAuth2 connection with reactions:write scope.

NameTypeRequiredDescription
channelstringYesChannel ID or channel name where the message exists
namestringYesEmoji name to react with, without colons (e.g. thumbsup, heart, fire)
timestampstringYesTimestamp of the message to add the reaction to

Pin a message to a Slack channel. Pinned messages are highlighted and easily accessible to channel members. Requires a valid Slack OAuth2 connection with pins:write scope.

NameTypeRequiredDescription
channelstringYesChannel ID or channel name where the message exists
timestampstringYesTimestamp of the message to pin

Creates a new public or private channel in a Slack workspace. Requires a valid Slack OAuth2 connection with channels:manage scope for public channels or groups:write for private channels.

NameTypeRequiredDescription
namestringYesName of the channel to create, without # prefix. Must be lowercase, no spaces, 21 characters or fewer.
is_privatebooleanNoSet to true to create a private channel (default: false for public)
team_idstringNoEncoded team ID for org-wide apps. Leave blank for regular workspace apps.

Fetches conversation history from a Slack channel or direct message with pagination support. Requires a valid Slack OAuth2 connection with channels:history scope.

NameTypeRequiredDescription
channelstringYesChannel ID, channel name (e.g. #general), or user ID for DM
oldeststringNoStart of time range — only messages after this timestamp are returned (e.g. 1715432100.123456)
lateststringNoEnd of time range — only messages before this timestamp are returned (e.g. 1715432200.123456)
limitintegerNoNumber of messages to return, 1–1000 (default: 100)
cursorstringNoPagination cursor from a previous response to fetch the next page

Retrieve information about a Slack channel, including metadata, settings, and member count. Requires a valid Slack OAuth2 connection with channels:read scope.

NameTypeRequiredDescription
channelstringYesChannel ID, channel name (e.g. #general), or user ID for DM
include_localebooleanNoSet to true to include locale information for this conversation
include_num_membersbooleanNoSet to true to include the member count in the response

Retrieve replies to a specific message thread in a Slack channel or direct message. Requires a valid Slack OAuth2 connection with channels:history or groups:history scope.

NameTypeRequiredDescription
channelstringYesChannel ID, channel name (e.g. #general), or user ID for DM
tsstringYesTimestamp of the parent message whose thread replies to retrieve
oldeststringNoOnly include replies after this timestamp
lateststringNoOnly include replies before this timestamp
inclusivebooleanNoInclude messages with the latest or oldest timestamp in results
limitintegerNoNumber of replies to return (default: 100, max: 1000)
cursorstringNoPagination cursor from a previous response to fetch the next page

Invites one or more users to a Slack channel. Requires a valid Slack OAuth2 connection with channels:write scope for public channels or groups:write for private channels.

NameTypeRequiredDescription
channelstringYesChannel ID or channel name (e.g. #general) to invite users to
usersstringYesComma-separated list of user IDs to invite (e.g. U123456789,U987654321)

Joins an existing Slack channel. The authenticated user will become a member of the channel. Requires a valid Slack OAuth2 connection with channels:write scope for public channels.

NameTypeRequiredDescription
channelstringYesChannel ID or channel name (e.g. #general) to join

Leaves a Slack channel. The authenticated user will be removed from the channel and will no longer receive its messages. Requires a valid Slack OAuth2 connection with channels:write scope for public channels or groups:write for private channels.

NameTypeRequiredDescription
channelstringYesChannel ID or channel name (e.g. #general) to leave

List all public and private channels in a Slack workspace that the authenticated user has access to. Requires a valid Slack OAuth2 connection with channels:read, groups:read, mpim:read, and/or im:read scopes depending on the conversation types needed.

NameTypeRequiredDescription
typesstringNoComma-separated channel types to include: public_channel, private_channel, mpim, im
exclude_archivedbooleanNoSet to true to exclude archived channels from results
limitintegerNoNumber of channels to return (default: 100, max: 1000)
team_idstringNoEncoded team ID to list channels for a specific workspace
cursorstringNoPagination cursor from a previous response to fetch the next page

Lists all users in a Slack workspace, including information about their status, profile, and presence. Requires a valid Slack OAuth2 connection with users:read scope.

NameTypeRequiredDescription
limitnumberNoNumber of users to return, 1–1000
include_localebooleanNoSet to true to include locale information for each user
team_idstringNoEncoded team ID for org-wide apps. Leave blank for regular workspace apps.
cursorstringNoPagination cursor from a previous response to fetch the next page

Find a user by their registered email address in a Slack workspace. Requires a valid Slack OAuth2 connection with users:read.email scope. Cannot be used by custom bot users.

NameTypeRequiredDescription
emailstringYesEmail address to search for (e.g. user@example.com)

Retrieves detailed information about a specific Slack user, including profile data, status, and workspace information. Requires a valid Slack OAuth2 connection with users:read scope.

NameTypeRequiredDescription
userstringYesUser ID to get information about (e.g. U123456789)
include_localebooleanNoSet to true to include locale information in the user profile

Gets the current presence status of a Slack user (active, away, etc.). Requires a valid Slack OAuth2 connection with users:read scope.

NameTypeRequiredDescription
userstringYesUser ID to check presence for (e.g. U123456789)

Set the authenticated user’s custom status with text and emoji. The status appears in their profile and can include an optional expiration time. Requires a valid Slack OAuth2 connection with users.profile:write scope.

NameTypeRequiredDescription
status_textstringNoCustom status text to display (e.g. In a meeting)
status_emojistringNoEmoji name without colons to display alongside the status (e.g. calendar, house)
status_expirationintegerNoUnix timestamp when the status should automatically clear

Upload a file to Slack using the modern files.getUploadURLExternal and files.completeUploadExternal API methods. Requires a valid Slack OAuth2 connection with files:write scope.

NameTypeRequiredDescription
filenamestringYesName of the file to upload (e.g. document.pdf)
file_datastringYesBase64-encoded file content or local file path to upload
lengthintegerYesSize of the file in bytes
channelsstringNoComma-separated list of channel IDs or names to share the file to
initial_commentstringNoOptional comment to add when sharing the file
thread_tsstringNoTimestamp of a parent message to share the file in a thread