Slack Bubble
Slack integration for messaging and workspace management
Quick Start
import { SlackBubble } from '@bubblelab/bubble-core';
import { CredentialType } from '@bubblelab/shared-schemas';
const result = await new SlackBubble({
operation: 'send_message',
credentials: {
[CredentialType.SLACK_CRED]: process.env.SLACK_TOKEN as string,
},
}).action();
Operation Details
send_message
- Input Schema
- Output Schema
operation'send_message' required- Send a message to a Slack channel or DM
channelstring required- Channel ID (e.g., C1234567890), channel name (e.g., general or #general), or user ID for DM
textstring required- Message text content
usernamestring- Override bot username for this message
icon_emojistring- Override bot icon with emoji (e.g., :robot_face:)
icon_urlstring- Override bot icon with custom image URL
attachmentsobject[]- Legacy message attachments
blocksobject[]- Block Kit structured message blocks
thread_tsstring- Timestamp of parent message to reply in thread
reply_broadcastboolean- Broadcast thread reply to channel
credentialsRecord<CredentialType,string>- Object mapping credential types to values (injected at runtime)
unfurl_linksboolean- Enable automatic link unfurling
unfurl_mediaboolean- Enable automatic media unfurling
operation'send_message' required- Send a message to a Slack channel or DM
okboolean required- Whether the Slack API call was successful
channelstring- Channel ID where the message was sent
tsstring- Timestamp of the sent message
messageobject- Details of the sent message
errorstring required- Error message if operation failed
successboolean required- Whether the operation was successful
list_channels
- Input Schema
- Output Schema
operation'list_channels' required- List all channels in the Slack workspace
types'public_channel' | 'private_channel' | 'mpim' | 'im'[]- Types of channels to include in results
exclude_archivedboolean- Exclude archived channels from results
limitnumber- Maximum number of channels to return (1-1000)
cursorstring- Cursor for pagination to get next set of results
credentialsRecord<CredentialType,string>- Object mapping credential types to values (injected at runtime)
operation'list_channels' required- List all channels in the Slack workspace
okboolean required- Whether the Slack API call was successful
channelsobject[]- Array of channel objects
response_metadataobject- Metadata for pagination
errorstring required- Error message if operation failed
successboolean required- Whether the operation was successful
get_channel_info
- Input Schema
- Output Schema
operation'get_channel_info' required- Get detailed information about a specific channel
channelstring required- Channel ID (e.g., C1234567890) or channel name (e.g., general or #general)
include_localeboolean- Include locale information in the response
credentialsRecord<CredentialType,string>- Object mapping credential types to values (injected at runtime)
operation'get_channel_info' required- Get detailed information about a specific channel
okboolean required- Whether the Slack API call was successful
channelobject- Channel information object
errorstring required- Error message if operation failed
successboolean required- Whether the operation was successful
get_user_info
- Input Schema
- Output Schema
operation'get_user_info' required- Get detailed information about a specific user
userstring required- User ID to get information about
include_localeboolean- Include locale information in the response
credentialsRecord<CredentialType,string>- Object mapping credential types to values (injected at runtime)
operation'get_user_info' required- Get detailed information about a specific user
okboolean required- Whether the Slack API call was successful
userobject- User information object
errorstring required- Error message if operation failed
successboolean required- Whether the operation was successful
list_users
- Input Schema
- Output Schema
operation'list_users' required- List all users in the Slack workspace
limitnumber- Maximum number of users to return (1-1000)
cursorstring- Cursor for pagination to get next set of results
include_localeboolean- Include locale information in the response
credentialsRecord<CredentialType,string>- Object mapping credential types to values (injected at runtime)
operation'list_users' required- List all users in the Slack workspace
okboolean required- Whether the Slack API call was successful
membersobject[]- Array of user objects
response_metadataobject- Metadata for pagination
errorstring required- Error message if operation failed
successboolean required- Whether the operation was successful
get_conversation_history
- Input Schema
- Output Schema
operation'get_conversation_history' required- Retrieve message history from a channel or direct message
channelstring required- Channel ID (e.g., C1234567890) or channel name (e.g., general or #general)
lateststring- End of time range of messages to include (timestamp)
oldeststring- Start of time range of messages to include (timestamp)
inclusiveboolean- Include messages with latest or oldest timestamps in results
limitnumber- Maximum number of messages to return (1-1000)
cursorstring- Cursor for pagination to get next set of results
credentialsRecord<CredentialType,string>- Object mapping credential types to values (injected at runtime)
operation'get_conversation_history' required- Retrieve message history from a channel or direct message
okboolean required- Whether the Slack API call was successful
messagesobject[]- Array of message objects
has_moreboolean- Whether there are more messages to retrieve
response_metadataobject- Metadata for pagination
errorstring required- Error message if operation failed
successboolean required- Whether the operation was successful
get_thread_replies
- Input Schema
- Output Schema
operation'get_thread_replies' required- Retrieve all replies to a thread in a channel
channelstring required- Channel ID where the thread exists
tsstring required- Timestamp of the parent message to get replies for
lateststring- End of time range of messages to include (timestamp)
oldeststring- Start of time range of messages to include (timestamp)
inclusiveboolean- Include messages with latest or oldest timestamps in results
limitnumber- Maximum number of messages to return (1-1000)
cursorstring- Cursor for pagination to get next set of results
credentialsRecord<CredentialType,string>- Object mapping credential types to values (injected at runtime)
operation'get_thread_replies' required- Retrieve all replies to a thread in a channel
okboolean required- Whether the Slack API call was successful
messagesobject[]- Array of message objects in the thread
has_moreboolean- Whether there are more messages to retrieve
response_metadataobject- Metadata for pagination
errorstring required- Error message if operation failed
successboolean required- Whether the operation was successful
update_message
- Input Schema
- Output Schema
operation'update_message' required- Update an existing message in a channel
channelstring required- Channel ID (e.g., C1234567890) or channel name (e.g., general or #general) where the message is located
tsstring required- Timestamp of the message to update
textstring- New text content for the message
attachmentsobject[]- New legacy message attachments
blocksobject[]- New Block Kit structured message blocks
credentialsRecord<CredentialType,string>- Object mapping credential types to values (injected at runtime)
operation'update_message' required- Update an existing message in a channel
okboolean required- Whether the Slack API call was successful
channelstring- Channel ID where the message was updated
tsstring- Timestamp of the updated message
textstring- Updated text content of the message
messageobject- Details of the updated message
errorstring required- Error message if operation failed
successboolean required- Whether the operation was successful
delete_message
- Input Schema
- Output Schema
operation'delete_message' required- Delete a message from a channel
channelstring required- Channel ID (e.g., C1234567890) or channel name (e.g., general or #general) where the message is located
tsstring required- Timestamp of the message to delete
credentialsRecord<CredentialType,string>- Object mapping credential types to values (injected at runtime)
operation'delete_message' required- Delete a message from a channel
okboolean required- Whether the Slack API call was successful
channelstring- Channel ID where the message was deleted
tsstring- Timestamp of the deleted message
errorstring required- Error message if operation failed
successboolean required- Whether the operation was successful
add_reaction
- Input Schema
- Output Schema
operation'add_reaction' required- Add an emoji reaction to a message
namestring required- Emoji name without colons (e.g., thumbsup, heart)
channelstring required- Channel ID (e.g., C1234567890) or channel name (e.g., general or #general) where the message is located
timestampstring required- Timestamp of the message to react to
credentialsRecord<CredentialType,string>- Object mapping credential types to values (injected at runtime)
operation'add_reaction' required- Add an emoji reaction to a message
okboolean required- Whether the Slack API call was successful
errorstring required- Error message if operation failed
successboolean required- Whether the operation was successful
remove_reaction
- Input Schema
- Output Schema
operation'remove_reaction' required- Remove an emoji reaction from a message
namestring required- Emoji name without colons (e.g., thumbsup, heart)
channelstring required- Channel ID (e.g., C1234567890) or channel name (e.g., general or #general) where the message is located
timestampstring required- Timestamp of the message to remove reaction from
credentialsRecord<CredentialType,string>- Object mapping credential types to values (injected at runtime)
operation'remove_reaction' required- Remove an emoji reaction from a message
okboolean required- Whether the Slack API call was successful
errorstring required- Error message if operation failed
successboolean required- Whether the operation was successful
upload_file
- Input Schema
- Output Schema
operation'upload_file' required- Upload a file to a Slack channel
channelstring required- Channel ID (e.g., C1234567890), channel name (e.g., general or #general), or user ID for DM
file_pathstring required- Local file path to upload
filenamestring- Override filename for the upload
titlestring- Title for the file
initial_commentstring- Initial comment to post with the file
thread_tsstring- Timestamp of parent message to upload file in thread
credentialsRecord<CredentialType,string>- Object mapping credential types to values (injected at runtime)
operation'upload_file' required- Upload a file to a Slack channel
okboolean required- Whether the Slack API call was successful
fileobject- File information object
errorstring required- Error message if operation failed
successboolean required- Whether the operation was successful