> For the complete documentation index, see [llms.txt](https://notara.gitbook.io/notara-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://notara.gitbook.io/notara-docs/readme.md).

# Overview

Welcome to Notara — the AI team assistant that brings governed context, tools, and agents to your team.

## What is Notara?

Notara is a multi-tenant AI team assistant built for teams that want a reliable, governed AI layer across their work. Unlike raw LLM interfaces, Notara gives your team a shared AI brain: it knows your company context, has access to your tools, and enforces the same permission rules whether the request comes from Slack, the web dashboard, or an external coding agent.

The core idea is simple: you build the knowledge base and tool setup once, then your whole team consumes it from anywhere — in Slack conversations, through the web dashboard, or via an MCP endpoint connected to tools like Claude Code or Cursor.

## Three Surfaces

### 1. Slack Agent

Install the Notara Slack app and invite it to any channel. Team members can tag it or send it a direct message. The agent responds with access to your configured tools and context — it can search your libraries, look up Linear issues, query Stripe, run research with Perplexity, and much more.

### 2. Web Dashboard (`app.notara.ai`)

The control plane. Everything about how Notara behaves is configured here: which context documents are loaded, which tools are connected, what permissions apply, who's on the team, and how billing is managed. The dashboard is where you build the substrate that every surface consumes.

### 3. MCP Endpoint

A Model Context Protocol server scoped to your workspace and group. Connect Claude Code, Cursor, or any MCP-compatible agent and they immediately gain access to your governed tools — the same capability, permission, and audit chain that governs Slack also governs every external caller. The endpoint URL looks like `/mcp/g/<workspace>/<group>`.

## Key Features

| Feature               | Description                                                                                                                                   |
| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| **Context Libraries** | Organize documents into collections. Spine docs are always injected; on-demand docs are retrieved via RAG; private docs are never exposed.    |
| **Skills**            | Prompt fragments with scoped tools and bound context. 48 platform skills included; fork and customize for your team.                          |
| **Connectors**        | 15+ integrations: Slack, GitHub, Linear, Stripe, Perplexity, Firecrawl, Email, Replicate, ChartMogul, and more.                               |
| **Automations**       | Scheduled cron tasks that run the agent automatically. Plus incoming webhooks for real-time triggers.                                         |
| **Tool Permissions**  | Four-layer permission system: capability defaults, tenant overrides, per-channel overrides, and active skill. Approval flows for write tools. |
| **Groups**            | Sub-teams that scope context, skills, and MCP endpoints independently.                                                                        |
| **BYOK**              | Bring your own LLM API key (Anthropic, OpenAI, Gemini, Kimi, GLM, DeepSeek). Full cost transparency.                                          |
| **Audit Log**         | Every tool call is logged with actor, action, outcome, and timestamp.                                                                         |

## How It Works (Slack Flow)

1. A team member sends a message in a configured Slack channel (or DM).
2. Notara receives the Slack event, verifies the signature, and enqueues it via BullMQ.
3. The tenant context is loaded: context libraries, channel config, active skills, tool permissions.
4. MCP servers are instantiated with your decrypted credentials for each connected tool.
5. The Claude agent (using your BYOK key) processes the request with the full tool and context set.
6. Tool calls are permission-checked, executed, and audited in real time.
7. The response is posted back to the Slack thread. Message history is persisted for continuity.

## Quick Start

1. [**Sign up & Onboarding**](/notara-docs/getting-started/onboarding.md) — create your account, add your BYOK key, and subscribe.
2. [**Connect Slack**](/notara-docs/getting-started/slack-setup.md) — install the Slack app and authorize your workspace.
3. [**Invite to a Channel**](/notara-docs/getting-started/channels.md) — configure the first channel and start chatting.
4. [**Connect Your First Tool**](/notara-docs/connectors.md) — add Linear, GitHub, Stripe, or any other connector.

## Resources

* Dashboard: [app.notara.ai](https://app.notara.ai)
* Docs: [docs.notara.ai](https://docs.notara.ai)
* Support: <support@notara.ai>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://notara.gitbook.io/notara-docs/readme.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
