Back to Blog
Published:
Last Updated:
Recently Updated
Enterprise GraphRAG & Knowledge SystemsChapter 2

Organizational Memory: RAG Across Slack, Confluence, and Loom

9 min read
1,700 words
medium priority
Mudassir Marwat

Mudassir Marwat

Founder & CEO, Cognilium AI

Organizational Memory: RAG Across Slack, Confluence, and Loom — Cognilium AI

TL;DR

A single retrieval surface over Slack, Confluence, Loom, and meeting transcripts — with cross-source ranking and source attribution that survives ingestion.

A useful enterprise knowledge assistant has to answer questions like "what did we decide about pricing in last week's meeting?" The answer is rarely in one place. It might be a meeting transcript on Loom, a follow-up Slack thread, and a Confluence page someone updated three days later. A separate connector per source returns three result lists; the user mentally merges them. One retrieval surface with cross-source ranking does the merging at the right layer.

Heterogeneous chunking, homogeneous retrieval

Each source gets its own chunking strategy. Slack: thread-as-chunk (a 30-message thread is one retrievable unit). Confluence: heading-aware split with parent context preserved. Meeting transcripts (Zoom/Teams/Meet/Loom): speaker-aware chunking on speaker change + 90-second sliding window. Each chunk lands in the same vector store with normalized metadata: source, source_id, source_url, created_at, updated_at, author, source_authority_score, recency_decay_anchor.

Cross-source ranking is the hard part

Naively ranking across sources by cosine similarity destroys quality. A Slack message and a Confluence heading match the query similarly but should not rank similarly. Three layers handle this:

  • Per-source authority score: Confluence 1.0, Meeting transcript 0.85, Loom 0.75, Slack 0.55. Multiplied with the cosine score before fusion.
  • Per-source recency decay: Slack ages out fast (half-life 30 days), Confluence slow (180 days), transcripts never decay.
  • Reranker sees source as a feature: trained on click-through pairs from real queries — Slack with a high vote count beats stale Confluence in practice.

Source attribution that survives fan-out

Every chunk carries enough metadata to deep-link back to the source. Slack: workspace + channel + thread_ts so the answer links into the thread, not the channel. Loom: video URL + start timestamp so loom.com/share/abc?t=42m13s lands at the cited moment. Confluence: page version (so deletion-edits do not invalidate the link).

The LLM is prompted to cite inline — "according to the Confluence doc on pricing strategy (updated 2024-01-15)…" — so freshness shows up in the answer text, not just the search ranking. Users learn to trust answers that cite recent transcripts more than ones citing year-old docs.

Numbers from production

  • 4 source connectors: Zoom + Teams + Slack + Confluence + Loom + Drive + SharePoint
  • Sub-3-second response time on a 50,000-chunk corpus
  • 95% knowledge accuracy on internal eval set (verified citations match the cited source)
  • 70-85% of common support tickets answered from organizational memory before reaching a human

Where this gets hard

Permissions. A Confluence space is private to a department; a Slack channel is private to a team; a Loom is private to its owner. The vector store has to honor those permissions at query time, not just at ingestion. We attach an ACL list to every chunk and filter on user.groups at query time. Re-permission events (a channel made public) are processed via webhook into a re-attach job — re-embedding is unnecessary, only the ACL changes.

Share this article

Enterprise GraphRAG & Knowledge Systems

Topic Cluster

The work behind this series

How we design the graph schema, the retrieval path and the evaluation harness behind these articles.

Mudassir Marwat

Mudassir Marwat

Founder & CEO, Cognilium AI

Mudassir Marwat's argument is that ERP systems record decisions they never optimise.

Founder & CEO of Cognilium AI; 37 AI agents in production across four products; 4 production AI products built and operated; three clouds in production (AWSGCPAzure)
Agentic AIRAG → GraphRAG retrievalVoice AIMulti-Agent Orchestration

Frequently Asked Questions

Find answers to common questions about the topics covered in this article.

Users ask questions that span sources — "what did we decide about X?" needs Slack thread + Confluence doc + meeting transcript merged. Per-source connectors return a list of lists; the user has to mentally merge. One surface with cross-source ranking removes that.
It would, with naive ranking. The fix is per-source recency decay (Slack ages out at 30 days, Confluence at 6 months, meeting transcripts never), per-source authority scores (Confluence > Loom > Slack), and a reranker that sees the source type as a feature.
Each thread is one chunk, not each message. A 30-message thread is one retrievable unit with the OP message as the chunk title. The thread-as-unit boundary preserves context that per-message chunking destroys.
Speaker-aware chunking: split on speaker change + 90s windows. Each chunk has speaker metadata + start/end timestamps. The retrieval result links back to loom.com/share/abc?t=42m13s so the user lands at the exact moment.
Two layers. Per-source recency decay reduces the score of old chunks. The LLM is prompted to surface the document date when citing — "according to the Confluence doc updated 2024-01-15…" — so users see freshness in the answer, not just the retrieval ranking.

Still have questions?

Get in touch with our team for personalized assistance.

Contact Us

Still have a question this did not answer?

The person who wrote this article answers these. Describe your setup and what you are stuck on — you will get a straight answer, including where we think the approach is wrong.

Related Articles

Continue exploring related topics and insights from our content library.

The 8-Stage Document Intelligence Pipeline
11 min
1
Mudassir Marwat
May 5, 2026

