Skip to content
← Connectors

CommsConnector

Slack

Read and post Slack messages in channels, threads and DMs from Claude or ChatGPT through Tulina's own MCP server, scoped to a bot or a single user's token.

Official site: slack.com

What it can do

1 send

  • 01
    Send

    Read and post messages in channels and threads

A workspace can scope this connector to a bot token, a specific user's token, or both. Sending or reading on someone's behalf is easy to over-scope, so the right default is exactly what the task needs and no more. With both tokens set, the agent reads as the bot and you choose who writes on each send, in your name or under the app's.

Does Slack have an MCP server?

Yes. Slack hosts its own at https://mcp.slack.com/mcp. Sign-in is OAuth, and the client must be backed by a registered Slack app that is directory-published or internal. Admins approve it through the usual app approval process. Slack's tools search messages, files, users and channels, read channels, threads and canvases, send and schedule messages, add reactions, and create and update canvases and lists. Tulina's connector is the other route: your own Slack app, installed once, with its tokens in the vault.

How do you connect Slack to Claude and ChatGPT?

Through Tulina's MCP server, in four steps:

  1. In your workspace, create a Slack app at api.slack.com/apps from a manifest. Tulina's connector card carries the manifest with every scope the tools need. Install it to the workspace.
  2. Copy the Bot User OAuth Token (xoxb-) and, if you want to post in your name, the User OAuth Token (xoxp-). One of the two is enough.
  3. Paste the tokens into Tulina's Slack connector. They are stored in the vault and never shown to the model. A second workspace is a second installation with its own tokens.
  4. Add https://mcp.tulina.ai/mcp to Claude or ChatGPT and sign in with your Tulina account. The MCP page has the same link.

A scope does not replace channel membership. In a public channel the agent can join on its own. A private channel needs a member to type /invite for the app.

Tulina vs Slack's official MCP server

Slack's server works across the whole workspace with search. Tulina's works through an app you own and install.

Slack's MCP serverTulina
Endpointmcp.slack.com/mcp, hosted by Slackmcp.tulina.ai/mcp, one link for every connected tool
Sign-inOAuth through a directory-published or internal Slack appBot and user tokens from your own Slack app, in Tulina's vault
SearchMessages, files, users and channelsNo search tool
ReadingChannels, threads, canvases, listsChannel history, thread replies, file downloads, channel list
WritingSend and schedule messages, canvases, lists, reactionsPost messages, DMs and thread replies, reactions, delete your own posts
User groupsNot listedList, create, update, disable and change members

If the model should search the workspace, read canvases or schedule messages, Slack's own server is the better choice. Tulina fits when you want a bot or a single user's token you control, or when Slack is one step in a longer piece of work.

Which token does the agent write with?

The bot token reads channels, joins public ones and posts under the app's name. The user token posts in your name. With only one token set, that token is used. With both, a send without a stated author is refused instead of going out under the wrong name, and the reply says who wrote and in which channel, including whether the channel is shared with another organisation. That check is the reason to keep a human-facing bot and a personal token apart.

What you can ask it

"What was decided in the thread under Monday's launch message?" The agent reads the channel history, finds the parent message, and opens its replies with the thread reader, since the history shows only the reply count.

"DM Jean that the report is ready." The agent looks Jean up by email, opens the DM and posts. When both tokens are set, it asks whether to write as you or as the app.

"Add Priya to the @sales group, and show me the change first." The agent runs the member change as a dry run, returns the before and after lists, and writes only after you agree. User groups need a paid Slack plan.

Slack pairs with Linear for bug reports triaged and routed and for the merged PR digest, and with Notion for a knowledge base that stays current.

What the Slack connector can't do

  • It has no search tool. Reading means channel history, thread replies and files.
  • Thread replies are separate from channel history. The agent opens a thread on purpose.
  • It cannot join a private channel. A member of the channel must invite the app.
  • It does not schedule messages, create channels, or touch canvases and lists.
  • It deletes only messages posted by the same author it deletes as.
  • User group changes need a paid plan. A bot token writes only where the workspace lets everyone manage user groups.
  • A sent message is final. A message can be deleted but not edited from here.

Why through Tulina

The connection was never the hard part.

Most systems now publish their own way for a model to reach them, and that is good: it is what Tulina connects to. The hard part is deciding who may use it, what it is allowed to return, and what the model knows before it asks.

  • The keys stay in one place

    YouTeamOrganisation

    Connect Slack once. The credential is encrypted in a vault, never held in clear, and never pasted into a chat or a workflow file. A person uses their own key where they have one, their team's where they do not, the organisation's after that, so nobody is blocked and nobody holds more access than they need. Revoke it once and everything running on it stops.

  • What leaves is filtered before it leaves

    fields droppedmasked or hashedpseudonymised

    Roles decide who can reach Slack at all. Beyond that, a policy on the connector itself decides what comes back. The data is minimised at the source rather than after it has already reached a model.

  • Every call is on the record

    whatwhowhen

    Runs are logged for the organisation. That is what makes an automated action reviewable after the fact, and it is what a security review asks for first.

  • The run starts knowing your company

    namingkey accountsdecisions

    A direct connection gives a model access. It does not tell it how your company names things, which accounts matter, or what was decided last quarter. Tulina carries that across every tool, so the same request against Slack returns something usable instead of something generic.

Processes that run on Slack

See Tulina in a 30-minute demo.

Book a demo