Demo

See it work

Five things, shown rather than described. Nothing here needs an account, a card, or a call. The first one is running below: let it finish, then decide whether to let it write.

01  Ask

A question, and everything it took to answer it

One question crosses knowledge, a Slack thread, and the CRM. Every step is named, every claim is cited, and the run stops before it changes anything. The Approve and Reject buttons are real: they lead to different places, and nothing moves until you pick one.

Needs your approval
hubspot.update_record

Update 3 HubSpot deals to Closed lost.

Ask Indexbrain anything…

Best

Question: Which deals slipped this quarter, and what did we actually promise them? knowledge.search: Refund policy and escalation owners (3 entries). slack.read_thread: #escalations, Tuesday 14:02 (41 messages). hubspot.query_records: Deals flagged at risk this quarter (7 deals). Answer: Three deals slipped, and two of them for the same reason. Northwind and Baymard both stalled waiting on a security review that was promised for the 12th and never scheduled. Kestrel is different: they were told a refund would be honoured past the 30-day window, which is outside the policy as written. hubspot.update_record needs approval: Update 3 HubSpot deals to Closed lost. Approving writes the change; rejecting writes nothing.

02 · Remember

It keeps what it learns, with the receipts

Facts are extracted from the tools you already use and stored as typed entries, each pointing back at the message, document, or record it came from. When something changes, the old version is superseded rather than quietly overwritten.

  • Scoped to a person, a team, a room, or the whole company, and checked when it is read rather than when it is written
  • A human correction wins permanently, and is never undone by reprocessing
  • Raw source content is purged on a rolling 90-day cycle; what persists is the extracted entry
Knowledge
policyTeam · SupportConfirmed 2 days ago

Refunds above $500 need a second approver. Anything under $500 the support lead can issue directly.

Evidence
  • #leadershipPricing call, 12 Aug
  • Refund policyUpdated 14 Aug
  • Ops syncMeeting notes

Supersedes an earlier $250 threshold from June.

03 · Automate

Work that starts without you

A routine runs on a schedule, or from something happening in a connected app. There are 13 event triggers today, across GitHub, Gmail, Notion, Google Calendar, Google Drive, and Slack, and the catalog deliberately excludes anything we do not actually ingest.

  • Daily at a time, on an interval, or optionally only inside working hours
  • Results delivered to Slack or email, without anyone opening a dashboard
  • Unattended work is held to stricter limits than a person is: it can never reach shell execution, on any plan
Triggers
On a schedule
Prepare a daily briefEvery weekday, 8:00
Review the sales pipelineMondays, 9:00
Prepare a recurring finance reportFirst of the month
On an event
Triage a customer requestFiring now
Review customer healthIssue labelled churn-risk

04 · Everywhere

The same brain, inside the tools you already open

Claude, Cursor, Claude Code, and Codex connect over a remote MCP server with OAuth. ChatGPT connects through the REST API. Slack works in both directions. There is nothing to download and no browser to switch to.

  • One question, one answer, one set of sources, regardless of which tool asked
  • Claude Code and Codex also sync back, so what you work through in the CLI is not lost when the session ends
  • Permissions are enforced on the same path, including for direct API-key calls
Asked in three different tools

“What did we decide about refunds over $500?”

Claude
Cursor
Slack

The same question asked in Claude, Cursor, and Slack returns the same answer, because all three read the same company brain.

One answer, one source. Same knowledge, same permissions, wherever it was asked.

05 · Control

Change a mode, and see what changes

Every action is set independently to always allow, ask every time, or disabled. Try the third one: it does not refuse the call, it removes the action from what the model is offered at all.

  • A plain read defaults to always allow; every write, and nine reads flagged sensitive, default to ask
  • There is no auto-approve mode anywhere in the product, on any plan
  • Every change is written to the audit log
Permissions
gmail.create_draft

Draft an email

write
The run halts and files an approval.

You see the exact content it wants to write before it exists. This is the default for every write action and for the nine reads flagged sensitive.

The honest version

Everything above is a faithful replica of the real product, built from the same components the app is, and scripted so it behaves the same way every time. It is not connected to a live account, because we would rather show you the mechanism than a demo dataset you have no reason to trust. The fastest way past that is the free tier: connect one source and ask it something only your company would know.

Try it on your own company

One source, one question. That is usually enough to tell whether this is different.