# A Knowledge Base for AI Agents, Kept Current

> An Elaichi knowledge base for AI agents holds short docs your team owns. Any MCP client searches them by keyword, and owners see searches that found nothing.

**TL;DR** An Elaichi knowledge base holds short text documents that Claude, ChatGPT, Cursor or any MCP client, and the Elaichi Agent, search by keyword. Search uses the elaichi__knowledge__ operations and no embeddings; the owner shares the base at view, use or edit and sees searches that found nothing. Your own AI can draft and test-run the workflow that keeps it current; what a workflow or AI writes waits for a person's review. It comes with Black, at $24 per user per month in US dollars.

## Why a support team needs a knowledge base for AI agents

Emily Carter runs support, and her team gets drifting answers about refunds from Claude and ChatGPT. A knowledge base for AI agents fixes that. One place holds the current rule, a person owns it, and every assistant the team uses searches it.

The drift is easy to see. One assistant quotes a 30-day window from an old email. Someone pastes the policy into a chat, and a week later the policy changes.

In Elaichi, that one place is a knowledge base. MCP (Model Context Protocol) is the standard way an AI assistant calls tools in other apps. Elaichi is one MCP endpoint, `https://api.elaichi.ai/mcp`, so Claude, ChatGPT, Cursor or any MCP client reaches the same base. The Elaichi Agent reaches it too.

## What goes into an Elaichi knowledge base?

An Elaichi knowledge base holds short text documents. Each document has a title, a markdown body of at most 64 KB, optional alternative terms and an optional source link.

One document per rule works well: "Refunds on annual plans", "Refunds after 30 days", "Who approves a refund over $500". The source link points to where the rule was decided. Alternative terms hold the words people search with that the title does not use, such as "money back" or "chargeback".

An organization holds up to 200 knowledge bases, with up to 5,000 documents in each. In the console, open Connect > Knowledge. Knowledge bases come with the Black plan. They also need the organization's switch at Settings > Organization > Workflows, "Workflows and everything they use". A new organization starts with that switch on.

## Who can read and write each base?

A person decides who reaches a base, by sharing it at one of three levels. Knowledge bases have three permissions of their own: `knowledge:create`, `knowledge:share` and `knowledge:manage`.

- Org Owner and Org Admin hold all three.
- Member, Team Admin and People Admin hold create and share.
- Guest, Billing Admin and Auditor hold none.

`knowledge:manage` reaches only bases the person owns or holds edit on.

| Share level | What it allows |
|---|---|
| View | Search the base and read its documents |
| Use | Everything in view, plus write documents |
| Edit | Everything in use, plus rename the base, share it, read its search log and see what uses it |

For Emily, the whole support team gets view. The two leads who keep the policy current get use. Emily keeps edit.

## How does keyword search work without embeddings?

