Praana

The intelligence and context needed for your organization.

Praana turns Slack, docs, tickets, meetings, and code into actionable knowledge — for people, organizations, and the AI agents working alongside them.

Trusted by teams at
Built by engineers from
Apple
LinkedIn
Amazon
PayPal

Turn your organization's scattered knowledge into living memory.

Interfaces &
Agents

Coding agents

Claude Code, Cursor, Codex

Team channels

Slack and Teams answers

Manager rituals

weekly pulse, risks, decisions

Custom workflows

REST, GraphQL, webhooks

Organizational
Brain

Context + intelligence layer

OntologyKnowledge graphOrg memorySelf-improving loop
Organizational
Scattered
Knowledge

Conversations

Slack, meetings, decisions

Delivery work

PRs, tickets, reviews

Team knowledge

RFCs, ADRs, runbooks

Customer + incidents

asks, escalations, pages

01 Ingest

Read work where it happens.

Threads, PRs, RFCs, tickets, meetings, incidents, and customer notes enter through existing permissions.

02 Graph

Build typed organizational memory.

Services, owners, decisions, customers, incidents, commitments, and source links become one permission-aware graph.

03 Intelligence

Reason over the graph.

Praana detects drift, resolves conflicts, ranks evidence, senses risk, and turns context into useful next steps.

04 Activate

Serve context everywhere.

MCP, Slack, Teams, manager rituals, leadership briefings, and custom apps draw from the same layer.

Coding agents with context

Coding agents only know what's in the repo.
The history, decisions, and incidents live elsewhere.

Decisions live in Slack threads. Customer asks live in Salesforce comments. Incident scars live in retros. Architecture context lives in someone's head. Most of what your team knows lives between the tools, never in any one of them.

Praana turns that scattered work into cited organization memory, then surfaces it to everyone, wherever they work.

Claude Code v2.1.126
Opus 4.7 (1M context) with max effort · Claude Max
~/Documents/workspace/auth-svc
add session-token caching to the auth middleware
I'll check Praana for org history on session-token caching before making changes — this is a non-trivial auth change.
praana.history — check_org_history
Calling MCP server 1 prior incident · 1.8s

Praana found a high-confidence prior incident: PR #4351 attempted this exact change in May 2024 and was reverted within 48 hours…

Auth caching

PR #4351 attempted exactly this on 2024-05-14 and was reverted within 48 hours (~840 stale-session incidents across 3 enterprise customers — in-process cache keyed only on user_id served stale tokens after rotation). Team has converged on a different approach in #design-auth on 2026-04-27 — consensus reached, not yet implemented. How do you want to proceed?

1. Implement
#design-auth 2026-04-27 approach
(Recommended)
2. Read the discussion /
postmortem first
3. Re-do PR #4351 anyway
4. Different scope / clarify

Move session-token validation to a request-scoped memo with Redis hot-path.

  • − Request-scoped memo lives for one request only (no cross-request staleness)
  • − Slow path: Redis lookup, 30s TTL keyed on user_id+device+ip_hash
  • − Sidesteps the rotation-staleness class entirely
  • − Owners: @maya.sharma + @platform-leads
Source: #design-auth · slack thread
select ↑↓ navigate esc dismiss
esc to interrupt
WHO IT'S FOR

Different role. Same shared context.

Engineers ask in their IDE. Managers ask in Slack. Leaders ask in their browser. Coding agents ask over MCP. One context layer answers all of them. Pick a role; click any feature for the spotlight.

Engineers

In-flow context, by default.

Praana reads the work sources you connect — Slack threads, PRs, RFCs, and incidents — before you have to. Ask in your IDE, terminal, or channel, and your coding agents read the same memory over MCP.

Learn more
4 features swipe
More about engineers

MCP native

Wired into Claude Code, Cursor, Codex, your CLI, and your CI through the same context layer. The point is not another chatbot; it is cited context where agents already work.

Claude Code v2.1.126
Opus 4.7 · via Praana MCP
~/billing-svc
refactor billing to remove webhook-gateway
Checking Praana for org history before touching webhook-gateway
praana.history — check_org_history
Calling MCP server ADR-017 · INC-1129 · 1.6s

Stop. ADR-017 replaced webhook-gateway with Caldera in Apr 2026 to fix INC-1129. Removing it now re-introduces the same failure mode.

Use caldera-client from PR #1102 instead. Want me to adapt the refactor?

Sources: ADR-017 · INC-1129 · PR #1102 via MCP
esc to interrupt

Scale without becoming the knowledge bottleneck

That decision was made twice last quarter. Praana surfaces both — threaded, with the RFC and the customer asks — the moment the question is asked again. You edit, you don't author from scratch.

