Claude Code with Slack
Slack is where decisions get made. Feature priorities discussed. Customer feedback shared. Architecture debates settled. Then it all disappears into an unsearchable scroll of noise.
You know the answer to your question exists somewhere in Slack. You just can't find it. Or you find it but can't remember the full context. Or you remember the discussion but can't find the thread.
Claude Code could answer these questions instantly. But it has no access to your Slack history. Every time you ask Claude about a past decision, you're re-explaining context that already exists in your Slack channels.
Why Slack Needs AI Memory
Slack is built for real-time communication, not long-term memory. Conversations happen fast, then get buried under new messages.
Important information gets lost:
- The thread where you decided on the new pricing model
- Customer feedback that explains why you built that feature
- The technical discussion that documented why you chose that architecture
- Design decisions that prevent you from repeating past mistakes
- Team preferences and working styles that help onboard new members
Slack's search helps you find specific messages. It doesn't help you understand context. It can't connect related discussions across channels. It can't summarize what was decided or explain why.
You need AI that can read your Slack history and answer questions about it. Not search — memory.
How to Connect Slack to Claude Code
You're not building a bot. You're creating a memory layer that captures important Slack conversations and makes them readable by Claude.
The process:
- Export key Slack threads to markdown files
- Store them in an Obsidian vault organized by topic, project, or channel
- Create a CLAUDE.md file that indexes your Slack archive
- Let Claude Code read the vault whenever it needs historical context
Slack stays your communication tool. The vault becomes your team's memory. Claude bridges them.
What Slack Threads to Export
Don't export everything. Slack generates too much noise. Export threads that contain decisions, context, or reference information you'll need later:
- Decision threads — Feature priorities, pricing changes, strategic direction
- Customer feedback — Pain points, feature requests, use cases
- Technical discussions — Architecture decisions, implementation details, tradeoffs considered
- Process documentation — How the team handles support, deployments, code reviews
- Post-mortems — What went wrong, what you learned, what changed
- Design rationale — Why you designed it this way, what alternatives you rejected
If a thread ends with "let's do X" or "we decided Y," export it. If it's just banter or status updates, skip it.
How to Export Slack Threads
Slack's export options are limited. You have three approaches:
Manual export (best for small teams):
- Open the thread in Slack
- Copy messages into a markdown file
- Format as: timestamp, author, message
- Add frontmatter with channel, date, topic
Slack export API (for larger archives):
- Use Slack's export feature (Settings → Import/Export Data)
- Downloads JSON files of all messages
- Convert JSON to markdown using a simple script
- Filter for important channels and date ranges
Third-party tools:
- Tools like Slack Archive or custom scripts
- Export specific channels or threads
- Automatically format as markdown
Whichever method you use, the output should be clean markdown files with clear metadata.
Formatting Slack Exports
Claude reads markdown, not Slack's JSON format. Your exported threads should look like this:
---
channel: #product-strategy
date: 2026-01-15
topic: Q1 Pricing Changes
participants: Sarah, Mike, Jennifer
decision: Moving to usage-based pricing starting March 1
---
# Q1 Pricing Changes Discussion
**Sarah [2:14 PM]**
We're seeing pushback on the annual contract requirement. Three prospects this week asked about monthly options.
**Mike [2:18 PM]**
What if we did usage-based pricing instead? Pay per API call. No contract lock-in.
**Jennifer [2:22 PM]**
I like it. Lowers barrier to entry. We can still get recurring revenue.
**Sarah [2:30 PM]**
Agreed. Let's target March 1 launch. I'll draft the new pricing page.
The frontmatter helps Claude understand what the discussion was about. The formatted messages preserve the flow of conversation. The summary line at the top captures the decision.
Organizing Your Slack Archive
Your Obsidian vault needs structure so Claude can find relevant threads fast.
Example structure:
/Slack-Archive/
/Product-Decisions/
2026-01-15-pricing-changes.md
2026-01-08-roadmap-priorities.md
/Technical-Discussions/
2025-12-20-database-migration.md
2026-01-05-api-architecture.md
/Customer-Feedback/
2026-01-12-enterprise-feature-requests.md
2025-12-28-onboarding-friction.md
/Post-Mortems/
2025-11-15-outage-analysis.md
/Team-Processes/
deployment-process.md
code-review-standards.md
Organize by topic, not by channel. A discussion in #engineering might belong in Product-Decisions if it's about what to build. A thread in #general might belong in Customer-Feedback if it's sharing user insights.
Creating Your CLAUDE.md Context File
CLAUDE.md tells Claude what's in your Slack archive and how to use it.
Key sections:
- Channel guide — What each Slack channel is used for
- Archive structure — Where different types of threads are stored
- Team members — Names, roles, areas of expertise
- Decision index — Quick reference of major decisions with file locations
- Search tips — How to query the archive for specific types of information
Example snippet:
## Slack Archive
All Slack discussions archived in `/Slack-Archive/` organized by topic.
### Key Decision Archive
- **Pricing model change** — `/Product-Decisions/2026-01-15-pricing-changes.md` — Moved to usage-based pricing, effective March 1
- **Database migration** — `/Technical-Discussions/2025-12-20-database-migration.md` — Chose Postgres over MySQL, see Mike's performance analysis
- **Enterprise features** — `/Customer-Feedback/2026-01-12-enterprise-feature-requests.md` — Top requests: SSO, audit logs, custom roles
When asked about past decisions, search `/Product-Decisions/` first. For technical context, check `/Technical-Discussions/`. For customer insights, see `/Customer-Feedback/`.
Workflows That Work
Answering "Why Did We Build This?"
Before: You search Slack, scroll through months of messages, try to reconstruct the decision from fragments.
After: You ask Claude "why did we add SSO?" Claude searches `/Product-Decisions/` and `/Customer-Feedback/`, finds the threads, summarizes: "Three enterprise prospects in Q4 required SSO for security compliance. Team decided to prioritize it over custom roles because it was blocking $200K in deals."
Onboarding New Team Members
Before: New hire asks questions. You explain. They ask more questions. You explain again. They ask the same questions two weeks later.
After: New hire asks Claude. Claude reads your Slack archive and explains how the team handles deployments, code reviews, customer escalations. New hire gets context from actual team discussions, not sanitized documentation.
Avoiding Repeated Debates
Before: Someone suggests an idea you already tried and rejected. You can't remember why you rejected it. You debate it again. Waste time.
After: You ask Claude "did we consider this approach before?" Claude searches your archive, finds the original discussion, shows you the reasons you decided against it. Debate avoided.
Writing Project Proposals
Before: You manually dig through Slack to find customer feedback, technical constraints, previous discussions.
After: You tell Claude "draft a proposal for the audit log feature." Claude reads customer feedback threads, checks technical discussions about logging architecture, references past feature proposals for format and tone, generates a complete proposal grounded in actual team context.
Tracking Team Preferences
Before: You forget that Sarah prefers async updates in writing. You schedule a meeting. She asks you to send a doc instead.
After: Your CLAUDE.md includes team working styles pulled from Slack observations. Claude reminds you "Sarah prefers written updates over meetings" when you're planning communication.
Keeping Your Archive Current
Your Slack archive is only useful if it's up to date.
Weekly: Export threads with important decisions or discussions. Add to vault with proper frontmatter. Update decision index in CLAUDE.md.
Monthly: Review your archive structure. Are files in the right folders? Are topics clearly labeled? Is anything missing?
Quarterly: Archive old threads that are no longer relevant. Consolidate related discussions. Update team member information.
The time investment is small. 15 minutes a week to export threads. Your return is never re-explaining context again.
What This Isn't
This isn't a Slack bot. Claude doesn't respond to messages in Slack. You're not integrating with Slack's API or building custom apps.
This isn't real-time sync. Slack messages don't automatically appear in your vault. You export manually when threads reach a conclusion.
This isn't a replacement for Slack. You still communicate in Slack. The vault is for memory, not conversation.
It's a memory layer. Slack handles communication. Claude handles recall. You stop losing institutional knowledge to the scroll.
Turn Slack History Into AI Memory
One markdown file. One afternoon. AI that actually remembers who you are, what you do, and how you work.
Build Your Memory System — $997