> ## Documentation Index
> Fetch the complete documentation index at: https://docs.assistable.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Add and test business knowledge

> Create a knowledge base, finish source processing, and assign it to the assistant that needs it.

A knowledge base gives the assistant business information to retrieve while answering questions. Start with a small, accurate source you can test, such as opening hours and service areas.

## Create the knowledge base

1. Open **Knowledge** in the intended subaccount.
2. Click **Create knowledge base**.
3. Enter a name that identifies the business or topic.
4. Create and open the knowledge base.
5. Click **Upload**.
6. Choose **Text**, **FAQ**, **URL**, or **File**.
7. Add the source and wait for processing to complete.

Text is useful for a short policy. FAQ is useful for explicit question-and-answer pairs. URL imports content from a page; confirm the page is reachable and contains the information you expect. File uploads accept the formats listed below, up to 50 MiB (shown as 50 MB in the editor).

An upload acknowledgement is not the same as a ready source. Check the source's status and inspect its processed content if the answer is missing or incomplete.

## Assign it to an assistant

1. Open the assistant in the same subaccount.
2. Open **Knowledge Base**.
3. Find the knowledge base and choose **Add to assistant**.
4. Confirm it appears as **Assigned**.
5. Publish the assistant when you are ready to apply its updated voice configuration.

For voice use, review the knowledge base's voice setting and your account access. Voice knowledge can involve usage charges; see [How Billing Works](/v3/billing-guide). Keep the source and assignment tests separate from billing configuration.

## Test a sourced answer

Ask a question whose answer is present only in the new source. Compare the response with the original material. Then ask a related question that the source does not answer and check that the assistant does not invent a policy.

Repeat in the actual channels you will use, including a voice call if applicable. Retrieval can select relevant passages; it does not insert every source into every response or guarantee identical wording across channels.

## Troubleshooting

* **Pending or processing:** wait for completion before judging the answer.
* **Error:** inspect the source error, correct the input, and upload a replacement source.
* **Source ready but answer missing:** confirm assignment, check processed content, and test a precise question.
* **Wrong answer:** remove conflicting information or replace the outdated source, then retest.

See [how retrieval works](/v3/guides/knowledge/retrieval) and [knowledge optimization](/v3/guides/troubleshooting/knowledge).

## Source types and fields

| Source type | Fields and constraints |
| - | - |
| Text | **Name** and **Content**; both must contain non-whitespace text. Use for short, directly maintained policies. |
| FAQ | **Name**, plus **Question** and **Answer** pairs. Add/remove pairs; at least one complete pair is required. Incomplete pairs are not submitted. |
| FAQ CSV import | Two columns in this order: `question,answer`. The header is optional. Quoted CSV values are supported. Rows missing either value are skipped. Imported rows append to current pairs; a blank Name is filled from the filename. |
| URL | **Name** and a valid page **URL**. A URL source imports that input; do not assume it continuously syncs future website changes or crawls every linked page. |
| File | **Name** and one file. Name defaults to the filename without its extension. The file must have a supported MIME type and be no larger than 50 MiB (52,428,800 bytes). |
| Use Unstructured.io API | File-upload option, on by default. The current file-processing path uses this parser regardless of the stored toggle; switching it off does not select a supported alternate parser. |

Example FAQ CSV:

```csv theme={null}
question,answer
What are your hours?,Monday to Friday from 9 AM to 5 PM.
"Do you serve Northside?","Yes, including Northside and Riverside."
```

## Accepted file formats

| Category | Extensions |
| - | - |
| PDF | `.pdf` |
| Word | `.doc`, `.docx` |
| Excel | `.xls`, `.xlsx` |
| PowerPoint | `.ppt`, `.pptx` |
| Plain text / Markdown | `.txt`, `.md` |
| CSV | `.csv` |
| Images | `.png`, `.jpg`, `.jpeg` |

The browser-reported file type must also match an accepted type. If a correctly named file is rejected, export it in one of these formats instead of only changing its extension. Image/OCR and complex-document extraction still need a content check after processing.

## Source status and management

| Status | Meaning | Next step |
| - | - | - |
| Pending | Source accepted; processing has not completed. | Wait for a terminal status before testing retrieval. |
| Processing | Content extraction and indexing are in progress. | Check again; do not repeatedly upload the same source. |
| Complete | Processing recorded usable data points. | Inspect the extracted data and test an answer. |
| Error | Source processing failed or extracted no content. | Correct the input and upload a replacement; ask support to investigate if valid input repeatedly fails. |

Use the **All**, **Complete**, and **Error** source tabs to filter the list. Open a source’s edit action to rename it or choose **Toggle Data** / **Hide Data** to inspect extracted chunks. Renaming changes the source label, not its content. To update facts, upload a corrected source, confirm completion, and remove the outdated one. **Delete** removes the source from the active collection; check answers again afterward.

At the knowledge-base list, the actions are **Manage sources**, **Move to folder**, **Enable voice** / **Disable voice**, **Copy knowledge base ID**, and **Delete knowledge base**. Voice activation requires the account’s permitted role/features and can change usage charges. Assignment is separate: **Add to assistant** links the base; **Remove from assistant** unlinks it without deleting its sources.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.