Integrations

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

Once connected, your Slack conversations enrich AI interactions across ContextStream. Here's how it adds value:

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.

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.

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.

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 prompts in your AI editor to see Slack integration in action:

>"What did the team discuss about the deployment last week?"
>"Find Slack conversations about database migrations"
>"What decisions were made in #engineering this month?"
>"Show me the most active discussions in #product"
>"What lessons did we learn from the outage?"
>"Search Slack for 'bug' from the last 3 days"
>"Summarize Slack activity in #engineering for the past week"

Overview

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

1. Connect Your Slack Workspace

  1. 1Go to your ContextStream workspace settings and navigate to Integrations.
  2. 2Click Connect on the Slack card to start the OAuth flow.
  3. 3Authorize ContextStream to access your Slack workspace. You'll need workspace admin permissions.
  4. 4Once connected, the Slack card will show "Connected" status.

2. Select Channels to Sync

  1. 1Click Configure on the connected Slack integration.
  2. 2Browse available channels from your Slack workspace.
  3. 3Select the channels you want to sync. Important: The ContextStream bot must be invited to private channels to access them.
  4. 4Optionally, link channels to specific ContextStream projects for organized context retrieval.

3. Initial Sync & Backfill

After 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.

Click Sync Now at any time to trigger an immediate sync of all configured channels.

What Gets Synced

Content TypeDetailsMetadata Captured
MessagesAll messages from configured channelsAuthor, timestamp, channel, thread info
ThreadsFull thread conversations with all repliesReply count, participants, parent message
ReactionsEmoji reactions (aggregated count)Total reaction count for engagement scoring
File SharesFile share events and metadataFile name, type, sharing user
User ProfilesSlack user info for attributionDisplay name, avatar, email (for mapping)

Smart Distillation

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)

Access Slack data through the consolidated integration tool available in Claude Code, Cursor, Windsurf, 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-Source

Search 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-Source

Get 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-Source

Get 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.

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

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

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

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 Usersto 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 Nowto force an immediate sync, then search again.

Next Steps

Once connected, Slack messages become Memory Events (source: slack) and are available to your AI tools via MCP.

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.