Use Slack to send and manage messages, work with canvases, and inspect channels and users. Custom bots also support Agent Sessions and streamed trigger responses.
Credentials and workflow actions
Select an operation in the Slack block. Custom bots support the expanded channel, file, bookmark, pin, user-group, profile, workspace, List, and Canvas actions. The custom-app manifest selects all available capabilities by default. Existing apps need the updated manifest and a reinstall to grant newly added scopes.
The native Sim Slack app keeps its existing permissions. Set Bot Presence changes the selected custom bot’s presence. Mark Conversation Read moves the selected account or bot’s read cursor. Neither action changes another workspace member’s state.
List actions return one page. Use the returned cursor or page information to continue. Update User Group Members replaces the complete member list. Start List Export returns a job ID; pass it to Get List Export with the same export options. Canvas access changes apply to standalone canvases and require the link to have been shared with the recipient first.
User-token-only search, profile updates, and notification controls, Slack’s retired reminders APIs, and Enterprise administration APIs are not included. Use scheduled messages or a scheduled Sim workflow for reminders.
Stream trigger responses
Custom-bot Slack triggers can stream workflow outputs directly back into the conversation that started a run. Turn on Enable agent session (streamResponse) on a Message, App Mention, or Assistant Thread Started trigger, then select the outputs to deliver in Outputs to stream (streamOutputs).
- A selected Agent output streams immediately as it is generated. If the Agent later calls a tool, any pre-tool commentary already streamed remains visible.
- A selected non-streaming block output is sent when that block invocation completes.
- Loop and parallel invocations each create their own Slack response.
- The response status label defaults to
Runningand can be customized in the trigger's advanced settings. - Optional thinking and tool-call updates appear as Slack tasks in a timeline or plan.
- Slack Agent Sessions remain in processing state for the run, return to active when it finishes, and the native Slack stop button cancels active workflow executions.
Automatic trigger responses require a custom bot created by the Slack setup wizard. They are not available with the shared Sim Slack app. Where the deployment enables shared-app triggers, the Sim app can receive its subscribed event subset without automatic streaming.
The Set Assistant Status (set_status) action changes the assistant-thread indicator; it does not enable agent-session streaming. A separate Send Message action for an output already selected on the trigger sends an additional message.
Testing a block with sample input verifies its logic. To verify a Slack integration, check the real event's deployed workflow run and any execution or delivery errors, then confirm the reply in the originating conversation or thread.
Review generated content
Review model-generated Slack messages where your communication process requires approval; model output can contain errors.
For help with the Slack integration, contact help@sim.ai.
OAuth scopes
Sim requests these scopes when someone connects a Slack account. For a self-hosted deployment, register your own app with the provider using the settings below. See Integrations and OAuth for setup.
Requested only when SLACK_EXTENDED_SCOPES and NEXT_PUBLIC_SLACK_EXTENDED_SCOPES are enabled. Enable them only after Slack approves the app for these scopes:
Some actions run only on a bot or service-account credential, never the OAuth connection. That credential needs these additional scopes:
Use the block
Build Slack workflows with messages, conversations, files, reactions, pins, bookmarks, user groups, profiles, Lists, canvases, and Agent Sessions. Operations that need additional app scopes use custom Slack bots. Lists require lists:read/lists:write and a paid Slack plan. Native Sim connections retain their existing permissions. Page through list outputs explicitly.
Actions
Slack Message
Send messages to Slack channels or direct messages. Supports Slack mrkdwn formatting.
Slack Ephemeral Message
Send an ephemeral message visible only to a specific user in a channel. Optionally reply in a thread. The message does not persist across sessions.
Slack Canvas Writer
Create and share Slack canvases in channels. Canvases are collaborative documents within Slack.
Slack Message Reader
Read the latest messages from Slack channels. Retrieve conversation history with filtering options.
Slack Get Message
Retrieve a specific message by its timestamp. Useful for getting a thread parent message.
Slack Get Thread
Retrieve an entire thread including the parent message and all replies. Useful for getting full conversation context.
Slack Get Thread Replies
Fetch every message in a Slack thread, automatically following pagination across all pages. Returns the parent message and the full set of replies.
Slack Get Channel History
Fetch message history from a Slack channel, automatically following pagination. Optionally filter by a time range to scrape messages since a given timestamp.
Slack Get Permalink
Get a stable permalink URL to a specific Slack message.
Slack Set Assistant Status
Set or clear the assistant thread status indicator (the loading shimmer) on a Slack AI app thread. Pass an empty status to clear it.
Slack Set Assistant Title
Set the title of a Slack assistant thread (shown in the AI app thread header).
Slack Set Suggested Prompts
Set the clickable suggested prompts shown in a Slack assistant thread (the prompt chips in an AI app).
Slack Set Agent Suggested Prompts
Set suggested prompts in Slack Agent View, optionally scoped to a specific thread.
Slack Set Agent Session Status
Create or update the state of a Slack agent session associated with a thread.
Slack Rename Agent Session
Rename the Slack agent session associated with a thread.
Slack List Channels
List one page of accessible public and private Slack channels. Pass the returned nextCursor as cursor to fetch the next page.
Slack List Channel Members
List all members (user IDs) in a Slack channel. Use with Get User Info to resolve IDs to names.
Slack List Users
List all users in a Slack workspace. Returns user profiles with names and avatars.
Slack Get User Info
Get detailed information about a specific Slack user by their user ID.
Download File from Slack
Download a file from Slack
Slack Update Message
Update a message previously sent by the bot in Slack
Slack Delete Message
Delete a message previously sent by the bot in Slack
Slack Add Reaction
Add an emoji reaction to a Slack message
Slack Remove Reaction
Remove an emoji reaction from a Slack message
Slack Get Channel Info
Get detailed information about a Slack channel by its ID
Slack Get User Presence
Check whether a Slack user is currently active or away
Slack Edit Canvas
Edit an existing Slack canvas by inserting, replacing, or deleting content
Slack Create Channel Canvas
Create a canvas pinned to a Slack channel as its resource hub
Slack Get Canvas Info
Get Slack canvas file metadata by canvas ID
Slack List Canvases
List Slack canvases available to the authenticated user or bot
Slack Lookup Canvas Sections
Find Slack canvas section IDs matching criteria for later edits
Slack Delete Canvas
Delete a Slack canvas by its canvas ID
Slack Lists Create List
Create a Slack List with an optional column schema. Requires a paid Slack plan.
Slack Lists Update List
Update a Slack List name, description, or task tracking fields.
Slack Lists Share List
Grant users or channels access to a Slack List. Provide exactly one of userIds or channelIds. Read allows viewing, write allows editing, and owner grants ownership to users only; only a current owner can grant ownership.
Slack Lists List Items
Read a page of Slack List rows and optionally its column schema. Pass nextCursor as cursor to continue; an empty nextCursor ends pagination.
Slack Lists Get Item
Read a Slack List row and its parent List column schema.
Slack Lists Create Item
Create a Slack List row using real column IDs and typed cell values. Text columns require rich_text, not text.
Slack Lists Update Items
Update cells across Slack List rows. Each cell requires row_id, column_id, and one typed value. Use empty arrays to clear array-valued cells, or false to clear a checkbox.
Slack Lists Delete Item
Delete a row from an existing Slack List.
Slack Create Conversation
Create a new public or private channel in a Slack workspace.
Slack Invite to Conversation
Invite one or more users to a Slack channel. Supports up to 100 users at a time.
Slack Open View
Open a modal view in Slack using a trigger_id from an interaction payload. Used to display forms, confirmations, and other interactive modals.
Slack Update View
Update an existing modal view in Slack. Identify the view by view_id or external_id, and provide the updated view payload.
Slack Push View
Push a new view onto an existing modal stack in Slack. Limited to 2 additional views after the initial modal is opened.
Slack Publish View
Publish a static view to a user's Home tab in Slack. Used to create or update the app's Home tab experience.
Slack Schedule Message
Schedule a message to be sent to a Slack channel or DM at a future time.
Slack List Scheduled Messages
List pending scheduled messages in a Slack workspace, optionally filtered by channel.
Slack Delete Scheduled Message
Delete a pending scheduled message before it posts to Slack.
Slack Archive Conversation
Archive a Slack channel so it is closed to new activity.
Slack Rename Conversation
Rename an existing Slack channel.
Slack Set Conversation Topic
Set the topic for a Slack channel (max 250 characters).
Slack Set Conversation Purpose
Set the purpose (description) for a Slack channel (max 250 characters).
Slack Revoke List Access
Remove access to a Slack List for either users or channels.
Slack Start List Export
Start an asynchronous CSV or JSON List export. Use the returned job_id with Get List Export and the same format options.
Slack Get List Export
Read a List export job status and its download URL when ready. Format, Include Threads, and Include Attachments must match Start List Export.
Slack Delete List Items
Delete multiple rows from a Slack List in one call.
Slack Share Canvas
Change access for users or regular channels on a standalone canvas. For sharing, first send the canvas link in Slack to the target. Channel resource canvases cannot be changed this way.
Slack Revoke Canvas Access
Remove user or regular-channel access to a standalone canvas. Channel-granted access must be revoked at the channel level.
Slack Join Conversation
Join a public Slack channel as the authenticated bot.
Slack Leave Conversation
Leave a Slack channel as the authenticated identity.
Slack Remove User from Conversation
Remove a user from a Slack conversation, subject to workspace permissions.
Slack Unarchive Conversation
Restore an archived Slack channel.
Slack Close Conversation
Close a direct message or group direct message for the authenticated identity.
Slack Mark Conversation Read
Move the authenticated identity’s read cursor to a message timestamp.
Slack Open Conversation
Open a DM or group DM with 1–8 user IDs, or resume a conversation by ID. Supply exactly one target; omit the calling user from User IDs.
Slack Find User by Email
Find a Slack user by their email address.
Slack List User Conversations
List one page of conversations accessible to the selected user. Continue with response_metadata.next_cursor.
Slack Get User Profile
Read a Slack user’s profile, status, and custom fields. Omit User ID for the authenticated identity.
Slack Set Bot Presence
Set the selected custom bot’s presence to away or automatic. This does not change a workspace member’s presence.
Slack Get File Info
Read Slack file metadata and one page of legacy file comments. Continue with response_metadata.next_cursor.
Slack List Files
List one page of Slack files matching user, channel, type, or timestamp filters. Continue using paging.page and paging.pages.
Slack Delete File
Permanently delete a Slack file the authenticated identity is allowed to delete.
Slack Get Reactions
Get reactions for exactly one message, file, or file comment. Messages require both Channel ID and Message Timestamp.
Slack List Reactions
List one page of items reacted to by a user. Continue with response_metadata.next_cursor.
Slack Pin Message
Pin a message to its Slack conversation.
Slack Unpin Message
Remove a message from its conversation’s pinned items.
Slack List Pins
Read the pinned messages and files in a Slack conversation.
Slack Add Bookmark
Add a link bookmark to a Slack channel.
Slack Edit Bookmark
Change a channel link bookmark’s title, URL, or emoji.
Slack List Bookmarks
Read the bookmarks in a Slack channel.
Slack Remove Bookmark
Remove a bookmark from a Slack channel.
Slack Create User Group
Create a Slack user group with a mention handle and default channels. Requires a paid plan and permission to manage user groups.
Slack Update User Group
Change a Slack user group’s name, handle, description, or default channels. Requires permission to manage user groups.
Slack Enable User Group
Reactivate a disabled Slack user group. Requires permission to manage user groups.
Slack Disable User Group
Disable a Slack user group and remove its members. Requires permission to manage user groups.
Slack List User Groups
Read Slack user groups, optionally including disabled groups, members, and member counts.
Slack List User Group Members
Read the user IDs in a Slack user group.
Slack Update User Group Members
Replace all members of a Slack user group with the supplied user IDs. An empty list is not supported; disable the group instead.
Slack Get Do Not Disturb Info
Read a user’s Do Not Disturb schedule and available snooze information.
Slack Get Team Do Not Disturb Info
Read Do Not Disturb settings for the supplied user IDs.
Slack List Custom Emoji
List workspace custom emoji as names mapped to image URLs or alias references.
Slack Get Workspace Info
Read a Slack workspace’s name, domain, icon, and available organization details.
Slack Get Workspace Profile Fields
Read the workspace’s custom profile field definitions, optionally filtered by visibility.
Slack Unfurl Links
Attach custom previews to links already shared in a message. Configure the relevant unfurl domains in your Slack app.
Triggers
A trigger starts a workflow when a supported event occurs in this service.
Slack
Trigger from Slack events, interactions, and slash commands
Lists and Canvas notes
Lists
Lists actions require a custom Slack bot and a paid Slack plan. Manage Lists is selected by default during bot setup. For an existing app, add lists:read and lists:write in Slack, reinstall it, then reconnect in Sim.
- Share List grants access to users or channels. Choose Share With, enter a JSON array of Slack IDs, and select Can view, Can edit, or Owner. Ownership is for users only and requires the current owner. Creating a List does not automatically share it with your personal Slack account. See Slack's sharing reference.
- Run Read List Items with Include List Schema enabled to get the column IDs used in
column_id. Updates also need the row'sidasrow_id. - Initial Fields and Cells accept JSON arrays of typed values. Text uses
rich_text; checkboxes use booleans. See Slack's field formats for examples. - To read every row, pass
nextCursorinto Cursor until it is empty. Archived Rows reads archived rows instead of active rows.
Canvases
For custom bots, Manage canvases is selected by default during setup. Existing apps need canvases:write for changes, canvases:read for section lookup, and files:read for metadata. Reinstall the app after changing scopes, then reconnect in Sim.
Edit Canvas can replace the whole document when Section ID is empty. Get Canvas Info and List Canvases return metadata, not document contents. See Slack's Canvas guide for details.