> For the complete documentation index, see [llms.txt](https://docs.meetalto.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.meetalto.ai/mcp/recipes/knowledge.md).

# Update knowledge with your assistant

Find an answer gap, save verified knowledge and check that your AI can retrieve it.

Use this workflow when customers keep asking a question your knowledge does not answer well. Start with one topic and verified business facts.

You need a working MCP connection, `knowledge:read` to inspect sources, and `knowledge:write` to save changes. Workspace setup, AI entitlement and source limits still apply. Saving knowledge can affect the answers of live agents once it is processed; knowledge has no separate publish step in this workflow.

## 1. Find the gap and the existing source

> Confirm my workspace, then search its knowledge for the topic I provide. Read related sources and open knowledge gaps. Show what is missing, duplicated or contradictory, with source references. Do not edit anything yet.

Provide the topic and any account context. The assistant can use `search_knowledge`, `list_knowledge_sources`, `get_knowledge_source` and `list_knowledge_gaps`. Ask it to follow pagination when reviewing a whole collection.

**Check:** it has identified the current source, or explained that no matching source was found. A search returning no result does not prove there are no unprocessed or excluded sources.

## 2. Review the proposed answer

> Using only the business facts I supply, propose a concise answer with a clear title. Show whether you will update an existing text source or create a new one. List facts I still need to confirm. Wait for my approval before saving.

Include relevant eligibility, exclusions and a next step. Do not invent prices, guarantees, delivery dates or policies. A fictional draft is useful for writing practice but should not become business knowledge without verification.

Prefer updating the source that owns a fact. Adding another answer while leaving a contradictory website or file unchanged can preserve the conflict. Fix a conflict in its owning source before marking the related gap resolved.

## 3. Save the approved change

Once the title, content and target are correct, approve that specific change. The assistant can use `create_knowledge_text` or `update_knowledge_text`. An update replaces the text source's title and content, so review the full replacement.

> Save the approved answer to the source we identified. Keep unrelated sources unchanged. Tell me which source was saved and its processing state; do not call it ready until processing has completed.

Keep the source and operation references from the result. If the request times out, inspect current state before creating a duplicate. See [results and retries](/mcp/actions.md).

## 4. Check processing and retrieval

Saving queues knowledge processing. Have the assistant read the source and relevant processing jobs using `get_knowledge_source`, `list_knowledge_jobs` or `get_knowledge_job`.

When processing completes, repeat a realistic customer question with `search_knowledge`. Ask for the returned source reference and answer excerpt. This checks retrieval; a sample reply or agent preview is a separate generation step.

**Done looks like:** the intended content is saved, its processing is complete, and the test question retrieves the intended source. If it does not, inspect inclusion, processing errors and wording before saving another copy.

## Files and websites

For a document, have the assistant discover supported formats and size limits with `get_knowledge_upload_options`. The upload flow is: request a private upload with `create_knowledge_upload`, upload the exact bytes using the returned instructions, then call `complete_knowledge_upload`. Creating an upload ticket alone does not ingest a document. Your client also needs a way to perform the file upload; otherwise use [the app's file workflow](/using-meet-alto/knowledge/files.md).

Completion returns source and job references. Read the document source using kind `document`; its `job_id` links to processing status, and the document ingestion job's `source_id` links back to the source. These reads require `knowledge:read`; recovering a receipt does not grant access to source content.

For a lost completion response, retry the **original key and identical input**. Committed completion can be recovered after ticket expiry without ingesting again. If the result remains unresolved, retain the operation ID and contact support. If only the **upload-creation authorization** was lost, request fresh staging with a new key; its old reserved quota still counts. Never use that restart to bypass uncertain completion. See [upload recovery](/api/requests.md#recover-a-knowledge-upload).

For a website, review include and exclude rules before saving or refreshing it. Refreshes respect processing state and cooldowns. `set_knowledge_website_links` can affect every link when no individual link is supplied, so confirm the intended scope. See [website knowledge](/using-meet-alto/knowledge/websites.md).

Private upload tickets and temporary download URLs should stay private. If a job fails, inspect its error. `retry_knowledge_cleanup` is an owner-only cleanup recovery tool, not a way to retry ingestion.

Next: [test an agent against the updated knowledge](/mcp/recipes/agent.md) or [improve answer quality](/using-meet-alto/knowledge/improve-answers.md).
