Slack integration
Slack integration.
Connect Slack to sync selected channels and threads into your ContextStream workspace as searchable memory events.
Per-workspace integration
The Slack integration is configured per workspace. Each ContextStream workspace can connect to a different Slack workspace or use different channel configurations. This allows teams to keep their contexts separate while sharing the same ContextStream organization.
What you get
Conversations as memory.
Once connected, your Slack conversations enrich AI interactions across ContextStream. Here's how it adds value:
01
Automatic Context Enrichment
When you call context_smart or session_smart_search, relevant Slack discussions and decisions are automatically included in AI responses. No extra tools needed — your existing prompts become smarter.
Example: Ask "What did the team discuss about the API redesign?" and get relevant threads surfaced without calling any Slack-specific tool.
02
Extracted Knowledge
ContextStream automatically distills decisions, lessons, and insights from high-engagement Slack threads. These become searchable memory that persists across sessions.
Example: Use integration(provider="slack", action="knowledge") to see "We agreed to deprecate the v1 API" extracted from #engineering discussions.
03
High-Signal Discussions
Important conversations are automatically identified based on reactions, replies, and participant count.
Example: Use integration(provider="slack", action="discussions") to find the most engaged threads.
04
Unified Memory
Slack messages become memory events alongside your manual captures. Use memory_search or session_recall to find Slack context mixed with your other decisions and notes.
Example: "What do we know about deployment process?" returns your captured decisions AND relevant Slack discussions.
Example prompts
Try these in your AI editor.
Try these prompts in your AI editor to see Slack integration in action:
Overview
Team conversations, searchable.
The Slack integration brings your team conversations into ContextStream, making them searchable and available as context for your AI tools. Messages, threads, and reactions are synced as memory events that can be retrieved via MCP tools or the search API.
Real-time sync
Messages are captured via webhooks as they happen, with periodic syncs to catch missed updates.
Semantic search
Find conversations by meaning, not just keywords. Search across all synced channels instantly.
Smart distillation
High-engagement threads are scored and prioritized based on reactions and replies.
Setup guide
Three steps to connect.
01
Connect your Slack workspace
- 01Go to your ContextStream workspace settings and navigate to Integrations.
- 02Click Connect on the Slack card to start the OAuth flow.
- 03Authorize ContextStream to access your Slack workspace. You'll need workspace admin permissions.
- 04Once connected, the Slack card will show "Connected" status.
02
Select channels to sync
- 01Click Configure on the connected Slack integration.
- 02Browse available channels from your Slack workspace.
- 03Select the channels you want to sync. Important: the ContextStream bot must be invited to private channels to access them.
- 04Optionally, link channels to specific ContextStream projects for organized context retrieval.
03
Initial sync & backfill
- 01After selecting channels, ContextStream will perform an initial sync to import recent messages. You can configure the backfill period (default: 30 days) in the integration settings.
- 02Click Sync Now at any time to trigger an immediate sync of all configured channels.
What gets synced
Synced content types.
| Content type | Details | Metadata captured |
|---|---|---|
| Messages | All messages from configured channels | Author, timestamp, channel, thread info |
| Threads | Full thread conversations with all replies | Reply count, participants, parent message |
| Reactions | Emoji reactions (aggregated count) | Total reaction count for engagement scoring |
| File Shares | File share events and metadata | File name, type, sharing user |
| User Profiles | Slack user info for attribution | Display name, avatar, email (for mapping) |
Smart distillation
High-signal first.
Not all Slack messages are equally important. ContextStream uses engagement signals to score and prioritize content, making high-value discussions easier to find.
Scoring factors
- +Reactions: Messages with more reactions score higher
- +Replies: Threads with many replies indicate important discussions
- +Unique Participants: More people joining a thread = higher signal
- +Mentions: @channel, @here, and user mentions boost relevance
High-scoring threads are surfaced in the Key Discussions section of the Slack dashboard and prioritized in search results.
MCP tools (v0.4.x)
Query Slack through MCP.
Access Slack data through the consolidated integration tool available in Claude Code, Cursor, and other MCP-compatible editors.
Use integration(provider="slack", action="...") for Slack-specific queries.
integration(provider="slack", action="stats")Get overview statistics: total messages, threads, active users, channel stats, and sync status.
integration(provider="slack", action="channels")List synced channels with message counts, thread counts, and last activity timestamps.
integration(provider="slack", action="search", query="...")Search Slack messages by content. Filter by channel and timeframe (days param). Sort by relevance, recent, or engagement.
integration(provider="slack", action="discussions")Get high-engagement threads sorted by reactions and reply counts. Filter by channel and timeframe (days param).
integration(provider="slack", action="contributors")Get top contributors by message count with user profiles.
integration(provider="slack", action="activity")Get recent activity feed, optionally filtered by channel and timeframe (days param).
integration(provider="slack", action="knowledge")Get decisions, lessons, and insights automatically extracted from Slack conversations. Filter by knowledge type (decision, lesson, fact, insight).
integration(provider="slack", action="summary")Get a high-level summary of Slack activity with trends, top discussions, and extracted knowledge. Customize timeframe with the days param.
integration(provider="all", action="search", query="...")Cross-sourceSearch across Slack and GitHub in a single query. Results ranked by relevance across sources. Sort by relevance, recent, or engagement.
integration(provider="all", action="summary")Cross-sourceGet a unified summary across Slack and GitHub with combined activity stats, highlights, and key topics. Great for understanding overall team activity.
integration(provider="all", action="knowledge")Cross-sourceGet decisions, lessons, facts, and insights from all connected integrations in a single query. Filter by knowledge type (decision, lesson, fact, insight) and optionally search by query.
Dashboard
Slack dashboard.
Access detailed analytics and insights from the Slack dashboard in your workspace settings.
Overview stats
Total messages, threads, active users, and channels synced at a glance.
Activity chart
Visualize message and thread activity over time to spot trends.
Top contributors
See who's most active with message counts and user profiles.
Key discussions
High-engagement threads automatically surfaced for easy access.
Security & privacy
Built-in safeguards.
OAuth 2.0 authentication
ContextStream uses Slack's official OAuth v2 flow. Your credentials are never stored — only encrypted access tokens.
Minimal scopes
We request only read-only scopes needed for syncing: channels:read, channels:history, users:read. No write access is requested.
Explicit channel selection
You choose exactly which channels to sync. No channels are synced by default. Private channels require explicit bot invitation.
Revoke anytime
Disconnect the integration at any time from your workspace settings. This revokes access and stops all syncing.
Sync behavior
How sync works.
Real-time webhooks
New messages are captured via Slack webhooks as they're posted. This provides near-instant sync for new content.
Periodic polling
A background sync runs every 10 minutes to catch any missed events and update reaction counts.
Manual sync
Click Sync Now in the integration settings to trigger an immediate full sync of all configured channels.
Backfill period
Initial sync imports messages from the past 30 days by default. This can be adjusted in advanced settings.
Troubleshooting
Common issues.
Messages aren't syncing from a private channel
The ContextStream bot needs to be invited to private channels. In Slack, go to the channel and type /invite @ContextStream to add the bot.
Integration shows "Error" status
This usually means the OAuth token has expired or been revoked. Try disconnecting and reconnecting the integration. If the issue persists, check that the Slack app hasn't been removed from your Slack workspace.
User names showing as IDs
Click the Dashboard button on the Slack card, then use Sync Users to fetch the latest user profiles from Slack. User mapping happens automatically by email when possible.
Search not finding recent messages
New messages may take a few minutes to be indexed and searchable. Try clicking Sync Now to force an immediate sync, then search again.
Next steps
Keep going.
Once connected, Slack messages become Memory Events (source: slack) and are available to your AI tools via MCP.
Back to integrations overview or see GitHub integration.
Slack is a trademark of Slack Technologies, LLC, a Salesforce company. ContextStream is not affiliated with, endorsed by, or sponsored by Slack Technologies, LLC or Salesforce, Inc.