Brainforge Slack Assistant — Roadmap

Owner: Uttam Kumaran
Last Updated: 2026-02-24
Status: Draft
Related: brainforge-assistant app · ARCHITECTURE.md · Cloud Agent runbook · GTM Slack Deployment Guide · architecture entries


Executive Summary

The Brainforge Slack Assistant is an internal AI assistant that lives in Slack and serves as the company’s operating intelligence layer. It combines two core capabilities:

  1. Broad knowledge recall — answer questions using the vault, meeting transcripts, Slack history, GitHub, and client docs.
  2. Proactive, ambient behavior — watch what’s happening across channels and surface relevant information, reminders, and action suggestions without being asked.

The assistant is Brainforge internal only — not client-facing. This means it can ship rough, move fast, and improve iteratively. The level of rigor is intentionally lower than client work: if it gets something slightly wrong internally, the feedback loop is tight and the risk is low.

The long-term vision is for Slack to become the single interface where team members interact with AI — not ChatGPT in a browser, not a separate app. If the answer is in the vault, the agent finds it. If a meeting just happened, the agent surfaces the actions. If a thread went quiet, the agent nudges it. If someone is about to book a meeting that should be a Loom, the agent says so.

Reference conversation: 2026-02-11 Brainforge x Vixie Slack Assistant Discussion — Uttam spoke with Samprita H (Vixie, Wixel) about architecture, lessons learned, and what to build next.


Current State

What Exists Today

The brainforge-assistant app is live on Railway with:

CapabilityStatus
/brainforge slash commandLive
@brainforge mention (channel Q&A)Live
GPT-5.2 + Exa web search + citation linksLive
Access request bot (/request-access)Live
Expense request bot (/request-expense)Live
Linear webhook → DM on ticket approval/denialLive
Local test harness (no Slack required)Live
Slack test runner in #ai-test-channelLive

What Is Already in the Knowledge Base

The data infrastructure already exists — it just isn’t wired to the assistant yet:

  • All meeting transcripts (Zoom, Granola) — stored, vectorized
  • Slack message history — in DB
  • Client docs, vault markdown — in GitHub, queryable
  • GitHub code changes — accessible
  • Linear tickets — via API/MCP

Current Gaps

  • No knowledge/knowledge RAG wired into the assistant
  • No approval flow (agent posts direct, no human review step)
  • No reminders (unaddressed threads, @mention nudges)
  • No proactive/ambient behaviors
  • No per-channel or per-team context
  • No feedback loop (thumbs up/down, corrections)
  • No evals

The Vision: How It Evolved

This section captures Uttam’s vision as it developed across meetings from late 2024 through early 2026.

2024-12-06 — “General Purpose Brainforge Agent”

“The next biggest priority to figure out if something that has all of our data in it can do RAG and get either the Slack or the Zoom Meeting that is related to it.”

First articulation of a single general-purpose agent with all company knowledge, capable of surfacing the right Slack thread or Zoom transcript in response to any question. Vision for separate specialist bots per team (e.g., a dedicated sales bot).

2025-01-10 — “Slack Is Where Work Happens”

“Slack is really, I would say, out of all the tools we’re using, Slack is where work happens for us and our company.”

Laid out the three-layer vision from meeting transcripts → Slack:

  • Layer 1: Tailored meeting summary (better than pasting transcript into ChatGPT because the agent knows who the people are, what clients we work with, what services we offer)
  • Layer 2: Actionable insights — “this ticket needs to be created,” “this meeting needs to be booked” — proposed with Yes/No buttons
  • Layer 3: Execute — “go ahead and book that meeting,” “go ahead and create that ticket”

Goal: reduce the 50% drop-off between what gets talked about in meetings and what actually gets done.

2025-01-15 — Actionable Buttons

“Based on the summary, the summary should be like: here’s a couple of tickets. Do you want me to go ahead and create them?”

Emphasized Yes/No approval buttons in Slack for proposed actions. Clarified sequence: create in Slack first, push to Notion/Linear second.

2025-04-29 — Replace ChatGPT Projects with Slack Bots

“I’m using 5 or 6 different ChatGPT Projects right now. I was like, can I build those as Slack bots instead?”

Drive to centralize AI interaction in Slack rather than keeping it scattered across browser tabs. Per-client agents (Javi, Eden, Urban Stem) scoped to their channels.

