# Slack — Pipedream Connect

> Slack is the AI-powered platform for work bringing all of your conversations, apps, and customers together in one place. Around the world, Slack is helping businesses of all sizes grow and send productivity through the roof.

- API slug: `slack_v2` (use in MCP headers and tool keys)
- Auth: OAuth (Pipedream-managed)
- Categories: Communication
- Website: https://slack.com
- Managed OAuth scopes: `chat:write` · `chat:write.customize` · `chat:write.public` · `files:read`
- This page (HTML): https://pipedream.com/apps/slack-v2
- Tools: 50 actions · 9 triggers

## Connect via MCP (recommended)

- Endpoint: `https://remote.mcp.pipedream.net/v3`
- Headers: `Authorization: Bearer <token>` · `x-pd-project-id` · `x-pd-environment` · `x-pd-external-user-id` · `x-pd-app-slug: slack_v2`

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "slack_v2",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// e.g. run Send Message to Channel:
const result = await mcp.callTool({
  name: "slack_v2-send-message-to-channel",
  arguments: {
    conversation: "Channel",
    text: "Text",
  },
})
```

Docs: [MCP guide](https://pipedream.com/docs/connect/mcp/developers.md)

## API proxy

For a Slack endpoint with no pre-built tool, the proxy forwards your request with the connected user's credentials attached.

```bash
# The path segment is the target URL, URL-safe base64 encoded:
# https://slack.com/api/users.profile.get

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9zbGFjay5jb20vYXBpL3VzZXJzLnByb2ZpbGUuZ2V0?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
  -H "Authorization: Bearer {access_token}" \
  -H "x-pd-environment: production"
```

Docs: [API proxy guide](https://pipedream.com/docs/connect/api-proxy.md)

## SDK

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "slack_v2-send-message-to-channel",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    slack_v2: { authProvisionId: "apn_xxxxxxx" },
    conversation: "Channel",
    text: "Text",
  },
})
```

