---
title: "Slack Integration"
description: "Send and manage Slack messages and channels"
---
The Slack integration provides access to send and manage Slack messages and channels through the Integrate MCP server.

## Installation

The Slack integration is included with the SDK:

```typescript
import { slackIntegration } from "integrate-sdk/server";
```

## Setup

### 1. Create a Slack OAuth App

1. Go to [Slack API Apps](https://api.slack.com/apps)
2. Create a new OAuth application
3. Configure your redirect URI
4. Note your Client ID and Client Secret

### 2. Configure the Integration on Your Server

Add the Slack integration to your server configuration. The integration automatically reads `SLACK_CLIENT_ID` and `SLACK_CLIENT_SECRET` from your environment variables:

```typescript
import { createMCPServer, slackIntegration } from "integrate-sdk/server";

export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    slackIntegration({
    }),
  ],
});
```

You can override the environment variables by passing explicit values:

```typescript
slackIntegration({
  clientId: process.env.CUSTOM_SLACK_ID,
  clientSecret: process.env.CUSTOM_SLACK_SECRET,
});
```

### 3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

```typescript
import { client } from "integrate-sdk";

await client.authorize("slack");
const result = await client.slack.sendMessage({
  channel: "value",
});

console.log(result);
```

If you're using a custom client, add the integration to the integrations array:

```typescript
import { createMCPClient, slackIntegration } from "integrate-sdk";

const customClient = createMCPClient({
  integrations: [slackIntegration()],
});
```

## Configuration Options

<AutoTypeTable
  path="../src/integrations/slack.ts"
  name="SlackIntegrationConfig"
/>


## Tools

### `slack_send_message`

Send a message to a Slack channel

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackSendMessageParams"
/>

### `slack_list_messages`

Get message history from a channel

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackListMessagesParams"
/>

### `slack_get_thread_replies`

Get all replies in a message thread

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackGetThreadRepliesParams"
/>

### `slack_update_message`

Update the text of an existing message

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackUpdateMessageParams"
/>

### `slack_delete_message`

Delete a message

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackDeleteMessageParams"
/>

### `slack_schedule_message`

Schedule a message to be sent at a future time

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackScheduleMessageParams"
/>

### `slack_get_permalink`

Get a permanent URL for a specific message

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackGetPermalinkParams"
/>

### `slack_search_messages`

Search for messages across the workspace

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackSearchMessagesParams"
/>

### `slack_list_channels`

List channels in the workspace

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackListChannelsParams"
/>

### `slack_get_channel`

Get details about a specific channel

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackGetChannelParams"
/>

### `slack_create_channel`

Create a new channel

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackCreateChannelParams"
/>

### `slack_invite_to_channel`

Invite one or more users to a channel

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackInviteToChannelParams"
/>

### `slack_list_channel_members`

List all members of a channel

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackListChannelMembersParams"
/>

### `slack_set_channel_topic`

Set the topic of a channel

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackSetChannelTopicParams"
/>

### `slack_archive_channel`

Archive a channel

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackArchiveChannelParams"
/>

### `slack_list_users`

List all users in the workspace

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackListUsersParams"
/>

### `slack_get_user`

Get detailed profile for a user

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackGetUserParams"
/>

### `slack_lookup_user_by_email`

Find a user by their email address

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackLookupUserByEmailParams"
/>

### `slack_add_reaction`

Add an emoji reaction to a message

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackAddReactionParams"
/>

### `slack_remove_reaction`

Remove an emoji reaction from a message

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackRemoveReactionParams"
/>

### `slack_get_reactions`

Get all reactions on a message

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackGetReactionsParams"
/>

### `slack_upload_file`

Upload a text file to one or more channels

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackUploadFileParams"
/>

### `slack_pin_message`

Pin a message in a channel

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackPinMessageParams"
/>

### `slack_unpin_message`

Unpin a message in a channel

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackUnpinMessageParams"
/>

### `slack_list_pins`

List all pinned items in a channel

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackListPinsParams"
/>

### `slack_set_channel_purpose`

Set the purpose of a channel

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackSetChannelPurposeParams"
/>

### `slack_rename_channel`

Rename a channel

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackRenameChannelParams"
/>

### `slack_join_channel`

Join a channel

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackJoinChannelParams"
/>

### `slack_leave_channel`

Leave a channel

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackLeaveChannelParams"
/>

### `slack_kick_from_channel`

Remove a user from a channel

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackKickFromChannelParams"
/>

### `slack_unarchive_channel`

Unarchive a channel

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackUnarchiveChannelParams"
/>

### `slack_open_dm`

Open or resume a direct message conversation with one or more users

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackOpenDmParams"
/>

### `slack_get_user_presence`

Get the presence status of a user

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackGetUserPresenceParams"
/>

### `slack_get_dnd_info`

Get Do Not Disturb status for a user

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackGetDndInfoParams"
/>

### `slack_list_files`

List files in the workspace

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackListFilesParams"
/>

### `slack_get_file`

Get info about a file

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackGetFileParams"
/>

### `slack_delete_file`

Delete a file

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackDeleteFileParams"
/>

### `slack_get_team_info`

Get information about the current workspace/team

_No parameters._

### `slack_list_bookmarks`

List bookmarks for a channel

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackListBookmarksParams"
/>

### `slack_add_bookmark`

Add a bookmark to a channel

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackAddBookmarkParams"
/>

### `slack_list_reminders`

List reminders for the authenticated user

_No parameters._

### `slack_add_reminder`

Create a reminder for the authenticated user

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackAddReminderParams"
/>

### `slack_list_usergroups`

List user groups in the workspace

<AutoTypeTable
  path="generated/tool-params/slack.ts"
  name="SlackListUsergroupsParams"
/>

## Notes

- Category: Communication
- Authentication mode: OAuth
