Pailot

Slack

Send, update, delete messages, add reactions in Slack or trigger workflows from Slack events

Slack is a business communication platform that offers teams a unified place for messaging, tools, and files.

With Slack, you can:

  • Automate agent notifications: Send real-time updates from your Pailot agents to any Slack channel
  • Create webhook endpoints: Configure Slack bots as webhooks to trigger Pailot workflows from Slack activities
  • Enhance agent workflows: Integrate Slack messaging into your agents to deliver results, alerts, and status updates
  • Create and share Slack canvases: Programmatically generate collaborative documents (canvases) in Slack channels
  • Read messages from channels: Retrieve and process recent messages from any Slack channel for monitoring or workflow triggers
  • Manage bot messages: Update, delete, and add reactions to messages sent by your bot

In Pailot, the Slack integration enables your agents to programmatically interact with Slack with full message management capabilities as part of their workflows:

  • Send messages: Agents can send formatted messages to any Slack channel or user, supporting Slack's mrkdwn syntax for rich formatting
  • Update messages: Edit previously sent bot messages to correct information or provide status updates
  • Delete messages: Remove bot messages when they're no longer needed or contain errors
  • Add reactions: Express sentiment or acknowledgment by adding emoji reactions to any message
  • Create canvases: Create and share Slack canvases (collaborative documents) directly in channels, enabling richer content sharing and documentation
  • Read messages: Read recent messages from channels, allowing for monitoring, reporting, or triggering further actions based on channel activity
  • Download files: Retrieve files shared in Slack channels for processing or archival

This allows for powerful automation scenarios such as sending notifications with dynamic updates, managing conversational flows with editable status messages, acknowledging important messages with reactions, and maintaining clean channels by removing outdated bot messages. Your agents can deliver timely information, update messages as workflows progress, create collaborative documents, or alert team members when attention is needed. This integration bridges the gap between your AI workflows and your team's communication, ensuring everyone stays informed with accurate, up-to-date information. By connecting Pailot with Slack, you can create agents that keep your team updated with relevant information at the right time, enhance collaboration by sharing and updating insights automatically, and reduce the need for manual status updates—all while leveraging your existing Slack workspace where your team already communicates.

Usage Instructions

Integrate Slack into the workflow. Can send, update, and delete messages, create canvases, read messages, and add reactions. Requires Bot Token instead of OAuth in advanced mode. Can be used in trigger mode to trigger a workflow when a message is sent to a channel.

Tools

slack_message

Send messages to Slack channels or direct messages. Supports Slack mrkdwn formatting.

Input