2025-05-08 — Per-Client Channel Agents

Confirmed per-client Slack agents running: Javi agent, Eden agent, Urban Stem agent — each in their respective internal channels.

2025-06-10 — The Reliability Distinction

“I really don’t want people relying on the Slack agents… then we have to make sure it’s always up, 100% reliable.”

Key product decision: for client-facing work, the agent is behind a human. Internally, rough is fine. Medium ground: agent proactively surfaces suggestions (“I saw this question, here’s what my answer would be”), human decides whether to approve and post.

2025-07-28 — Automation Levels (Self-Driving Analogy)

“Level 0: reusable prompts. Level 1: prompts are shareable in the platform. Level 2: available in Slack. Level 3: agents watch Slack and respond without prompting.”

“Start with an approval channel: the Slack bot says ‘I can respond to this, I think I can respond in this way, here’s what I would say, someone can click yes.’ Over time, anything above a 90% score auto-sends.”

Clearest articulation of the escalating autonomy model. The goal is to get to ambient — agents that act without being invoked — but trust must be earned one confidence tier at a time.

2025-11-03 — Operational Reminders

“Reminding everybody to upload their hours — ideally this can come from a Slack bot that hits everyone up.”

Slack bot for scheduled, operational nudges. Low-hanging fruit that builds habits around the assistant.

2026-01-23 — Vault-Guided Responses and Thread Management

“The big unlock is going to be the fact that the Slack assistant can be guided by what’s in the vault and playbooks.”

“We have a channel where the Slack bot says, ‘hey, I can respond to this message in this way, do you want me to go ahead and do that, yes or no?’”

Confirmed the internal approval channel model. Robert’s ask: unresponded threads (24h+) should trigger the agent to jump in with a draft. Direct DMs also needed.

2026-02-11 — Vixie Conversation (Reference Architecture)

Samprita (Vixie / Wixel) shared how Vixie is built after more than a year of iteration:

  • Router agent hands off to specialist agents based on topic
  • Every Slack conversation is tracked; sentiment/request analysis determines whether a response is warranted
  • If addressed to a specific person, agent sends a DM reminder if they haven’t responded within a set period
  • If it can respond from the knowledge base, it drafts internally first; humans see Approve / Edit / Reject buttons; approved messages post to original channel
  • RAG retrieval over knowledge base
  • Separate test and production workspaces; mimic Slack payloads for local testing
  • Push-button “add to FAQ” from a Slack conversation
  • Eval framework for model and prompt changes
  • Keep code surface small — one developer can maintain it

Roadmap

Phase 1 — Foundation (Immediate)

These are the next things to build. They are scoped so one person can execute them.

#FeatureDescriptionNotes
1Approval FlowWhen the agent has a suggested response, post it in an internal review channel first. Approvers see the original message, the draft response, and buttons: Approve / Edit / Reject. Approved messages post to the originating channel.Start with Uttam as the only approver. Add more people once the pattern is stable. Mirrors Vixie’s model exactly.
2RemindersPer-@-mention “open items” with position-based acknowledgment (reaction or reply at index ≥ mention). LLM eval (gpt-4.1-mini, structured output) gates DMs by confidence (default 0.7). DM goes to the target user with a 1–2 sentence question summary + permalink. Suppression: 7-day per-item cooldown, 3 DMs/user/day cap, presence-aware (skips OOO/away), reaction on the DM = snooze.Optimize for false-positive minimization, not catch-all coverage. Watched channels via REMINDER_CHANNELS; tunables: REMINDER_THRESHOLD_HOURS, REMINDER_CONFIDENCE_THRESHOLD, REMINDER_ITEM_COOLDOWN_DAYS, REMINDER_MAX_DMS_PER_USER_PER_DAY. Set REMINDER_DRY_RUN=true to preview without sending.
3Testing and Dev WorkflowMimic Slack event payloads locally so the full agent pipeline can be tested without posting to a live workspace. Document the test/prod workspace strategy.Already partially done (local harness exists). Gap is end-to-end payload mimicry for new features.

Phase 2 — Knowledge (Next)