Slack
#eng-billing
CITED
You
@Praana what was the approved rollback path for pricing again?
Praana
Use pricing.tier_v2. Don’t roll back through env vars; flag-only per ADR-082. (Asked twice last quarter.)
Cited · 3 sources
  • ADR-082 migration + cache invalidation
  • INC-1147 rollback drill
  • #pricing-launch decision thread
+ Message #eng-billing send

PR reviews with organizational knowledge

Praana flags PRs that contradict a prior ADR or RFC while review is still cheap. The "we already decided this" loop gets surfaced with the receipt attached.

GitHub #921
refactor: inline webhook-gateway calls #921
Open daisy wants to merge into main from refactor/inline-webhook
Conversation 2 Files changed 3 Checks 1
P
praana-bot App commented just now
Drift detected — contradicts ADR-017
Caldera replaced webhook-gateway in Apr 2026 after INC-1129. Removing it re-introduces the same failure mode.
Sources: ADR-017 · INC-1129 · PR #1102 via Praana

Your IDE, with organizational knowledge Coming Soon

Prior decisions, ADRs, and incidents surface inline as you write the code that touches them. No tab-switching. No Slack archaeology.

praana-billing — handler.py
handler.py × schema.py
SRC
handler.py
schema.py
client.py
42def handle_billing_event(payload):
43 # dispatch to Caldera retry queue
44 caldera.dispatch(payload)
45 log.info("dispatched")
46
Praana · caldera.dispatch
From ADR-017 (Apr 2026) · replaced webhook-gateway after INC-1129
4 customer asks tied to billing reliability · open ADR
main · Python 3.12 Praana
Managers

Current context — without becoming a parent.

Praana reads the PRs, threads, standups, and on-call signals you connect. Status meetings shrink. 1:1s become coaching. Team-level capacity is one glance — never individual surveillance.

Learn more
4 features swipe
More about managers

Be in the loop all the time — don't wait for stand-ups

Praana reads what shipped, what slipped, and where the contention is — across PRs, threads, and standups, as it happens. Read it Monday morning instead of running the meeting Monday afternoon.

Slack
#eng-leadership
MON 8 AM · AUTO
Praana PROACTIVE
Engineering team, week of Apr 22 · stitched from 23 events.
🏆 Shipped this week
  • Stripe Billing — PR #847 merged; 8 customer asks closed [open]
  • Webhook delivery fix — INC-1129 resolved on-call [open]
  • Dashboard v2 — PR #851 landed with support notes [open]
  • OAuth grants — PR #856 shipped behind flag [open]
🔄 In progress
  • Caldera retry semantics — RFC-039 review with platform Monday [open]
  • Customer onboarding — growth workstream is a sprint behind [open]
  • Capacity planning — infra owner tagged; no decision yet [open]
Needs manager attention
  • Design review on flow X — blocked 5 days; needs a decision before Friday [open]
7 sources stitched · #eng-billing · #eng-platform · GitHub · Linear
+ Message #eng-leadership send

Decisions don't queue on you anymore

You're not the routing table. Praana surfaces the correct prior decision (and which team made it) so unblocking happens without going through your DMs. 1:1s shift from status to growth.

Slack
#Sasank
ANSWERED
You
Quick Q: what’s the approved rollback path for pricing? Need to land PR #921 today.
Praana
Replied to Sasank: use pricing.tier_v2, no env-var rollback per ADR-082. Your DM stayed quiet.
📌 Cited answer
  • ADR-082 — rollback must stay on pricing.tier_v2 [open]
  • INC-1147 — rollback drill failed when env vars bypassed cache invalidation [open]
  • #pricing-launch — team decision thread repeated the same path [open]
🎯 Manager move
  • No routing needed. Sasank gets the answer and source trail without waiting on your DM.
Sourced from ADR-082 · INC-1147 · #pricing-launch
+ Message #Sasank send

See burnout before it's too late Coming Soon

Team-level signals — review load, on-call density, after-hours work — surfaced as cohort patterns, never as individual surveillance. Praana is designed around team health, not tracking a person's hours.

Slack
#team-health
COHORT ONLY
Praana PROACTIVE
Heads up: cohort signals from your team this week. Team-level only, never individual.
Cohort pattern

Review pressure is clustering around the same delivery lane. No individual names, no surveillance — only team-level work signals.

  • Review load — 4 of 7 above threshold; rising [open]
  • Stalled PRs — 2 over 5 days; blocked [open]
  • After-hours — +38% week-over-week; rising [open]
  • On-call SEV — 3 incidents · 1 weekend; elevated [open]