ParameterTypeRequiredDescription
authMethodstringNoAuthentication method: oauth or bot_token
botTokenstringNoBot token for Custom Bot
channelstringNoTarget Slack channel (e.g., #general)
userIdstringNoTarget Slack user ID for direct messages (e.g., U1234567890)
textstringYesMessage text to send (supports Slack mrkdwn formatting)
thread_tsstringNoThread timestamp to reply to (creates thread reply)
filesfile[]NoFiles to attach to the message

Output

ParameterTypeDescription
messageobjectComplete message object with all properties returned by Slack
tsstringMessage timestamp
channelstringChannel ID where message was sent
fileCountnumberNumber of files uploaded (when files are attached)

slack_canvas

Create and share Slack canvases in channels. Canvases are collaborative documents within Slack.

Input

ParameterTypeRequiredDescription
authMethodstringNoAuthentication method: oauth or bot_token
botTokenstringNoBot token for Custom Bot
channelstringYesTarget Slack channel (e.g., #general)
titlestringYesTitle of the canvas
contentstringYesCanvas content in markdown format
document_contentobjectNoStructured canvas document content

Output

ParameterTypeDescription
canvas_idstringID of the created canvas
channelstringChannel where canvas was created
titlestringTitle of the canvas

slack_message_reader

Read the latest messages from Slack channels. Retrieve conversation history with filtering options.

Input

ParameterTypeRequiredDescription
authMethodstringNoAuthentication method: oauth or bot_token
botTokenstringNoBot token for Custom Bot
channelstringNoSlack channel to read messages from (e.g., #general)
userIdstringNoUser ID for DM conversation (e.g., U1234567890)
limitnumberNoNumber of messages to retrieve (default: 10, max: 15)
oldeststringNoStart of time range (timestamp)
lateststringNoEnd of time range (timestamp)

Output

ParameterTypeDescription
messagesarrayArray of message objects from the channel
↳ typestringMessage type
↳ tsstringEdit timestamp
↳ textstringMessage text content
↳ userstringUser ID who edited
↳ bot_idstringBot ID if sent by a bot
↳ usernamestringDisplay username
↳ channelstringChannel ID
↳ teamstringTeam ID
↳ thread_tsstringThread parent message timestamp
↳ parent_user_idstringUser ID of thread parent
↳ reply_countnumberNumber of thread replies
↳ reply_users_countnumberNumber of users who replied
↳ latest_replystringTimestamp of latest reply
↳ subscribedbooleanWhether user is subscribed to thread
↳ last_readstringLast read timestamp
↳ unread_countnumberNumber of unread messages
↳ subtypestringMessage subtype
↳ reactionsarrayArray of reactions on this message
↳ namestringEmoji name
↳ countnumberNumber of reactions
↳ usersarrayArray of user IDs who reacted
↳ namestringFile name
↳ countnumberNumber of reactions
↳ usersarrayArray of user IDs who reacted
↳ is_starredbooleanWhether message is starred
↳ pinned_toarrayArray of channel IDs where message is pinned
↳ filesarrayArray of files attached to message
↳ idstringFile ID
↳ namestringFile name
↳ mimetypestringMIME type
↳ sizenumberFile size in bytes
↳ url_privatestringPrivate download URL
↳ permalinkstringPermanent link to file
↳ modestringFile mode
↳ idstringFile ID
↳ mimetypestringMIME type
↳ sizenumberFile size in bytes
↳ url_privatestringPrivate download URL
↳ permalinkstringPermanent link to message
↳ modestringFile mode
↳ attachmentsarrayArray of legacy attachments
↳ blocksarrayArray of Block Kit blocks
↳ editedobjectEdit information if message was edited
↳ userstringUser ID who edited
↳ tsstringEdit timestamp

slack_get_message

Retrieve a specific message by its timestamp. Useful for getting a thread parent message.

Input

ParameterTypeRequiredDescription
authMethodstringNoAuthentication method: oauth or bot_token
botTokenstringNoBot token for Custom Bot
channelstringYesSlack channel ID (e.g., C1234567890)
timestampstringYesMessage timestamp to retrieve (e.g., 1405894322.002768)

Output

ParameterTypeDescription
messageobjectThe retrieved message object
↳ typestringMessage type
↳ tsstringEdit timestamp
↳ textstringMessage text content
↳ userstringUser ID who edited
↳ bot_idstringBot ID if sent by a bot
↳ usernamestringDisplay username
↳ channelstringChannel ID
↳ teamstringTeam ID
↳ thread_tsstringThread parent timestamp
↳ parent_user_idstringUser ID of thread parent
↳ reply_countnumberNumber of thread replies
↳ reply_users_countnumberNumber of users who replied
↳ latest_replystringTimestamp of latest reply
↳ subtypestringMessage subtype
↳ reactionsarrayArray of reactions on this message
↳ namestringEmoji name
↳ countnumberNumber of reactions
↳ usersarrayUser IDs who reacted
↳ namestringFile name
↳ countnumberNumber of reactions
↳ usersarrayUser IDs who reacted
↳ is_starredbooleanWhether message is starred
↳ pinned_toarrayChannel IDs where message is pinned
↳ filesarrayFiles attached to message
↳ idstringFile ID
↳ namestringFile name
↳ mimetypestringMIME type
↳ sizenumberFile size in bytes
↳ url_privatestringPrivate download URL
↳ permalinkstringPermanent link to file
↳ idstringFile ID
↳ mimetypestringMIME type
↳ sizenumberFile size in bytes
↳ url_privatestringPrivate download URL
↳ permalinkstringPermanent link to message
↳ attachmentsarrayLegacy attachments
↳ blocksarrayBlock Kit blocks
↳ editedobjectEdit information if message was edited
↳ userstringUser ID who edited
↳ tsstringEdit timestamp

slack_get_thread

Retrieve an entire thread including the parent message and all replies. Useful for getting full conversation context.

Input

ParameterTypeRequiredDescription
authMethodstringNoAuthentication method: oauth or bot_token
botTokenstringNoBot token for Custom Bot
channelstringYesSlack channel ID (e.g., C1234567890)
threadTsstringYesThread timestamp (thread_ts) to retrieve (e.g., 1405894322.002768)
limitnumberNoMaximum number of messages to return (default: 100, max: 200)

Output

ParameterTypeDescription
parentMessageobjectThe thread parent message
↳ typestringMessage type
↳ tsstringMessage timestamp
↳ textstringMessage text content
↳ userstringUser ID who sent the message
↳ bot_idstringBot ID if sent by a bot
↳ usernamestringDisplay username
↳ reply_countnumberTotal number of thread replies
↳ reply_users_countnumberNumber of users who replied
↳ latest_replystringTimestamp of latest reply
↳ reactionsarrayArray of reactions on the parent message
↳ namestringEmoji name
↳ countnumberNumber of reactions
↳ usersarrayUser IDs who reacted
↳ namestringFile name
↳ countnumberNumber of reactions
↳ usersarrayUser IDs who reacted
↳ filesarrayFiles attached to the parent message
↳ idstringFile ID
↳ namestringFile name
↳ mimetypestringMIME type
↳ sizenumberFile size in bytes
↳ idstringFile ID
↳ mimetypestringMIME type
↳ sizenumberFile size in bytes
repliesarrayArray of reply messages in the thread (excluding the parent)
↳ tsstringMessage timestamp
↳ textstringMessage text content
↳ userstringUser ID who sent the reply
↳ reactionsarrayReactions on the reply
↳ filesarrayFiles attached to the reply
messagesarrayAll messages in the thread (parent + replies) in chronological order
replyCountnumberNumber of replies returned in this response
hasMorebooleanWhether there are more messages in the thread (pagination needed)

slack_list_channels

List all channels in a Slack workspace. Returns public and private channels the bot has access to.

Input

ParameterTypeRequiredDescription
authMethodstringNoAuthentication method: oauth or bot_token
botTokenstringNoBot token for Custom Bot
includePrivatebooleanNoInclude private channels the bot is a member of (default: true)
excludeArchivedbooleanNoExclude archived channels (default: true)
limitnumberNoMaximum number of channels to return (default: 100, max: 200)

Output

ParameterTypeDescription
channelsarrayArray of channel objects from the workspace
↳ idstringChannel ID (e.g., C1234567890)
↳ namestringChannel name without # prefix
↳ is_privatebooleanWhether the channel is private
↳ is_archivedbooleanWhether the channel is archived
↳ is_memberbooleanWhether the bot is a member of the channel
↳ num_membersnumberNumber of members in the channel
↳ topicstringChannel topic
↳ purposestringChannel purpose/description
↳ creatednumberUnix timestamp when channel was created
↳ creatorstringUser ID of channel creator
idsarrayArray of channel IDs for easy access
namesarrayArray of channel names for easy access
countnumberTotal number of channels returned

slack_list_members

List all members (user IDs) in a Slack channel. Use with Get User Info to resolve IDs to names.

Input

ParameterTypeRequiredDescription
authMethodstringNoAuthentication method: oauth or bot_token
botTokenstringNoBot token for Custom Bot
channelstringYesChannel ID to list members from
limitnumberNoMaximum number of members to return (default: 100, max: 200)

Output

ParameterTypeDescription
membersarrayArray of user IDs who are members of the channel (e.g., U1234567890)
countnumberTotal number of members returned

slack_list_users

List all users in a Slack workspace. Returns user profiles with names and avatars.

Input

ParameterTypeRequiredDescription
authMethodstringNoAuthentication method: oauth or bot_token
botTokenstringNoBot token for Custom Bot
includeDeletedbooleanNoInclude deactivated/deleted users (default: false)
limitnumberNoMaximum number of users to return (default: 100, max: 200)

Output

ParameterTypeDescription
usersarrayArray of user objects from the workspace
↳ idstringUser ID (e.g., U1234567890)
↳ namestringUsername (handle)
↳ real_namestringFull real name
↳ display_namestringDisplay name shown in Slack
↳ is_botbooleanWhether the user is a bot
↳ is_adminbooleanWhether the user is a workspace admin
↳ is_ownerbooleanWhether the user is the workspace owner
↳ deletedbooleanWhether the user is deactivated
↳ timezonestringUser timezone identifier
↳ avatarstringURL to user avatar image
↳ status_textstringCustom status text
↳ status_emojistringCustom status emoji
idsarrayArray of user IDs for easy access
namesarrayArray of usernames for easy access
countnumberTotal number of users returned

slack_get_user

Get detailed information about a specific Slack user by their user ID.

Input

ParameterTypeRequiredDescription
authMethodstringNoAuthentication method: oauth or bot_token
botTokenstringNoBot token for Custom Bot
userIdstringYesUser ID to look up (e.g., U1234567890)

Output

ParameterTypeDescription
userobjectDetailed user information
↳ idstringUser ID
↳ namestringUsername (handle)
↳ real_namestringFull real name
↳ display_namestringDisplay name shown in Slack
↳ first_namestringFirst name
↳ last_namestringLast name
↳ titlestringJob title
↳ phonestringPhone number
↳ skypestringSkype handle
↳ is_botbooleanWhether the user is a bot
↳ is_adminbooleanWhether the user is a workspace admin
↳ is_ownerbooleanWhether the user is the workspace owner
↳ is_primary_ownerbooleanWhether the user is the primary owner
↳ is_restrictedbooleanWhether the user is a guest (restricted)
↳ is_ultra_restrictedbooleanWhether the user is a single-channel guest
↳ deletedbooleanWhether the user is deactivated
↳ timezonestringTimezone identifier (e.g., America/Los_Angeles)
↳ timezone_labelstringHuman-readable timezone label
↳ timezone_offsetnumberTimezone offset in seconds from UTC
↳ avatar_24stringURL to 24px avatar
↳ avatar_48stringURL to 48px avatar
↳ avatar_72stringURL to 72px avatar
↳ avatar_192stringURL to 192px avatar
↳ avatar_512stringURL to 512px avatar
↳ status_textstringCustom status text
↳ status_emojistringCustom status emoji
↳ status_expirationnumberUnix timestamp when status expires
↳ updatednumberUnix timestamp of last profile update

slack_download

Download a file from Slack

Input

ParameterTypeRequiredDescription
authMethodstringNoAuthentication method: oauth or bot_token
botTokenstringNoBot token for Custom Bot
fileIdstringYesThe ID of the file to download
fileNamestringNoOptional filename override

Output

ParameterTypeDescription
filefileDownloaded file stored in execution files

slack_update_message

Update a message previously sent by the bot in Slack

Input

ParameterTypeRequiredDescription
authMethodstringNoAuthentication method: oauth or bot_token
botTokenstringNoBot token for Custom Bot
channelstringYesChannel ID where the message was posted (e.g., C1234567890)
timestampstringYesTimestamp of the message to update (e.g., 1405894322.002768)
textstringYesNew message text (supports Slack mrkdwn formatting)

Output

ParameterTypeDescription
messageobjectComplete updated message object with all properties returned by Slack
contentstringSuccess message
metadataobjectUpdated message metadata
↳ channelstringChannel ID
↳ timestampstringMessage timestamp
↳ textstringUpdated message text

slack_delete_message

Delete a message previously sent by the bot in Slack

Input

ParameterTypeRequiredDescription
authMethodstringNoAuthentication method: oauth or bot_token
botTokenstringNoBot token for Custom Bot
channelstringYesChannel ID where the message was posted (e.g., C1234567890)
timestampstringYesTimestamp of the message to delete (e.g., 1405894322.002768)

Output

ParameterTypeDescription
contentstringSuccess message
metadataobjectDeleted message metadata
↳ channelstringChannel ID
↳ timestampstringMessage timestamp

slack_add_reaction

Add an emoji reaction to a Slack message

Input

ParameterTypeRequiredDescription
authMethodstringNoAuthentication method: oauth or bot_token
botTokenstringNoBot token for Custom Bot
channelstringYesChannel ID where the message was posted (e.g., C1234567890)
timestampstringYesTimestamp of the message to react to (e.g., 1405894322.002768)
namestringYesName of the emoji reaction (without colons, e.g., thumbsup, heart, eyes)

Output

ParameterTypeDescription
contentstringSuccess message
metadataobjectReaction metadata
↳ channelstringChannel ID
↳ timestampstringMessage timestamp
↳ reactionstringEmoji reaction name
On this page

On this page

Get access
Copilot assembles the process. A manager can run it. You can install it in the company contour.
Get access