Slack is a business communication platform used by teams to collaborate through channels, direct messages, files, and reactions. Slack is commonly used by operations, engineering, support, and customer-facing teams to centralize real-time communication and workflow updates.
The Slack integration within the Wrk platform allows you to automate messaging, user and channel management, file access, and advanced API interactions by calling the Slack Web API through prebuilt Wrk Actions.
This document provides an overview of how Slack integrates into Wrk, how authentication works, general API behaviour, and a complete list of available Wrk Actions.
Authentication
Slack supports multiple authentication methods within Wrk, allowing flexibility depending on workspace policies and use cases.
Supported Authentication Methods
Method | Description |
OAuth 2.0 | Recommended method using Slack’s OAuth flow |
OAuth 2.0 Authentication
When connecting Slack via OAuth:
Authentication is initiated directly inside Wrk.
Users are redirected to Slack to authorize access.
Wrk receives an access token that is used for all subsequent API calls.
Tokens are scoped based on the permissions granted during authorization.
If authentication fails or the token is revoked, Slack returns an HTTP 401 Unauthorized response.
Important Notes
Tokens are tied to a specific workspace.
Missing scopes will cause Slack to return permission-related errors.
Revoking the app or regenerating tokens requires reauthentication in Wrk.
General API Behaviour
Slack Web API Overview
The Slack integration uses the Slack Web API. Most interactions are performed by calling method-based endpoints such as chat.postMessage, conversations.list, or users.info.
Each API request generally includes:
An authenticated token
A method name
A JSON payload of parameters
Conversations and IDs
Slack uses string-based IDs for all primary objects:
Users (
UXXXXXX)Channels and conversations (
CXXXXXX,GXXXXXX,DXXXXXX)Messages (timestamp-based IDs)
These IDs must be passed exactly as returned from the API.
Pagination
Many Slack endpoints return paginated results using cursor-based pagination.
Key details:
Responses may include a
response_metadata.next_cursorvalue.If
next_cursoris present, it must be passed into the next request.An empty cursor indicates no additional pages.
Pagination documentation: https://docs.slack.dev/apis/web-api/pagination/
Rate Limits
Slack enforces tiered rate limits based on:
API method
Workspace
App installation
If rate limits are exceeded:
Slack returns HTTP 429 Too Many Requests.
A
Retry-Afterheader indicates when requests may resume.
Rate limit documentation: https://docs.slack.dev/apis/web-api/rate-limits/
Message Formatting
Slack messages may include:
Plain text
Block Kit layouts
Attachments
Reactions and metadata
Block Kit Builder: https://app.slack.com/block-kit-builder
Errors and Troubleshooting
Common Slack API errors include:
invalid_auth– token is missing or invalidmissing_scope– required permission not grantedchannel_not_found– invalid or inaccessible channelrate_limited– request volume exceeded
Slack errors are returned with descriptive error codes in the response body.
Available Wrk Actions for Slack
Wrk provides a curated set of Slack Actions that map directly to commonly used Slack Web API methods.
Download file from Slack as Wrkbot
Send a message in Slack as Wrkbot
React to a message in Slack as Wrkbot
Perform an API call in Slack as Wrkbot
Retrieve user details from Slack as Wrkbot
Retrieve channel details from Slack as Wrkbot
Delete a message in Slack as Wrkbot
Invite users to a channel in Slack as Wrkbot
Remove a reaction from an item in Slack as Wrkbot
Retrieve a conversation's history of messages and events from Slack as Wrkbot
Retrieve a user with an email address from Slack as Wrkbot
Retrieve all channels in a Slack team from Slack as Wrkbot
Retrieve all users in a Slack team from Slack as Wrkbot
Retrieve information about a conversation from Slack as Wrkbot
Retrieve members of a conversation from Slack as Wrkbot
Retrieve reactions for an item from Slack as Wrkbot
Schedule a message to be sent to a channel in Slack as Wrkbot
Update a message in Slack as Wrkbot
Additional Resources
Slack Web API Overview: https://docs.slack.dev/apis/web-api/
Slack API Methods Reference: https://docs.slack.dev/reference/methods/
Authentication Documentation: https://docs.slack.dev/apis/authentication/
Pagination Guide: https://docs.slack.dev/apis/web-api/pagination/
Rate Limits: https://docs.slack.dev/apis/web-api/rate-limits/
Block Kit Builder: https://app.slack.com/block-kit-builder