🎯 Suggested move
  • Cancel the status sync; use 1:1s for triage and protect review focus before the next deploy window.
Synthesized from GitHub · Slack · PagerDuty · cohort-level only
+ Message #team-health send

Know where your team's effort is going Coming Soon

11 customers asked for X. Praana shows whether engineering is doing X — or hasn't, and why — with the threads, RFCs, and PRs as receipts.

Slack
#customer-signals
MAPPED
You
Are we addressing the billing-flexibility asks?
Praana
11 asks on billing flexibility; 10 addressed:
Addressed
  • Stripe Billing — PR #847 closes 8 asks; shipped 2 weeks ago [open]
  • Account merging — PR #851 closes 2 asks; currently in review [open]
Still open
  • Multi-currency invoicing — 3 enterprise customers; last asked Apr 21 [open]
Mapped from customer threads · GitHub · Linear · 11 linked asks
+ Message #customer-signals send
Leaders

Strategy ↔ execution, in real time.

No more polished slides at the All-Hands diverging from the ground truth. Praana reads the repos — and rolls every initiative up to the work actually moving it, by team, by org, by quarter.

Learn more
4 features swipe
More about leaders

Strategy meetings, not status meetings

Walk into staff meetings already aligned on reality — what shipped, what slipped, what is at risk. Spend the hour on the calls where you can drive strategy.

Slack
#leadership-digest
YESTERDAY
Praana PROACTIVE
🌅 Good morning. Weekly leadership briefing · Apr 22 → Apr 28 · 🟢 Strong week
🏆 Wins this week
  • Stripe Billing — closed 8 customer asks [open]
  • Caldera retry semantics — RFC-039 shipped [open]
  • Q2 latency OKR — 62% complete, on track [open]
🎯 Decisions to make
  • RFC-044 multi-region — pending 9 days; needs staff call [open]
  • Customer onboarding — slipping a sprint; decide scope by Friday [open]
At risk
  • Multi-region failover — decision delay now blocks May launch path [open]
+ Message #leadership-digest send

Initiatives ↔ team output, rolled up by quarter

Every initiative threaded to the threads, RFCs, and PRs that move it. Roll-up by team, by org, by quarter. No status decks required.

Slack
#staff-room
AUDITED
You
@Praana where are we on Q2 latency reduction?
Praana
Audit complete · 6 sources
🎯 Q2 latency reduction

62% complete · still on track for May 13.

  • Already shipped — 4 workstreams landed in March [open]
  • PR #1102 — connection pooling, in review 2 days [open]
  • Read-replica routing — rolling out to 30% of traffic [open]
Needs decision
  • RFC-044 failover — pending 9 days; now the critical path [open]
Sourced from #perf-okr · GitHub · RFC-041, RFC-044
+ Message #staff-room send

Every team's decisions, threaded and queryable

Architectural calls with full receipts: which team decided, why, when, with what evidence. Years of org memory, queryable in one ask.

Slack
#eng-platform
AUDITED
You
@Praana RFC-044 multi-region is up for approval. What did we decide the last 3 times multi-region came up?
Praana
Audit complete · 22 sources
📜 Prior decisions

RFC-044 is the 4th multi-region attempt. The first three were deferred for different reasons.

  • ADR-008 — deferred; not enough cross-region traffic [open]
  • ADR-022 — blocked on data residency [open]
  • East-1 retro — committed to revisit this quarter [open]
  • RFC-044 — proposal up for approval today [open]
🎯 Decision needed
  • Approve RFC-044 or explicitly defer multi-region again with a new owner/date.
Sourced from #eng-platform · ADR-008, ADR-022, RFC-044 · East-1 retro
+ Message #eng-platform send

Cross-org drift, caught early

When two orgs solve the same problem in parallel — or pull in opposite directions — Praana surfaces it while the work is still active. Not at the next planning offsite.

Slack
#eng-leadership
DRIFT FLAG
Praana PROACTIVE
Cross-team drift detected. Two teams making contradictory choices on the same primitive.
Drift found
  • Billing — chose Caldera; aligned with ADR-017 [open]
  • Notifications — chose webhook-gateway in PR #1054 [open]
🔥 Why it matters
  • If unaddressed, both teams hit the same SLA wall Caldera was built for.
Suggested owner: platform staff. Decision needed before both teams lock the integration.
+ Message #eng-leadership send
Agents

Give every agent your team's ground truth.

Every modern company is deploying agents — support, sales, coding, internal. They all share one failure mode: they confidently make things up. Praana is the MCP context server for all of them. Same shipped-vs-promised reality, with receipts.

Learn more
4 features swipe
More about agents

Give your coding agents what your engineers already know.