The 8-Stage Document Intelligence Pipeline

Parse, classify, evidence-map, extract, validate, score, graph, link. The eight-stage pipeline for legal/financial document AI.

words
Read Article
Anti-Hallucination via Runtime Grounding Against a Domain Vocabulary
6 min
2
Mudassir Marwat
May 5, 2026

Anti-Hallucination via Runtime Grounding Against a Domain Vocabulary

A startup-loaded domain vocabulary the generator must match against, plus framework rules baked into every prompt — a low-cost pattern that catches hallucinated terminology before the user sees it.

words
Read Article
Zero-Trust Multi-Tenant Firestore: Middleware, Claims, and 60+ Wildcard Permissions
9 min
3
Mudassir Marwat
May 5, 2026

Zero-Trust Multi-Tenant Firestore: Middleware, Claims, and 60+ Wildcard Permissions

Hard tenant isolation on Firestore: middleware, immutable claims, wildcard permissions. The architecture that makes leakage structurally impossible.

words
Read Article

Explore More Insights

Discover more expert articles on AI, engineering, and technology trends.

Personalized for You

Curated content recommendations based on your current reading and interests.

Hybrid Retrieval With Prefetch-Time Metadata Filtering — Cognilium AI
Trending
119%

Hybrid Retrieval With Prefetch-Time Metadata Filtering

Same topic cluster: Enterprise GraphRAG & Knowledge Systems
Same author: Mudassir Marwat

Why filtering after RRF fusion loses the right chunks, and how a "drop trait → mode → grade" progressive relaxation ladder keeps narrow queries answerable without dropping retrieval quality.

Mudassir Marwat
8 min read
Enterprise GraphRAG & Knowledge Systems
Read Article
Trending
32%

Why do received goods sit uninvoiced, and what can an agent actually do about it?

High priority content
Similar reading time

Dynamics 365 already matches product receipts to invoices hourly or daily. The balance that will not clear is the residue the automation cannot resolve.

Ali Ahmed
7 min read
Procure-to-Pay Agent Operations
Read Article
Architecture diagram showing the retrieval ceiling between plain vector RAG and GraphRAG hybrid retrieval pipelines.
Trending
119%

RAG vs GraphRAG: When the Vector Database Stops Being Enough

Same topic cluster: Enterprise GraphRAG & Knowledge Systems
Same author: Mudassir Marwat

Plain vector RAG hits a ceiling around 100K documents. This is where graph-augmented retrieval becomes the right tool — and how to know if you need it.

Mudassir Marwat
12 min read
Enterprise GraphRAG & Knowledge Systems
Read Article
You cannot retrieve your way out of a bad graph. In a GraphRAG system, answer quality is decided at construction, not retrieval, because the graph is built once and queried forever. Where quality is won, in four points: schema first, with typed nodes and typed edges; extraction as a pipeline of eight stages, not one prompt; entity resolution at write time, so one entity becomes one node; and provenance on every edge, so every claim is one you can check. Build it like it matters.
Trending
109%

You Cannot Retrieve Your Way Out of a Bad Graph

Same topic cluster: Enterprise GraphRAG & Knowledge Systems
Same author: Mudassir Marwat

A team comes to us with a GraphRAG system that gives wrong answers, and they have spent three weeks on retrieval. It will not help. The retrieval is fine. The graph it is retrieving over was built by a loose extraction prompt that produced three copies of every company and edges nobody typed. In GraphRAG, answer quality is decided at construction, not retrieval, because a graph is a stateful artifact where one wrong edge corrupts every query that traverses it, and multi-hop traversal compounds the error. Design the schema before you extract, run extraction as a staged pipeline rather than one prompt, resolve entities at write time so one entity is one node, make provenance first-class so every claim traces to a source span, and validate at insertion so bad data never lands. Test it with a real three-hop query: build the graph right and multi-hop just works, build it wrong and no retriever recovers it. You cannot retrieve your way out of a bad graph.

Mudassir Marwat
16 min read
Enterprise GraphRAG & Knowledge Systems
Read Article
Anti-Hallucination via Runtime Grounding Against a Domain Vocabulary — Cognilium AI
For You
106%

Anti-Hallucination via Runtime Grounding Against a Domain Vocabulary

Same topic cluster: Enterprise GraphRAG & Knowledge Systems
Same author: Mudassir Marwat

A startup-loaded domain vocabulary the generator must match against, plus framework rules baked into every prompt — a low-cost pattern that catches hallucinated terminology before the user sees it.

Mudassir Marwat
6 min read
Enterprise GraphRAG & Knowledge Systems
Read Article
A spiral staircase seen from directly above
For You
82%

What is agentic RAG, and when is the extra loop worth it?

Same topic cluster: Enterprise GraphRAG & Knowledge Systems
Matches your interests

Classic RAG retrieves once and answers. Agentic RAG lets the model decide whether to retrieve, what to ask for, and when to stop. Here is what that costs.

Ali Ahmed
6 min read
Enterprise GraphRAG & Knowledge Systems
Read Article

Smart Recommendations

Our AI analyzes topic clusters, author expertise, and content relationships to surface the most relevant articles for you.

Topic Matching
Author Expertise
Content Quality
Personal Interests

Questions on this?

Talk to an engineer

Schedule a call