Slack Wrkbot — Application Overview
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