The Problem
Every team loses knowledge the same way. A decision gets made in a Slack thread on a Tuesday afternoon. Nobody writes it down. Three months later, a new hire asks why the system is built a certain way — and the one person who knows is on leave, or has left the company entirely. The answer existed. It just lived in a thread nobody can find anymore.
Slack is where work happens, but it's a terrible long-term memory. Its native search finds messages, not answers. It can't reach into the Google Doc the conversation was actually about, or the GitHub issue that started the whole discussion. And it has no concept of a decision — a concluded, owned, documented choice that the whole team should be able to reference later.
What We Built
Synapse is a Slack agent that builds and maintains a living, cited institutional memory for your workspace. It does three things:
Answer questions with citations. Mention @Synapse or DM it any question. It searches your indexed workspace history, connected tools, and the web — and replies with a direct answer plus links back to the exact source it used. Not a summary. Not a guess. A cited answer, every time. If it doesn't know, it says so.
Automatically capture decisions. Synapse listens to your channels. When a message describes a concluded decision — an owner, a direction, a resolved debate — it automatically posts a structured Decision Card to your #decisions channel. Who decided what, the summary, and Confirm/Dispute buttons for the team to validate. Nobody has to remember to write a recap. The institutional memory builds itself.
Search across everything. Synapse doesn't just search Slack. It combines your local knowledge base (RAG pipeline with OpenAI embeddings), Slack's Real-Time Search API for live workspace history, GitHub for code and documentation, and Brave Search for web fallback — all in one cited answer. Every source is tagged by origin so you always know where an answer came from.
How We Built It
We built Synapse as a two-person team: one AI/ML and backend engineer, one frontend engineer.
The backend is a Python Bolt app running in Socket Mode, backed by a RAG pipeline using OpenAI embeddings and a local vector store. The orchestrator decides whether to answer from indexed docs, fall back to Slack's Real-Time Search API, supplement with GitHub MCP integration, or use Brave Search for web content — all with citation filtering that ensures only cited sources appear in the response.
The frontend is entirely Slack-native: Block Kit views for the cited answer message, Decision Cards with Confirm/Dispute actions, an App Home dashboard, and an Ask Synapse modal. No separate website required — everything lives where your team already works.
We also built a companion /internal/answer REST API so the product can be accessed from outside Slack, deployed alongside the bot on Render.
Technologies Used
- Slack AI capabilities — native orchestration and workspace-aware responses
- MCP server integration — GitHub MCP client for cross-source code and documentation search
- Real-Time Search API — live Slack workspace history as a cited source
- OpenAI — embeddings (RAG), chat completions (answer synthesis, decision classification)
- Brave Search — web fallback when internal sources don't have a confident answer
- Slack Bolt (Python) — Socket Mode bot with full Block Kit UI
What's Next
Synapse is designed to grow with a team. Next steps include connecting more MCP sources (Google Drive, Notion, Confluence), adding a daily digest using Slack AI's native summarization, building admin controls for channel selection and indexing frequency, and surfacing analytics on the most common unanswered questions — so teams can identify and close knowledge gaps proactively.
The core insight driving everything: institutional memory shouldn't require anyone to remember to document things. It should happen automatically, inside the tools teams already use, with every claim traceable back to its source.
Log in or sign up for Devpost to join the conversation.