Skip to main content

Slack — Application Overview

Wrk Product avatar
Written by Wrk Product
Updated over a week ago

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

  1. Create or manage an app in the Slack API dashboard.

  2. Assign the required bot or user scopes.

  3. Install the app to a workspace.

  4. Copy the Bot User OAuth Token or User OAuth Token.

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_cursor value.

  • If next_cursor is present, it must be passed into the next request.

  • An empty cursor indicates no additional pages.

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-After header indicates when requests may resume.

Message Formatting

Slack messages may include:

  • Plain text

  • Block Kit layouts

  • Attachments

  • Reactions and metadata

Errors and Troubleshooting

Common Slack API errors include:

  • invalid_auth – token is missing or invalid

  • missing_scope – required permission not granted

  • channel_not_found – invalid or inaccessible channel

  • rate_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/

Did this answer your question?