Elaichi knowledge search is [full-text search](https://en.wikipedia.org/wiki/Full-text_search): it looks for the words of the query in the documents. It uses no embeddings. Embeddings are lists of numbers that some systems use to match text by meaning ([word embedding](https://en.wikipedia.org/wiki/Word_embedding)).

Elaichi ranks a match in a title above a match in alternative terms, and those above a match in the body. It matches word forms and prefixes, so "refunded" finds "refund". When too little matches, it falls back to near spellings, so a typo still finds the document.

The trade-off: a search finds a document only when the document holds the searched words in some form. A person who searches "money back" does not find a document that only says "refund". The fix is for an owner to add "money back" as an alternative term. Keep titles literal, and put other words in alternative terms.

## How do Claude, ChatGPT, Cursor and the Agent search it?

Claude, ChatGPT, Cursor or any MCP client reaches a base through Elaichi's own operations, which start with `elaichi__knowledge__`. The Elaichi Agent uses the same operations, from the console's Agent row or from a mention of @Elaichi in Slack.

The operations are:

- `elaichi__knowledge__list`, `elaichi__knowledge__get`, `elaichi__knowledge__create` and `elaichi__knowledge__update` for the bases themselves.
- `elaichi__knowledge__search` to search one base or every base the caller can read.
- `elaichi__knowledge__doc__list`, `elaichi__knowledge__doc__get` and `elaichi__knowledge__doc__upsert` to list, read and write documents.
- `elaichi__knowledge__references` for the workflows that use a base.
- `elaichi__knowledge__missed_searches` for the searches that found nothing.

An operation appears in a client only when all three of these hold:

- The person's role holds `tool:execute` and the operation's own permission.
- The organization has these operations turned on.
- The access the person approved when connecting the client covers it.

Deleting a base or a document is offered only to a grant that allows destructive operations. A grant is the access a person approves when they connect a client. Sharing a base and marking a document reviewed are console-only. A search from an AI client or the Agent returns reviewed and unreviewed documents, and each hit says whether it is trusted.

## What do the searches that found nothing tell the owner?

Every search is logged as its search terms, never as the person's raw question, and kept for 30 days. A base's managers, the people with edit, see the searches that found nothing.

In the console, that list is "Searches that found nothing". Over MCP, it is `elaichi__knowledge__missed_searches`. Say "partial refund" and "prorated" show up there all week. Then the base is missing a document on partial refunds. Emily writes it, or adds those words as alternative terms.

The same managers see a "Used by" tab, which lists the workflows that read or write the base.

## Use your own AI to build and test the workflow that keeps the base current

The team's own AI can write the workflow that keeps a base current, and test it before it goes live. Claude, ChatGPT, Cursor or any MCP client does this through the `elaichi__automation__` operations. The Elaichi Agent builds from the same operation set.

Emily asks Claude for a workflow that runs Mondays at 9:00 AM. A step reads the week's refund exceptions from the help desk. An agent step drafts a summary, and a `knowledge.write` step saves it to the refund base. Claude saves the draft with `elaichi__automation__draft__create`. `elaichi__automation__draft__validate` checks it without saving.

Elaichi does not browse, search or fetch the web for a workflow or the Elaichi Agent. So the base stays current from connected apps and from people.

Next comes a test run: `elaichi__automation__dry_run` over MCP, or "Test run (changes nothing)" in the console's Run now dialog. It runs the latest draft against real data. Tools that only read run for real, as the person who starts the test. Every knowledge write is recorded as what would have been written, and never saved. The same goes for tool calls that write, collection writes and notify steps. A test run costs no run time.

Then Emily clicks Publish. Publishing turns the draft into a numbered version. It also checks that the publisher can write to each base the workflow names. Turn on is a separate step. If a later version goes wrong, Details > Versions > "Restore this version" makes an earlier one live again. The full build loop is in [how Elaichi workflows run](/blog/elaichi-workflows/).

## Why does text from a workflow or an AI wait for review?

A document a workflow writes is saved as untrusted. A document an AI client or the Elaichi Agent writes is saved unreviewed. Its label is "Added through Claude" for any MCP client, whatever the client is, or "Added through the assistant". An AI edit of a reviewed document makes it unreviewed again. Only a person in the console can mark a document reviewed. No AI client, no Agent and no workflow can.

A workflow that summarizes tickets reads text customers wrote. Text from outside can carry instructions that steer a model. OWASP calls this indirect prompt injection ([OWASP LLM01](https://genai.owasp.org/llmrisk/llm01-prompt-injection/)). Without review, one bad ticket could change the refund answer for everyone.

So the rule is simple. A person decides what in the knowledge base is trusted, and what a workflow learns waits for review. A workflow's `knowledge.search` step leaves unreviewed documents out unless it is set to include them. A workflow agent step's automatic lookups use reviewed documents only. Emily reads Monday's draft, fixes a number, and marks it reviewed.

A real run also acts as its owner, with the owner's connections, access and restrictions. If the owner can no longer act, the run fails and the workflow pauses.

## Where does a knowledge base sit next to workflows and dashboards?

Black puts the connectors, workflows, shared tables, dashboards and the knowledge base in one place, under one set of rules. The team brings the AI it already uses. That is Claude, ChatGPT, Cursor or any MCP client at `https://api.elaichi.ai/mcp`, plus the Elaichi Agent in the app and in Slack.

A workflow calls tools from the 650+ connectors, and can write rows to a collection. A dashboard reads that collection, or live data from a connected app. The knowledge base answers the questions. Any of those AIs builds, tests and reads all of it through the same operations. The Agent and workflow agent steps run on the team's own provider keys, such as Anthropic or OpenAI. Both pick from the same list of models.

The same restrictions apply to a connected-tool call whether it starts in Claude, in the Agent or in a workflow step. The same audit log records it, and a person answers every approval. The bill is seats plus one usage allowance for the whole workspace.

## What do the audit log and search log record for a knowledge base?

Elaichi keeps an audit log, a running record of who did what and from where. Every member can read their own events, and a role with `audit:view` reads the whole organization's.

Each document write records the base, the document, its version and the surface it came from, never the text. That holds for writes from the console, an AI client or the Agent. A workflow's write, a delete and a review are recorded too. A search writes no knowledge entry of its own. A search from an AI client or the Agent is still recorded as an Elaichi operation. Each workflow run also lists every step's status, timings and error in its Runs tab, for 30 days.

The search log is separate, and feeds the missed searches. Elaichi keeps 90 days of audit history. For longer, export to your own Datadog comes with the Black plan.

## What does a knowledge base cost on Black?

A knowledge base costs the Black seat price. Black lists at $24 per user per month, or $18 per user per month billed yearly ($216 a year). These are US-dollar list prices. See [Elaichi pricing](/pricing/) for your own. You pay per user, never for the AI apps working for them.

Black also bills usage beyond a free monthly allowance, pooled across the workspace:

| Meter | Free each month | Past the allowance |
|---|---|---|
| Run time | 1,000 run minutes | $0.02 a run minute |
| Collection storage | 1 GB-month | $5 a GB-month |

Knowledge bases do not count toward the storage meter, which counts only collections. A workflow that keeps a base current uses run minutes. Only working time counts, and test runs cost nothing.

Every new workspace starts with a 14-day free trial, and the trial is the Black plan itself. Every Black feature is on during it, including workflows, collections, dashboards, knowledge bases and the Elaichi Agent. No card is needed to start. The trial has one limit: the free monthly usage of 1,000 run minutes and 1 GB is a hard stop until you buy Black. When the trial ends without a plan, the workspace moves to the free Personal plan, and nothing is deleted. [Start the trial](https://app.elaichi.ai/signup) to build a base and its workflow.

## When you may not need an Elaichi knowledge base

You may not need one if your policies already live in a wiki your team keeps current. Connect that app instead. Elaichi's [Notion connector](/connectors/notion/) is one example, and [connecting Notion without its private pages](/blog/connect-notion-to-claude-without-private-pages/) shows how to scope it.

You also do not need one if your questions depend on meaning across long documents. Elaichi knowledge search is keyword search over documents of at most 64 KB. A system built on embeddings does that job better.

And if your team is on Gold, knowledge bases are not part of it. They come with Black.

For the rest of the plan, start with [what Elaichi Black includes](/blog/elaichi-black-plan/). [Collections and dashboards](/blog/elaichi-collections-and-dashboards/) cover the shared tables beside a base, and [the connector catalog](/connectors/) lists the apps a workflow can read from.

## FAQ

### Does Elaichi knowledge search use embeddings or vector search?

No. Elaichi knowledge search is full-text keyword search with no embeddings. It ranks matches in a document title above matches in its alternative terms, and those above matches in the body. It matches word forms and prefixes. When too little matches, it falls back to near spellings. A word that appears nowhere in a document does not find it. So owners add the words people actually search with as alternative terms.

### Can Claude or ChatGPT search an Elaichi knowledge base?

Yes. Claude, ChatGPT, Cursor or any MCP client connected to https://api.elaichi.ai/mcp searches a base with elaichi__knowledge__search. It reads documents with elaichi__knowledge__doc__get. The Elaichi Agent uses the same operations in the console and in Slack. Each person reaches only the bases shared with them. A search that names no base searches every base that person can read.

### Who can edit an Elaichi knowledge base?

An Elaichi knowledge base is shared at one of three levels. View lets a person search and read it. Use adds writing documents. Edit adds renaming the base, sharing it, and reading its search log and the list of workflows that use it. Sharing is done in the console only. Org Owner and Org Admin hold all three knowledge permissions. Member, Team Admin and People Admin can create and share bases.

### Can a workflow write to an Elaichi knowledge base?

Yes. A workflow writes with a knowledge.write step. Publishing the workflow checks that its publisher can write to that base. Every document a workflow writes is saved as untrusted. A document an AI client or the Elaichi Agent writes is saved unreviewed. Only a person in the Elaichi console can mark a document reviewed. No AI client, no Agent and no workflow can mark it.

### What does an Elaichi knowledge base cost?

Knowledge bases come with the Elaichi Black plan. Black lists at $24 per user per month in US dollars, or $18 per user per month billed yearly. A workflow that keeps a base current uses run minutes. Black includes 1,000 run minutes a month for the whole workspace. Past that, usage bills at $0.02 a minute. Knowledge bases do not count toward the storage meter. Every new workspace starts with a 14-day trial of Black itself, with every feature on and no card needed. See elaichi.ai/pricing for your own price.

## Read next

- [Elaichi Black: Workflows, Dashboards and the Agent](/blog/elaichi-black-plan/) — Elaichi Black puts connectors, workflows, dashboards and AI in one place, under one set of rules. Your own AI does the building. Here is what it adds and costs.
- [Shared Tables and Live Dashboards for Your AI](/blog/elaichi-collections-and-dashboards/) — Shared tables and live dashboards on Elaichi Black. A workflow writes the rows, your AI reads them, and leadership sees one published dashboard.
- [Zendesk for support agents, minus bulk deletes](/blog/support-team-claude-zendesk-tickets/) — Zendesk for support agents in Claude: let them read and update tickets, block deletes and bulk sends, and give the lead one exception.
