Skip to main content
Home

Streamlined Slack Web API client for TypeScript

This package works with Cloudflare Workers, Node.js, Deno, Bun
This package works with Cloudflare Workers
This package works with Node.js
This package works with Deno
This package works with Bun
JSR Score
41%
Published
4 months ago (1.1.5)

Slack Web API Client for TypeScript

The slack-web-api-client library is a type-safe Slack Web API client that provides several key benefits, including:

  • A fetch-based implementation, which is compatible with most runtimes
  • Strong types for Web API responses and Block Kit, which make coding enjoyable and predictable
  • Zero additional dependencies, allowing developers to integrate this library into their projects without any obstacles

Getting Started

The slack-web-api-client library also offers a native package for the Deno runtime. To import the module for Slack's automation platform, use the following syntax:

import { SlackFunction } from "deno-slack-sdk/mod.ts";

export const def = DefineFunction({
  callback_id: "hello",
  title: "Hello World",
  source_file: "functions/hello.ts",
  input_parameters: { properties: {}, required: [] },
  output_parameters: { properties: {}, required: [] },
});

import { SlackAPIClient } from "https://deno.land/x/slack_web_api_client@1.1.5/mod.ts";

export default SlackFunction(def, async ({ token }) => {
  const client = new SlackAPIClient(token, {
    throwSlackAPIError: false, // for the compatibility with deno-slack-api library
  });
  const response = await client.chat.postMessage({
    channel: "#random",
    text: ":wave: what's up?",
  });

  // ....
});

This allows you to use the powerful features of the slack-web-api-client library in your Deno projects with ease.

An alternative way is to use skypack CDN. If you prefer this way, you need to add "cdn.skypack.dev" to outgoingDomains in manifest.ts.

An alternative way to use the slack-web-api-client library is through the skypack CDN. To do this, simply add "cdn.skypack.dev" to the outgoingDomains section in your manifest.ts file. This allows you to use the library within your project:

import { SlackAPIClient } from "https://cdn.skypack.dev/slack-web-api-client?dts";

Lastly, Slack's automation platform doesn't support jsr.io yet, though this library can be accessed there as well: https://jsr.io/@seratch/slack-web-api-client

// deno add @seratch/slack-web-api-client
import { SlackAPIClient } from "@seratch/slack-web-api-client.ts";

When you need this library for Deno apps outside the automation platform, relying on jsr.io could be a simpler approach for resolving dependencies.

New Ticket: Report package

Please provide a reason for reporting this package. We will review your report and take appropriate action.

Please review the JSR usage policy before submitting a report.

Add Package

deno add jsr:@seratch/slack-web-api-client

Import symbol

import * as slack_web_api_client from "@seratch/slack-web-api-client";
or

Import directly with a jsr specifier

import * as slack_web_api_client from "jsr:@seratch/slack-web-api-client";

Add Package

pnpm i jsr:@seratch/slack-web-api-client
or (using pnpm 10.8 or older)
pnpm dlx jsr add @seratch/slack-web-api-client

Import symbol

import * as slack_web_api_client from "@seratch/slack-web-api-client";

Add Package

yarn add jsr:@seratch/slack-web-api-client
or (using Yarn 4.8 or older)
yarn dlx jsr add @seratch/slack-web-api-client

Import symbol

import * as slack_web_api_client from "@seratch/slack-web-api-client";

Add Package

vlt install jsr:@seratch/slack-web-api-client

Import symbol

import * as slack_web_api_client from "@seratch/slack-web-api-client";

Add Package

npx jsr add @seratch/slack-web-api-client

Import symbol

import * as slack_web_api_client from "@seratch/slack-web-api-client";

Add Package

bunx jsr add @seratch/slack-web-api-client

Import symbol

import * as slack_web_api_client from "@seratch/slack-web-api-client";