Skip to content
Eight Effect-native API SDKs are live.Explore the catalog
Distilled
Esc
navigateopen⌘Jpreview
On this page

Slack SDK

Install, authenticate, and automate Slack with Effect-native operations derived from Slack's official TypeScript SDK.

Public package Typed source 268 operations

Slack does not publish a maintained OpenAPI document suitable for this factory. Distilled instead pins Slack’s official TypeScript SDK and derives its Web API surface with a provider-specific AST generator.

Install

npm install @kevinmichaelchen/distilled-slack effect
pnpm add @kevinmichaelchen/distilled-slack effect
bun add @kevinmichaelchen/distilled-slack effect

Authentication

Set SLACK_TOKEN to a bot, user, or app-level token with the scopes required by the operations you call.

Quickstart

Post a message to a channel:

import * as Effect from "effect/Effect";
import * as Layer from "effect/Layer";
import {
  chatPostMessage,
  CredentialsFromEnv,
  SlackClientLive,
} from "@kevinmichaelchen/distilled-slack";

const SlackLive = SlackClientLive.pipe(Layer.provide(CredentialsFromEnv));

const program = chatPostMessage({
  channel: "C01234567",
  text: "The release is live :tada:",
});

const message = await Effect.runPromise(Effect.provide(program, SlackLive));

Source and package

There is no distilled-spec-slack: the official typed repository is already the authoritative input, so a second mirror would add indirection without adding stability.

Last updated on July 15, 2026

Was this page helpful?