Slack as a Worktable: Getting Team Conversations into Claude
The issue: Research team knowledge accumulates in Slack — decisions, feedback threads, quick analyses, arguments that did not make it into documents. Claude cannot see any of it by default. Every session starts from scratch relative to the team's actual discourse. This document covers the spectrum from the simplest fix (copy-paste) to a full MCP connection, and what each approach costs and enables.
→ See B.team-ai for the trust and disclosure implications of AI reading team conversations.
The problem Slack creates for Claude
A typical research team produces three tiers of documentation:
-
Formal documents (papers, data files, CLAUDE.md) — Claude can access via the project folder
-
Semi-formal project memory (_history.md, notes/, progress.md) — Claude can access if maintained
-
Informal discourse (Slack threads, quick decisions, feedback on drafts, context for why a decision was made) — Claude cannot access at all
The informal tier is where the project actually lives between formal milestones. It contains the reasoning that did not make it into documents: why a hypothesis was revised, what a colleague flagged about a source, why the method shifted after a data collection problem. This context is invisible to Claude, which means every session has to reconstruct it from whatever the researcher can recall.
The spectrum of integration
1. Copy-paste as text files (no setup required)
The simplest approach: export a Slack thread or conversation as plain text, save it in the project's notes/ folder, and reference it when needed.
How it works:
1. In Slack, select the messages you want to preserve — a decision thread, a key exchange, a feedback conversation
2. Copy them (Slack's "Copy text" or manual selection)
3. Save as notes/_slack-YYYY-MM-DD-topic.txt in the project folder
4. Reference in the session: > Read notes/_slack-2026-01-15-method-discussion.txt and summarise the key decision.
What it costs: Manual effort. You choose what to capture.
What it enables: Claude can reason about actual team discourse. A session working on the method can be given the Slack thread where the method decision was made. The selective capture is also a feature: you decide what enters Claude's context.
Best uses:
-
Capturing key decision threads before starting a major analysis session
-
Preserving feedback on a draft that Claude will help revise
-
Onboarding: exporting key threads from before a new team member joined
-
Creating a
_slack-summary.md— a curated log of important informal decisions
Slack export tip: Slack's built-in export (for workspace owners/admins) exports to JSON. For per-thread capture, manual copy-paste or a browser "Save page" on the Slack web interface produces cleaner text. Keep formatting simple — Claude handles plain text well.
2. Slack MCP server (direct connection)
Slack has an official MCP server that gives Claude direct access to your workspace: search messages, read channels, retrieve thread context, get user information.
Setup:
// In .claude/settings.local.json (NOT the shared settings.json — this contains your personal token)
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-token-here",
"SLACK_TEAM_ID": "your-workspace-id"
}
}
}
}
Getting a token:
1. Go to api.slack.com/apps → Create a new app
2. Add OAuth scopes: channels:history, channels:read, search:read, users:read
3. Install to workspace → copy the Bot User OAuth Token
4. The token goes in your .local.json — never commit it
What Claude can do with it:
-
> Search Slack for discussions about the OCR workflow from January -
> Get the thread in #research-methods where we discussed the coding scheme -
> Find all messages about [source name] from the last month
What it costs: Setup time, a Slack app registration, and — critically — careful consideration of access scope. The MCP server can read everything the bot is invited to.
Privacy and consent: the threshold question
Before using the MCP approach, one question: have your colleagues consented to their Slack messages being read by an AI?
This is not a hypothetical. Slack conversations include colleagues who may not know that a bot is reading the channel. They wrote those messages expecting a human audience. Being read by Claude is a different kind of engagement — and one they should know about.
The copy-paste approach naturally enforces selective consent: you choose which threads to capture, you can note "using this in a Claude session" in the thread itself, and nothing happens automatically. The decision to share is always explicit.
The MCP approach gives Claude broad access to everything the bot can see. This requires:
-
Team agreement that an AI assistant can read the workspace
-
Clarity about which channels the bot is in (consider keeping it out of channels with sensitive personal or institutional discussions)
-
A norm that anyone can ask "is this channel being read by Claude?" and get a clear answer
The relevant privacy issue is not just data protection in the legal sense. It is whether your colleagues' informal communication is being repurposed in a way they did not anticipate. The threshold for this is a team conversation, not a unilateral decision by whoever sets up the MCP.
→ See A.issue.privacy-security for the broader data context.
What this enables for team research
The workflow memory problem: Research projects lose institutional memory when team members leave, when gaps appear between sessions, or when informal decisions fail to make it into formal documentation. Claude reading Slack threads can reconstruct that memory on demand — "what did we decide about X?" — but only if the conversations are accessible.
The onboarding use case: When a new team member joins a multi-year project, the combination of _history.md (formal decisions) and curated Slack exports (informal reasoning) gives Claude the context to brief them accurately. A new colleague can ask Claude "bring me up to speed on the data collection decisions, including what was debated" and get an account that reflects what actually happened.
The decision-documentation use case: After a significant Slack thread reaches a decision, saving it as a text file and adding a brief summary to _history.md creates a durable record. The Slack thread becomes the evidence; _history.md becomes the account. This practice directly counters the informal tier's tendency to disappear.
The synthesis use case: A Slack channel that has accumulated a month of discussion about a problem can be exported and given to Claude for synthesis — "what are the main positions in this thread, what was agreed, what remains open?" This is the use case where the MCP approach adds most value over copy-paste: it makes this synthesis on-demand rather than requiring export.
Practical recommendation: start with copy-paste
Unless your team has already discussed AI access to the workspace, start with manual copy-paste. It:
-
Requires no setup or tokens
-
Gives you selective control over what Claude sees
-
Creates a lightweight archival habit that benefits the project regardless of Claude
-
Gives you time to have the team conversation about broader access before you have already done it
If the team decides to use the MCP approach, keep the bot out of sensitive channels and record the decision in the project's _history.md.
Related
-
B.team-ai — the third-party problem; what AI reading team discourse does to collaborative trust
-
A.issue.team-claude — sharing Claude configuration across a team via git; the official layer of shared AI infrastructure
-
A.issue.privacy-security — data and privacy considerations; where Slack data sits in the decision matrix
-
A.concept.memory — how Claude's memory works; why the project memory infrastructure matters for bridging sessions
-
A9.markdown-project-memory — CLAUDE.md and the formal project memory layer that Slack exports complement