Docs: [Managed auth guide](https://pipedream.com/docs/connect/managed-auth/quickstart.md) · [Tools guide](https://pipedream.com/docs/connect/components.md)

## Actions (50)

### `slack_v2-send-message-to-channel` — Send Message to Channel (Write)

Send a message to a public or private channel. Legacy, channel-only variant — prefer Post Message for new integrations: it covers channels, users, and groups from a single tool, and also supports threaded replies and unfurl settings. Use this tool only if a workflow specifically needs to target a…

Full schema: https://pipedream.com/apps/slack-v2/actions/send-message-to-channel.md

### `slack_v2-add-emoji-reaction` — Add Emoji Reaction (Write)

Add an emoji reaction to a message. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/add-emoji-reaction.md

### `slack_v2-add-reaction` — Add Reaction (Write)

Add an emoji reaction to a message. Accepts a channel ID (preferred — resolves instantly) or channel name (resolved by scanning up to 5 pages, ~5,000 channels, of the workspace's channel list — a name beyond that bound will not be found). Use Get Channel History or Search to find the message…

Full schema: https://pipedream.com/apps/slack-v2/actions/add-reaction.md

### `slack_v2-archive-channel` — Archive Channel (Write)

Archive a public or private channel. Direct messages and group DMs can't be archived — pass a channel ID (e.g. C1234567890), not a user or group ID. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/archive-channel.md

### `slack_v2-browse-files` — Browse Files (Read-only)

List files shared in a channel or across the workspace. Accepts a channel ID (preferred — resolves instantly) or channel name (resolved by scanning up to 5 pages, ~5,000 channels, of the workspace's channel list — a name beyond that bound will not be found). Filter by file type (e.g. images, pdfs…

Full schema: https://pipedream.com/apps/slack-v2/actions/browse-files.md

### `slack_v2-send-block-kit-message` — Build and Send a Block Kit Message (Write)

Configure custom blocks and send to a channel, group, or user. See the documentation.

Full schema: https://pipedream.com/apps/slack-v2/actions/send-block-kit-message.md

### `slack_v2-create-channel` — Create a Channel (Write)

Create a new channel. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/create-channel.md

### `slack_v2-create-reminder` — Create Reminder (Write)

Create a reminder. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/create-reminder.md

### `slack_v2-delete-file` — Delete File (Write)

Delete a file. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/delete-file.md

### `slack_v2-delete-message` — Delete Message (Write)

Permanently delete a message. This cannot be undone. To delete a specific message (including the most recent one), first call Get Channel History to retrieve messages — messages[0] is the most recent — then pass its ts here. Quote the message text back to the user to confirm before deleting…

Full schema: https://pipedream.com/apps/slack-v2/actions/delete-message.md

### `slack_v2-edit-message` — Edit Message (Write)

Edit an existing message. Accepts a channel ID (preferred — resolves instantly) or channel name (resolved by scanning the workspace's channel list, which can be slow). Requires the message timestamp (ts) from Get Channel History or Post Message. You can only edit messages posted by the same…

Full schema: https://pipedream.com/apps/slack-v2/actions/edit-message.md

### `slack_v2-find-message` — Find Message (Read-only)

Find a Slack message by keyword or natural-language query across public and private channels. Returns matching messages with channel context, timestamps, and permalinks. Pass the returned message_ts to Reply to a Message to answer in thread, or to Get Thread Replies to read the rest of that…

Full schema: https://pipedream.com/apps/slack-v2/actions/find-message.md

### `slack_v2-find-user-by-email` — Find User by Email (Read-only)

Find a user by matching against their email. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/find-user-by-email.md

### `slack_v2-find-user-by-id` — Find User by ID (Read-only)

Find a user by their ID — including a specific user you already have the Slack ID for, whether or not it's your own. Returns user profile information including name, email (requires users:read.email scope), timezone, and status. If you only have an email address, use Find User by Email instead. See…

Full schema: https://pipedream.com/apps/slack-v2/actions/find-user-by-id.md

### `slack_v2-get-channel-details` — Get Channel Details (Read-only)

Retrieve details for a Slack channel, specified by ID (preferred — resolves instantly) or by name (resolved by scanning the workspace's channel list, which can be slow). See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/get-channel-details.md

### `slack_v2-get-channel-history` — Get Channel History (Read-only)

Read the recent message history from a specific channel or direct message (DM). Accepts a channel ID (preferred — resolves instantly) or channel name (resolved by scanning up to 5 pages, ~5,000 channels, of the workspace's channel list — a name beyond that bound will not be found, so pass the ID…

Full schema: https://pipedream.com/apps/slack-v2/actions/get-channel-history.md

### `slack_v2-get-current-user` — Get Current User (Read-only)

Do NOT use for a plain "who am I" / "what's my user ID" question — call Get User Details for that; it answers the same question with a far smaller payload. Do NOT use to look up a DIFFERENT, specifically-identified user (by ID or email) — this only ever describes the authenticated caller; use Find…

Full schema: https://pipedream.com/apps/slack-v2/actions/get-current-user.md

### `slack_v2-get-file` — Get File (Read-only)

Return information about a file. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/get-file.md

### `slack_v2-get-thread-replies` — Get Thread Replies (Read-only)

Retrieve all replies in a message thread. Accepts a channel ID (preferred — resolves instantly) or channel name (resolved by scanning up to 5 conversations.list pages, ~5,000 active public/private channels — a name beyond that limit returns a configuration error). To read a thread in a DM, pass the…

Full schema: https://pipedream.com/apps/slack-v2/actions/get-thread-replies.md

### `slack_v2-get-user-details` — Get User Details (Read-only)

Use when the user asks who am I, what's my user ID, what's my username, which workspace am I in, or what's my email — this is the default identity lookup and the one to call first in any session. Returns user ID, name, email, timezone, profile, and workspace metadata. Other tools like Search and…

Full schema: https://pipedream.com/apps/slack-v2/actions/get-user-details.md

### `slack_v2-invite-user-to-channel` — Invite User to Channel (Write)

Invite one or more users to an existing channel. Accepts a channel ID (preferred — resolves instantly) or NAME (resolved by scanning up to 5 pages, ~5,000 channels, of the workspace's channel list — a name beyond that bound will not be found), and a user ID, EMAIL address or display name — all…

Full schema: https://pipedream.com/apps/slack-v2/actions/invite-user-to-channel.md

### `slack_v2-kick-user` — Kick User (Write)

Remove a user from a conversation. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/kick-user.md

### `slack_v2-list-channels` — List Channels (Read-only)

Return a list of channels in a workspace. Pass fields (e.g. ["id","name"]) to limit the returned properties — a full channel object is ~1KB, so a workspace of any real size can return a payload large enough to be truncated. Omit fields when you need the complete channel objects. Use namePrefix to…

Full schema: https://pipedream.com/apps/slack-v2/actions/list-channels.md

### `slack_v2-list-emojis` — List Emojis (Read-only)

List all available emojis in the Slack workspace. Optionally include emoji image URLs. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/list-emojis.md

### `slack_v2-list-files` — List Files (Read-only)

Return a list of files within a team. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/list-files.md

### `slack_v2-list-group-conversations` — List Group Conversations (Read-only)

Return a list of multi-person direct message (group DM) conversations the connected account is a member of. Use the returned id (e.g. G1234567890) wherever a Group conversation ID is required. Returns has_more: true and next_cursor when more conversations exist than were fetched — raise numPages…

Full schema: https://pipedream.com/apps/slack-v2/actions/list-group-conversations.md

### `slack_v2-list-group-members` — List Group Members (Read-only)

List all users in a User Group. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/list-group-members.md

### `slack_v2-list-icon-emoji-options` — List Icon (emoji) Options (Read-only)

Retrieves available options for the Icon (emoji) field. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/list-icon-emoji-options.md

### `slack_v2-list-members-in-channel` — List Members in Channel (Read-only)

Retrieve members of a channel. Accepts a channel ID (preferred — resolves instantly) or NAME (e.g. general or #general), resolved by scanning up to 5 pages (~5,000 channels) of the workspace's channel list — a name beyond that bound will not be found. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/list-members-in-channel.md

### `slack_v2-list-messages` — List Messages (Deprecated) (Read-only)

DEPRECATED — do NOT use for reading a channel's or DM's messages. Use Get Channel History instead: it resolves channel names, channel IDs, and direct messages (by user ID), supports fields selection to keep responses small, and returns the same message data. This legacy tool remains only for…

Full schema: https://pipedream.com/apps/slack-v2/actions/list-messages.md

### `slack_v2-list-reminder-options` — List Reminder Options (Read-only)

Retrieves available options for the Reminder field. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/list-reminder-options.md

### `slack_v2-list-replies` — List Replies (Read-only)

Retrieve a thread of messages posted to a conversation. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/list-replies.md

### `slack_v2-list-teams` — List Teams (Read-only)

Return the full list of teams (workspaces) accessible to the connected account, with pagination (has_more/next_cursor) so you know whether there could be more than what came back. Use this — not Get User Details or Get Current User, which only ever describe the caller's single current team…

Full schema: https://pipedream.com/apps/slack-v2/actions/list-teams.md

### `slack_v2-list-user-group-options` — List User Group Options (Read-only)

Retrieves available options for the User Group field. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/list-user-group-options.md

### `slack_v2-list-users` — List Users (Read-only)

Return a list of all users in a workspace. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/list-users.md

### `slack_v2-post-message` — Post Message (Write)

Send a message to a channel, user, or group. Accepts a channel ID (e.g. C1234567890) or channel name (e.g. #general or general) — names are resolved automatically. To post a note to yourself (save a personal note or reminder), pass your own user ID (e.g. U1234567890) as the Channel — use Get…

Full schema: https://pipedream.com/apps/slack-v2/actions/post-message.md

### `slack_v2-reply-to-a-message` — Reply to a Message Thread (Write)

Send a message as a threaded reply to an existing message. Use this when the reply should be nested under a specific message rather than posted as a new top-level message — for example, responding to a triggering event or continuing a discussion. Requires thread_ts, the parent message's timestamp…

Full schema: https://pipedream.com/apps/slack-v2/actions/reply-to-a-message.md

### `slack_v2-search` — Search (Read-only)

Search Slack messages and files using the Real-Time Search API. Supports keyword and semantic search across public and private channels. Use Get User Details first to find your user ID for filtering by 'my' messages. Returns matching messages with channel context, timestamps, and permalinks. User…

Full schema: https://pipedream.com/apps/slack-v2/actions/search.md

### `slack_v2-send-large-message` — Send a Large Message (3000+ characters) (Write)

Send a large message (more than 3000 characters) to a channel, group or user. See postMessage or scheduleMessage docs here

Full schema: https://pipedream.com/apps/slack-v2/actions/send-large-message.md

### `slack_v2-send-message` — Send Message (Write)

Send a message to a user, group, private channel or public channel. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/send-message.md

### `slack_v2-send-message-advanced` — Send Message (Advanced) (Write)

Customize advanced settings and send a message to a channel, group or user. See postMessage or scheduleMessage docs here

Full schema: https://pipedream.com/apps/slack-v2/actions/send-message-advanced.md

### `slack_v2-send-message-to-user-or-group` — Send Message to User or Group (Write)

Send a message to a user or group. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/send-message-to-user-or-group.md

### `slack_v2-set-channel-description` — Set Channel Description (Write)

Change the description or purpose of a channel. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/set-channel-description.md

### `slack_v2-set-channel-topic` — Set Channel Topic (Write)

Set the topic on a channel, specified by ID (preferred — resolves instantly) or by name (resolved by scanning up to 5 pages, ~5,000 channels, of the workspace's channel list — a name beyond that bound will not be found). See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/set-channel-topic.md

### `slack_v2-set-status` — Set Status (Write)

Set the current status for a user. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/set-status.md

### `slack_v2-update-group-members` — Update Group Members (Write)

Update the list of users for a User Group. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/update-group-members.md

### `slack_v2-update-message` — Update Message (Write)

Update a message. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/update-message.md

### `slack_v2-update-profile` — Update Profile (Write)

Update basic profile field such as name or title. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/update-profile.md

### `slack_v2-upload-file` — Upload File (Write)

Upload a file. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/actions/upload-file.md

### `slack_v2-verify-slack-signature` — Verify Slack Signature (Read-only)

Verifying requests from Slack, slack signs its requests using a secret that's unique to your app. Request Body must be the raw request body as a string (not a parsed object) — Slack computes its signature over the exact raw bytes it sent, so re-serializing a parsed object will not match. See the…

Full schema: https://pipedream.com/apps/slack-v2/actions/verify-slack-signature.md

## Triggers (9)

### `slack_v2-new-channel-created` — New Channel Created (Instant) (Instant)

Emit new event when a new channel is created.

Full schema: https://pipedream.com/apps/slack-v2/triggers/new-channel-created.md

### `slack_v2-new-interaction-event-received` — New Interaction Events (Instant) (Instant)

Emit new events on new Slack interactivity events sourced from Block Kit interactive elements, Slash commands, or Shortcuts.

Full schema: https://pipedream.com/apps/slack-v2/triggers/new-interaction-event-received.md

### `slack_v2-new-keyword-mention` — New Keyword Mention (Instant) (Instant)

Emit new event when a specific keyword is mentioned in a channel

Full schema: https://pipedream.com/apps/slack-v2/triggers/new-keyword-mention.md

### `slack_v2-new-message-in-channels` — New Message In Channels (Instant) (Instant)

Emit new event when a new message is posted to one or more channels

Full schema: https://pipedream.com/apps/slack-v2/triggers/new-message-in-channels.md

### `slack_v2-new-private-channel-created` — New Private Channel Created (Polling)

Emit new event when a new private channel is created. See the documentation

Full schema: https://pipedream.com/apps/slack-v2/triggers/new-private-channel-created.md

### `slack_v2-new-reaction-added` — New Reaction Added (Instant) (Instant)

Emit new event when a member has added an emoji reaction to a message

Full schema: https://pipedream.com/apps/slack-v2/triggers/new-reaction-added.md

### `slack_v2-new-saved-message` — New Saved Message (Instant) (Instant)

Emit new event when a message is saved. Note: The endpoint is marked as deprecated, and Slack might shut this off at some point down the line.

Full schema: https://pipedream.com/apps/slack-v2/triggers/new-saved-message.md

### `slack_v2-new-user-added` — New User Added (Instant) (Instant)

Emit new event when a new member joins a workspace.

Full schema: https://pipedream.com/apps/slack-v2/triggers/new-user-added.md

### `slack_v2-new-user-mention` — New User Mention (Instant) (Instant)

Emit new event when a username or specific keyword is mentioned in a channel

Full schema: https://pipedream.com/apps/slack-v2/triggers/new-user-mention.md

---

- All apps: https://pipedream.com/apps — index: https://pipedream.com/llms.txt
- Pipedream docs for agents: https://pipedream.com/docs/llms.txt