#FeatureDescriptionNotes
4Knowledge-Base RAGVectorized vault + transcripts + Slack history wired into the assistant. Two namespaces: knowledge_vault (markdown) and global_search (transcripts, Slack messages, deals).Live. Follow-ups split into 4a (cron the vault index — currently manual only), 4b (split: direct repo grep for knowledge/ + standards/ vs Turbopuffer for transcripts), and 4c (surface source citations in replies). Tracked as PLT-1374, PLT-1375, PLT-1376.
4aDaily knowledge-vault reindexCron scripts/index-vault-to-turbopuffer.mjs so knowledge/ + standards/ stay fresh — global_search already runs daily.PLT-1375.
4bDirect repo + Turbopuffer routingKeyword/path queries → ripgrep over knowledge/ + standards/ for instant precision; semantic queries → Turbopuffer. Transcripts always Turbopuffer.PLT-1376.
4cSource citations in repliesWhen a tool fires, the bot appends a “Sources” footer with hyperlinks (GitHub blob URLs for repo content, source URLs for HubSpot/Exa). Citations array already collected; just unused.PLT-1374.
5Proactive Information and HabitsAmbient monitoring layer that suggests responses, sends nudges, and pre-generates content without being asked.Sub-features below.
5aAmbient Draft SuggestionsClassifier (gpt-4.1-mini) watches public and private channels for answerable questions. Detected → draft posted to review channel with Approve/Edit/Reject buttons.Live. Tuning the classifier accuracy is PLT-1381.
5bDaily Brief as DMEach morning, agent DMs each team member a personalized brief: unresponded threads, open Linear tickets, today’s meetings with transcript pre-reads from vault.Endpoint live; recipient list + cron in PLT-1369. Demi (2026-05-08) flagged this as a daily-pain saver — replaces the manual scrape across Linear / Slack / calendar at the start of each day.
5cPre-Generated Slide DecksOne day before a scheduled client meeting, agent pre-generates a standup deck from vault transcripts, Linear board, and Slack context. Posts draft to review channel for human approval.PLT-1370. Demi (2026-05-08) asked for this auto-deck-before-meeting flow — makes pre-meeting prep ambient instead of a manual collation step.
5dMCP-backed tool layerReplace bespoke HubSpot/Exa/Linear clients with their official MCP servers, gaining richer tool sets and reducing maintenance.PLT-1377 (HubSpot), PLT-1378 (Exa), PLT-1379 (Linear).
5eSchedule meetings via the assistant”Book me 30 min with Sarah next week” → assistant pulls free/busy via the brainforge-google MCP, proposes 3 slots, sends the Google Calendar invite after a confirmation. Identity resolved via Slack handle → email.PLT-1363. Demi (2026-05-08) asked for this — many invites still happen out-of-band today.

Phase 3 — Quality (Later)

#FeatureDescriptionNotes
6Feedback LoopNative thumbs up/down on every assistant response (using Slack’s feedback_buttons block element). Log approvals, edits, and rejections from the approval flow. Feed data back to prompt refinement.Use Slack’s new AI response block components (released 2025).
7Evals and Message ClassificationBuild an eval set of easy / medium / hard questions. Use BrainTrust or Langfuse for scoring. Run evals on prompt changes and model upgrades. Classify Slack messages to understand what the team actually asks about most.Uttam: “I have a laundry list of the easy, medium, hard questions I want AI to answer.” Samprita also building this at Vixie.
8Multi-Agent / RouterRouter agent determines topic and hands off to specialist agents: client agent, ops agent, GTM agent, engineering agent. Specialist agents have scoped context and prompts.Vixie pattern. Only worthwhile once we have enough volume to justify separate specialists.

Phase map

flowchart LR
    subgraph Phase1 [Phase 1: Foundation]
        A[Approval Flow]
        B[Reminders]
        C[Testing Workflow]
    end
    subgraph Phase2 [Phase 2: Knowledge]
        D[Knowledge RAG]
        E[Proactive Habits]
    end
    subgraph Phase3 [Phase 3: Quality]
        F[Feedback Loop]
        G[Evals]
        H[Multi-Agent Router]
    end
    Phase1 --> Phase2 --> Phase3

Stretch and Crazy Ideas

Grounded in Slack SDK capabilities (Bolt 4.x) and the direction AI is heading (ambient agents, proactive assistance). These are not on the current roadmap but are worth keeping visible.