Cursor, Claude Code, and Copilot read every decision and the why behind it. The agent codes with the same context your senior engineers carry in their head.

cursor-agent MCP
You inline webhook-gateway call sites
Thought 2s
Read 3 files, 1 search 1s
praana.history
Calling MCP server ADR-017 · INC-1129 · postmortem · 1.8s
Prior incident · org history
Stop. INC-1129 attempted exactly this and reverted in 4h. ADR-017 replaced webhook-gateway with Caldera; inlining the call sites reintroduces the idempotency gap.
ADR-017 INC-1129 postmortem-2025-10
Agent Use caldera-client from PR #1102 instead. I can adapt the refactor while preserving retry semantics.
You migrate remaining sites to Caldera
claude-sonnet-4 · via Praana MCP · 5 sources cited Plan
/ commands · @ files · ! shell

Walk your AEs into renewals with receipts. Coming Soon

Before the renewal call, your sales agent surfaces every commitment ever made to the account — what shipped against it, what slipped, who owns what's still in flight.

Slack
#renewals-acmeco
RECEIPTS
You
@Praana renewal call with AcmeCo in 12 min. What did we commit to last QBR, and where are we?
Praana
3 commitments from Q1 QBR. 2 shipped, 1 in flight; receipts attached.
Commitments · Q1 QBR
  • SSO via Okta shipped Feb 14 · v2.11
  • Audit log export shipped Mar 28 · v2.16
  • SCIM provisioning in RFC · target Q3 · owner: Sasank · ADR-091
+ Message #renewals-acmeco send

Cited answers for your customer-facing agents. Coming Soon

Every reply from Intercom Fin, Zendesk AI, or Decagon cites the live ticket, PR, and release behind it.

Slack
#cx-tier1
CITED
You
@Praana AcmeCo (Anika) is asking if the pricing tier bug is fixed. Safe to confirm rollout?
Praana
Yes, fixed in v2.18, deployed Apr 22. AcmeCo’s workspace auto-upgraded to v2.19 yesterday; safe to roll out Monday.
Cited · 3 sources
  • INC-1147 root-cause, resolved Apr 19
  • PR #1247 merged Apr 21, deployed Apr 22
  • v2.18 release notes pricing-tier rollover fix
+ Message #cx-tier1 send

One MCP layer. All your agents. Audit included.

Vendor agents and the ones you build on Anthropic SDK, OpenAI SDK, or LangGraph all query the same workspace context. Per-agent rate limits, audit logs, no duplicate retrieval to maintain.

your-agent.ts
MCP TS
// One MCP server. Any framework.
import { Anthropic } from "@anthropic-ai/sdk";
import { connectMcp } from "@praana/mcp";

const praana = await connectMcp({
  url:       "https://acme.praana.app/mcp",
  workspace: "checkout-platform",
  scope:     "read",           // read-only by default
});

// Praana attaches as a tool. Your agent decides when to call it.
const reply = await anthropic.messages.create({
  model: "claude-sonnet-4",
  tools: [...praana.tools],
  messages: [{ role: "user", content: prompt }],
});
works with: Anthropic SDK OpenAI SDK LangGraph Vercel AI SDK + audit log · per-agent rate limits
SOURCES

Read through the systems you already trust.

Praana reads through your existing OAuth scopes — every answer carries a source link back to where the truth lives.

Slack
channels · threads
GitHub
PRs · reviews · issues
Notion
docs · RFCs
Linear
tickets · cycles
Google Meet
transcripts
Zoom
transcripts
Jira
tickets · sprints
Confluence
docs · runbooks
Asana
projects
PagerDuty
incidents

Coming next: Salesforce, Intercom, Sentry, Datadog, Stripe, Figma — and more.

Request a connector
SECURITY

Your data stays where it lives.

Praana is built for engineering orgs that care about permissions, provenance, and deployment shape. We will be precise about what is live today and what is on the near-term roadmap.

TLS

Encrypted in transit

TLS for connector sync, app traffic, and API access. Encryption is table stakes; we treat it that way.

Scoped

Permission-aware access

Praana connects through your existing OAuth scopes and preserves source-system access boundaries in the product.

Private deploy

Private deployment path

Cloud first. For teams with regulatory needs, we will work through private networking or dedicated deployment requirements early.

SOC 2 path

Compliance roadmap

SOC 2 Type II is the target. We can walk through current controls and the roadmap during security review.

The advantage compounds with every cited decision, incident, and customer promise. The longer Praana runs, the sharper your shared memory becomes.

COMING SOON

Bring shared context to your whole company.

We’re rolling Praana out with a small set of teams to start. Get on the list — we’ll reach out personally from admin@getpraana.com.

We read every signup and reply personally.