Core Concepts
A quick tour of the nouns you'll meet everywhere in Sophic — in the dashboard, the API, and the MCP tools.
Workspace
A workspace is a team's container: its members, billing, integrations, and knowledge all live inside one workspace. Most things in Sophic are workspace-scoped — an API key, a Slack connection, or a document belongs to exactly one workspace.
A user can belong to several workspaces. The web app tracks your active workspace in the sophic-workspace cookie; the API resolves the workspace from the credential instead (a workspace API key is bound to one; a PAT names the workspace via the x-sophic-workspace header).
Members & roles
Each membership has a role, from most to least privileged:
| Role | Can |
|---|---|
owner | Everything, including billing and deleting the workspace |
admin | Manage members, integrations, and settings |
editor | Create and edit documents, review proposals |
viewer | Read documents |
agent-only | A non-human seat for automated/agent access |
Roles also gate role-restricted folders (see below).
Captures
A capture is one piece of raw, unprocessed input — a Slack thread, a GitHub PR discussion, a meeting transcript, an imported file, a note from an agent. Captures land in an immutable buffer: once written they aren't edited or deleted, only marked as processed. Every capture records where it came from (source_kind: slack, github, mcp, waterfall, web_manual, import) and is de-duplicated by content hash.
Captures are the raw material. They are not the documents your team reads — that's the next step.
The librarian sweep
A background librarian sweep periodically scans unprocessed captures and uses an LLM to consolidate them into clean, structured documents — deduping near-identical notes, merging related material, tagging topics, filing into folders, and cross-linking. Each sweep produces a proposal: a batch of suggested operations (create a document, merge two, link them) that a human can review.
Depending on the workspace's ingestion mode, proposals are either auto-applied when confidence is high (smart) or always held for review (always review). Reviewing happens in the dashboard's inbox.
Documents
A document is the synthesized, readable output — the thing search returns and the dashboard renders. Documents come in two kinds:
- Source documents — distilled from captures (a runbook from an incident thread, a decision record from a PR).
- Topic pages — higher-level syntheses that summarize everything Sophic knows about a topic.
Documents carry a title, content, a source, a status, an optional folder_id, an author, timestamps, and a vector embedding used for semantic search. Documents can link to each other (related, supersedes, duplicate_of).
Folders & topics
Folders organize documents into a nestable hierarchy. A folder has a visibility:
workspace— visible to everyone in the workspace (and to the public KB, if enabled).role— restricted to members at or above arequired_role.
Topics are an automatic taxonomy: the sweep clusters related documents under a topic and maintains a topic page for it. A single document can belong to multiple topics without being duplicated.
The v1 REST API and the MCP read tools only ever return workspace-visible content — documents in role-restricted folders are never exposed through a workspace API key.
Search
Search is semantic and operates at the section-chunk level: it embeds your query (Google Gemini, 768-dim) and matches it against document-section vectors with pgvector, returning the most relevant passages plus their heading breadcrumbs. There's also grep for exact-string / regex matching when you know the literal term. See the Search API.
Public knowledge base
A workspace can publish a public, read-only knowledge base — its workspace-visible folders and documents, browsable and searchable by anyone, with an optional custom domain. Role-restricted content never appears in the public KB. It's toggled from workspace settings.
How it fits together
Slack · GitHub · Linear · Google Drive · Granola · MCP · imports
│
▼
┌──────────────┐
│ Captures │ immutable buffer
└──────┬───────┘
│ librarian sweep (LLM)
▼
┌──────────────┐
│ Proposals │ reviewed (smart / always-review)
└──────┬───────┘
▼
┌──────────────┐
│ Documents │ → folders, topics, links
└──────┬───────┘
│
┌─────────────────────┼─────────────────────┐
▼ ▼ ▼
Dashboard REST API MCP (agents)
+ Public KB
Next steps
- Connect an integration — get knowledge flowing in
- Quickstart — query the API in five minutes
- MCP overview — give AI agents access