IdeaWhat it doesEnabler
Streaming responsesResponses stream word-by-word like ChatGPT instead of a single post after a delaychat.startStream / appendStream / stopStream (Slack 2025 API)
Feedback buttons on every responseThumbs up/down, regenerate, copy — native Block Kit components baked into every AI replyfeedback_buttons, icon_button, context_actions block elements
Ambient overhearingAgent passively monitors channels and surfaces: “This thread has been quiet 48h with an open question — want me to draft a follow-up?”Events API + proactive chat.postMessage; ambient agent research 2025
Canvas as live knowledge artifactAfter a client call, agent auto-creates or updates a Canvas with: summary, decisions, action items, linked Linear ticketsCanvas API + document_content markdown
Proactive daily briefAgent DMs each person a personalized morning brief: unresponded threads, today’s meetings with transcript pre-reads, open Linear ticketsScheduled cron + RAG over transcripts and Slack
Meeting conciergeBefore a meeting: “Meeting in 30 min — here’s last discussion, open action items, suggested agenda.” After: “Here’s the summary. Create these tickets?”Calendar integration + workflow trigger
Context-aware side panelWhile in any thread, a side panel surfaces related Linear tickets, past Slack conversations, and vault docs — without askingSlack App Home surface; Agentforce-style context injection
Sentiment and velocity monitoringAgent tracks response latency and tone per client channel: “ABC hasn’t heard from us in 5 days” or “Tone in this thread is getting tense”Events API + LLM classification per thread
Agent-as-copilot in draftsWhile composing a message, agent suggests: “Similar question was answered here [link]“Message shortcut trigger (available today); composition events if Slack exposes them
Live thread summarizationAs a thread grows, agent maintains a summary block at the top: “3 action items, 2 open questions, 1 blocker”message events + periodic edit of a pinned reply
Proactive conflict detection”Two people committed to different approaches in engineering — you might want to sync”Cross-thread analysis; ambient proactive pattern
Workflow Builder as agent triggerNon-technical team members add “when X happens, ask Brainforge agent” in Workflow Builder — agent becomes a low-code building blockCustom Workflow Steps (Bolt function manifest)
Recursive self-improvementAgent tracks which suggestions get approved vs edited vs rejected per question type, routes to different prompts automaticallyApproval flow logging + eval-based prompt routing

Out of Scope

  • Client-facing use — The assistant is internal. Clients interact with Brainforge people, not this bot.
  • Replacing the GTM vault agentSLACK_DEPLOYMENT_GUIDE is a separate, GTM-scoped tool for ICP/qualification questions. It stays separate.
  • Full production reliability guarantees — Internal tool; can be rough. If it’s wrong, the feedback loop is tight.
  • Multi-agent architecture in Phase 1 — Build one coherent assistant first, split into specialists only when there’s enough volume to justify it.

PRD Mapping

Each Phase 1 and Phase 2 piece will get its own PRD using the PRD template. The structure is:

  • This roadmap = high-level phases, piece list, and rationale
  • PRD = detailed requirements for a single piece (user stories, functional requirements, technical approach, success metrics)

Suggested first PRDs to write (in order):

  1. Approval Flow PRD
  2. Reminders PRD
  3. Knowledge-Base RAG PRD

Vixie Reference

Vixie (Wixel) has been running for over a year. Key architectural lessons from Samprita:

  • Keep code surface small — the goal is for one developer to maintain it
  • Start with LangChain, then migrate to a simpler framework (they moved to OpenAI’s agent framework)
  • Router + specialist agents is the proven pattern at scale; don’t start there
  • Every Slack conversation gets classified: is this a request? Is it addressed to someone specific?
  • Approval flow is essential before going ambient — build trust first
  • Two separate workspaces (test and prod) prevents polluting the real workspace during development
  • Mimic Slack payloads locally — capture the exact JSON and replay it
  • Maintaining the knowledge base is the hardest ongoing problem; use AI to lower the cost of adding to it (push-button FAQ creation)
  • Build the eval framework early — changing models without evals is painful

DocumentLocationPurpose
App source codeapps/slack-apps/brainforge-assistant/Current implementation
App README / deployment guideapps/slack-apps/brainforge-assistant/README.mdHow to run, test, deploy
GTM Slack Deployment Guideknowledge/sales/agents/SLACK_DEPLOYMENT_GUIDE.mdSeparate GTM-scoped vault agent
PRD templatestandards/02-writing/PRDs/prd-template.mdTemplate for feature PRDs
Vixie conversation transcriptknowledge/clients/unassigned/transcripts/2026-02-11_...Architecture reference