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 |
Slack API Token | Static bot or user token provided by Slack |
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.
Slack API Token Authentication
Slack API tokens can also be used as a static authentication method.
How to Obtain a Slack API Token
Create or manage an app in the Slack API dashboard.
Assign the required bot or user scopes.
Install the app to a workspace.
Copy the Bot User OAuth Token or User OAuth Token.
Documentation: https://docs.slack.dev/apis/authentication/
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.
Send a message in Slack
Update a message in Slack
Delete a message in Slack
React to a message in Slack
Remove a reaction from an item in Slack
Schedule a message to be sent to a channel in Slack
Download file in Slack
Retrieve user details in Slack
Retrieve a user with an email address from Slack
Retrieve all users in a Slack team
Retrieve channel details in Slack
Retrieve all channels in a Slack team
Retrieve information about a conversation from Slack
Retrieve members of a conversation from Slack
Retrieve a conversation's history of messages and events from Slack
Search messages matching a query in Slack
Retrieve reactions for an item from Slack
Invite users to a channel in Slack
Perform an API call in Slack
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
