TypeScript SDK

Install and start using the TypeScript SDK.

Intro

The Slack Web API SDK provides access to the Slack Web API REST APIs.

Installation

The SDK compiles to dist/ before it can be referenced — run its build script once in the SDK folder, then add it to your project by path:

Terminal
npm install <path-to-sdk>

Quick Start

Create one client and reuse it. Configure its behaviour through ClientOptions.

TypeScript
import { PkceMethod, ServerEnvironment, SlackWebApiClient } from "slack-web-api";

const client = new SlackWebApiClient({
  serverEnvironment: ServerEnvironment.Production,
  slackAuth: {
    clientId: "YOUR_CLIENT_ID",
    redirectUri: "YOUR_REDIRECT_URI",
    pkce: PkceMethod.S256,
    promptForAuthorizationCode: (authorizationUrl, signal) => Promise.resolve("YOUR_AUTHORIZATION_CODE"),
  },
});

Nothing in ClientOptions is required — new SlackWebApiClient() compiles — and each option left out falls back to its default. serverEnvironment is spelled out above so the environment a call reaches is visible where the client is built rather than inherited silently.

From CommonJS

The package ships both dialects from a single entry, so require works with full types. In a TypeScript CommonJS file use the import ... = require(...) form — a plain destructuring require runs fine but gives you any.

TypeScript
import sdk = require("slack-web-api");

const client = new sdk.SlackWebApiClient({
  serverEnvironment: sdk.ServerEnvironment.Production,
  slackAuth: {
    clientId: "YOUR_CLIENT_ID",
    redirectUri: "YOUR_REDIRECT_URI",
    pkce: sdk.PkceMethod.S256,
    promptForAuthorizationCode: (authorizationUrl, signal) => Promise.resolve("YOUR_AUTHORIZATION_CODE"),
  },
});

On this page